デフォルトのロールとフィルターを更新する 非推奨

PUT /groups/{groupId}/apps/{appId}/services/{serviceId}/default_rule

データソースのデフォルトのロールとフィルターを変更します。

path パラメータ

application/ JSON

body 必須

更新されたデフォルト ルール構成オブジェクト。

  • _id string 必須

    デフォルト ルールのユニークな ObjectId 識別子。

  • 役割 array[オブジェクト]

    デフォルトのユーザーロールの順序付き一覧。

    ロール属性を非表示にする ロール属性の表示 オブジェクト
    • _id string

      ロールの一意の ObjectId 識別子。

    • document_filters オブジェクト
      document_filters 属性を非表示 document_filters 属性の表示 オブジェクト
      • 読み取り

        次の 1 つ:

        ロールがドキュメントを読み取ることができる場合に true と評価されるルール式。

        ロールがドキュメントを読み取ることができる場合に true と評価されるルール式。

      • 書込み (write)

        次の 1 つ:

        ロールがドキュメントに書込み (write) できる場合に true と評価されるルール式。

        ロールがドキュメントに書込み (write) できる場合に true と評価されるルール式。

    • name string

      ロールの名前。

    • apply_when

      次の 1 つ:

      このロールが特定のドキュメントのユーザーに適用される場合に true と評価されるルール式。

      このロールが特定のドキュメントのユーザーに適用される場合に true と評価されるルール式。

    • 読み取り

      次の 1 つ:

      ロールがドキュメント内のすべてのフィールドを読み取る権限を持つ場合に true と評価されるルール式。 Device Sync が有効になっている場合は、代わりに document_filters.read を使用します。

      ロールがドキュメント内のすべてのフィールドを読み取る権限を持つ場合に true と評価されるルール式。 Device Sync が有効になっている場合は、代わりに document_filters.read を使用します。

    • 書込み (write)

      次の 1 つ:

      ドキュメント内のすべてのフィールドを追加、変更、または削除する権限がある場合、true と評価されるルール式。 Device Sync が有効になっている場合は、代わりに document_filters.write を使用します。

      ドキュメント内のすべてのフィールドを追加、変更、または削除する権限がある場合、true と評価されるルール式。 Device Sync が有効になっている場合は、代わりに document_filters.write を使用します。

    • insert

      次の 1 つ:

      ロールに新しいドキュメントをコレクションに挿入する権限がある場合、true と評価されるルール式。

      ロールに新しいドキュメントをコレクションに挿入する権限がある場合、true と評価されるルール式。

    • 削除

      次の 1 つ:

      ロールにコレクションからドキュメントを削除する権限がある場合、true と評価されるルール式。

      ロールにコレクションからドキュメントを削除する権限がある場合、true と評価されるルール式。

    • フィールド オブジェクト

      ロールの properties で明示的に設定されていないフィールドのフィールドレベルのルール。

    • additional_fields オブジェクト

      ロールの properties で明示的に設定されていないフィールドのフィールドレベルのルール。

      additional_fields 属性を非表示にする additional_fields 属性を表示 オブジェクト
      • 読み取り

        次の 1 つ:

        ロールがフィールドの値を読み取ることができる場合に true と評価されるルール式。

        ロールがフィールドの値を読み取ることができる場合に true と評価されるルール式。

      • 書込み (write)

        次の 1 つ:

        ロールがフィールドの値を書き込むことができる場合に true と評価されるルール式。

        ロールがフィールドの値を書き込むことができる場合に true と評価されるルール式。

  • フィルター array[オブジェクト]

    デフォルトのクエリフィルターの一覧。

    フィルター属性を非表示 フィルター属性の表示 オブジェクト
    • _id string

      フィルターの一意の ObjectId 識別子。

    • name string

      フィルターの名前。

    • apply_when

      次の 1 つ:

      フィルターが受信クエリに適用される場合に true と評価されるルール式。

      フィルターが受信クエリに適用される場合に true と評価されるルール式。

    • クエリ オブジェクト

      操作が実行される前に受信クエリにマージされるMongoDBクエリオブジェクト。

    • プロジェクション オブジェクト

      操作が実行される前に受信クエリにマージされるMongoDBプロジェクションオブジェクト。

      プロジェクション属性を非表示 プロジェクション属性の表示 オブジェクト
      • * 数値 additionalProperties

        値は 0 または 1 です。

応答

  • 204

    デフォルト ルールが正常に変更されました。

  • 400 application/ JSON

    無効なリクエスト

    応答属性を非表示 応答属性の表示 オブジェクト
    • エラー string

      値は default rule does not exist または service default rule id mismatch です。

PUT /groups/{groupId}/apps/{appId}/services/{serviceId}/default_rule
curl \
 --request PUT 'https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/services/{serviceId}/default_rule' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --data '{
  "_id": "string",
  "roles": [
    {
      "_id": "string",
      "document_filters": {},
      "name": "string",
      "fields": {},
      "additional_fields": {}
    }
  ],
  "filters": [
    {
      "_id": "string",
      "name": "string",
      "query": {},
      "projection": {
        "additionalProperty1": 0,
        "additionalProperty2": 0
      }
    }
  ]
}'
リクエスト例
{
  "_id": "string",
  "roles": [
    {
      "_id": "string",
      "document_filters": {},
      "name": "string",
      "fields": {},
      "additional_fields": {}
    }
  ],
  "filters": [
    {
      "_id": "string",
      "name": "string",
      "query": {},
      "projection": {
        "additionalProperty1": 0,
        "additionalProperty2": 0
      }
    }
  ]
}
応答の例(400)
{
  "error": "default rule does not exist"
}