MongoDB.local SF, Jan 15: See the speaker lineup & ship your AI vision faster. Use WEB50 to save 50%
Find out more >
Docs Menu
Docs Home
/ /

カスタムデータベースロールの設定

組み込みロールに必要な権限セットが含まれていない場合は、Atlas でカスタムロールを作成できます。 Atlas は、各データベース ユーザーのカスタムロールを次の内容とともに適用します。

  • データベースユーザーを 追加 するとき、またはデータベースユーザーを変更 するときに割り当てる、任意の 組み込みロール 。

  • データベースユーザーを追加する、または変更するときに割り当てる特定の権限

各データベース ユーザーに複数のカスタムロールを割り当てることができます。

注意

無料クラスターおよび Flex クラスターの制限事項

カスタムロールへの変更は、M0無料クラスターおよび Flex クラスターに配置されるまでに最大30秒かかる場合があります。

権限アクションカスタムロールで使用可能)とカスタムロールAPIは、組み込みロールで使用可能な権限アクションのサブセットを表します。

カスタムロール権限のリストを確認するには、API リファレンスを参照してください。

重要

Atlas クラスターでデータベース ロールを追加、変更、または削除するには、Atlas CLIAtlas Administration API、Atlas UI、またはサポートされている 統合 を使用する必要があります。そうでない場合、Atlas はすべてのロールの修正をロールバックします。

  • 1 人のデータベースユーザーに最大 20 のカスタムロールを割り当てることができます

  • デフォルトでプロジェクトごとに最大 100 のカスタムロールを作成できます。重要: プロジェクトごとに追加のカスタムロールが必要な場合は、Set One Project Limit エンドポイントを使用して Atlas APIを通じてカスタムロールの数を最大 1400 まで増やすことができます。

  • Atlas は、プロジェクトの アクティビティ フィード 内のカスタム MongoDB ロールの作成、削除、更新を監査します。

  • ユーザーに複数のロールを割り当て、それらのロールがオブジェクトに対して競合する権限を付与する場合、Atlas はロール内で最も高い権限を尊重します。

    以下に例を挙げます。

    2 つのカスタムロールを作成し、両方をユーザー A に割り当てます。

    • 最初のカスタムロールは、データベースに対する read 権限のみを付与します。また、データベースに bypassDocumentValidation も付与します。

    • 2 番目のロールは、データベースに対する dbAdmin 権限を付与します。バイパス権限の暗黙的な拒否である bypassDocumentValidation は付与されません。

    dbAdmin のほうがデータベース アクセス権限が高いため、ユーザー A はデータベースに対するすべての dbAdmin 権限を持ちます。bypassDocumentValidation はより上位のバイパス権限であるため、ユーザー A にも bypassDocumentValidation が付与されます。

カスタムデータベースロールを構成するには、Atlas に対する Organization OwnerProject Owner、または Project Database Access Admin としてのアクセス権が必要です。

Atlas CLI を使用してプロジェクトのカスタム データベース ロールを作成するには、以下のコマンドを実行します。

atlas customDbRoles create <roleName> [options]

コマンド構文とパラメータについて詳しくは、Atlas CLI ドキュメントで atlas customDbRoles create をご覧ください。

Atlas Administration API でカスタムロールを作成するには、「Create One」を参照してください。

Atlas UI でカスタムロールを作成するには、次の手順を行います。

1
  1. まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。

  2. まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。

  3. サイドバーで、 Security見出しの下のDatabase & Network Accessをクリックします。

[ データベースとネットワーク アクセス ] ページが表示されます。

2
  1. [Custom Roles] タブをクリックします。

  2. Add New Custom Role をクリックします。

3
フィールド
説明

Custom Role Name

カスタムロール名。

重要: 指定されたロール名には、文字、数字、アンダーバーまたはハイフンのみを含めることができます。また、次のいずれかの条件を満たすロール名は指定できません。

  • プロジェクト内の既存のカスタムロールで既に使用されている名前

  • 組み込みロールの名前です

  • とは atlasAdmin

  • で始まる xgen-

Action or Role

ロールによって付与される権限。利用可能な権限アクションロールを一覧表示するには、ドロップダウンをクリックします。

Atlas はアクションとロールを次のカテゴリに分類します。

  • Collection Actions,

  • Database Actions and Roles,

  • Global Actions and Roles,

  • Custom Roles (if any)

1 つのカテゴリからアクションまたはロールを選択します。アクションまたはロールを選択すると、Atlas により、次の例外を除いたカテゴリが無効になります。Global Actions and Roles からアクションまたはロールを選択した場合でも、Custom Roles からもアクションやロールを選択できます。

別カテゴリのアクションとロールを付与するには、[Add an action or role] をクリックして新しい行を追加します。

Atlas は、プロジェクト内のどのクラスター バージョンでも使用できないアクションを無効にします。カスタムロールはプロジェクト レベルで定義され、プロジェクトのクラスターで使用される各 MongoDB バージョンと互換性がある必要があります。

Database

選択したアクションとロールが付与されるデータベース(該当する場合)。

データベースを指定するには、データベース名を入力するか、Apply to any database を選択します。

警告: Apply to any databaseを選択した場合、ロールは adminlocalconfig__mdb_internal_ データベースでのアクション権限を付与します。これらのデータベースへの書き込みは推奨されていません。詳細については、内部データベースコレクション を参照してください。

このフィールドは、Collection Actions および Database Actions and Roles カテゴリのすべてのロールとアクションに必須です。

Collection

指定のデータベース内で、アクションとロールが付与されるコレクション(該当する場合)。

コレクションを指定するには、コレクション名を入力するか、Apply to any collection を選択します。

警告: Apply to any collectionを選択した場合、ロールはadminlocal、およびconfigデータベース内のコレクションに対するアクションの権限を付与します。これらのコレクションへの書き込みは推奨されません

このフィールドは、Collection Actions のすべてのロールとアクションに必須です。

複数のデータベースとコレクションに同じ権限セットを付与するには、[Add a database or collection] をクリックします。

4

Atlas CLI を使用してプロジェクトのすべてのカスタム データベース ロールを一覧表示するには、次のコマンドを実行します。

atlas customDbRoles list [options]

Atlas CLI を使用して指定したプロジェクト内の単一のカスタム データベース ロールの詳細を返すには、次のコマンドを実行します。

atlas customDbRoles describe <roleName> [options]

前のコマンドの構文とパラメータの詳細については、Atlas CLI ドキュメントの atlas customDbRoles list および atlas customDbRoles describe. を参照してください。

Tip

参照: 関連リンク

Atlas Administration API でカスタムロールを表示するには、「Get All」を参照してください。

Atlas UI でカスタムロールを表示する方法は次の通りです。

1
  1. まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。

  2. まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。

  3. サイドバーで、 Security見出しの下のDatabase & Network Accessをクリックします。

[ データベースとネットワーク アクセス ] ページが表示されます。

2

Atlas CLI を使用してプロジェクトのカスタム データベース ロールをアップデートするには、次のコマンドを実行します。

atlas customDbRoles update <roleName> [options]

コマンドの構文とパラメータについて詳しくは、Atlas CLI ドキュメントで atlas customDbRoles update をご覧ください。

Atlas Administration API でカスタムロールを変更するには、「Update One」を参照してください。

Atlas UI でカスタムロールを変更するには、次の手順を行います。

1
  1. まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。

  2. まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。

  3. サイドバーで、 Security見出しの下のDatabase & Network Accessをクリックします。

[ データベースとネットワーク アクセス ] ページが表示されます。

2
  1. [Custom Roles] タブをクリックします。

  2. 変更するロールの隣にある [ Edit ] をクリックします。変更できるロールのコンポーネントは次の通りです。

    • カスタムロールに継承されるアクションまたはロール。

    • それらの権限が適用されるデータベースとコレクション。

  3. [Update Custom Role] をクリックして、変更を保存します。

Atlas CLI を使用してプロジェクトからカスタム データベース ロールを削除するには、次のコマンドを実行します。

atlas customDbRoles delete <roleName> [options]

コマンド構文とパラメータについて詳しくは、Atlas CLI ドキュメントで atlas customDbRoles create をご覧ください。

Atlas Administration API でカスタムロールを削除するには、「Remove One」を参照してください。

Atlas UI でカスタムロールを削除するには、次の手順を行います。

1
  1. まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。

  2. まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。

  3. サイドバーで、 Security見出しの下のDatabase & Network Accessをクリックします。

[ データベースとネットワーク アクセス ] ページが表示されます。

2
  1. [Custom Roles] タブをクリックします。

  2. 変更するロールの隣にある [ Delete] をクリックします。

  3. 削除を確認するには、ダイアログ ボックスで Delete をクリックします。

次のシナリオではカスタムロールを削除できません。

  • ロールを削除すると、親ロールまたはアクションのない 1 つ以上の子ロールが残ります。

  • ロールを削除すると、ロールを持たない 1 人以上の データベース ユーザー が残ります。

データベース ユーザーを追加するとき、または データベース ユーザーを変更するときに、Atlas UI でカスタムロールを割り当てることができます。Atlas 管理 API を通じてカスタムロールを割り当てるには、「データベース ユーザーの作成」または「データベース ユーザーの更新」を参照してください。

戻る

組み込みロール

項目一覧