Docs Menu
Docs Home
/
MongoDB Ops Manager
/ / /

カスタムロールの管理

項目一覧

  • Considerations
  • 前提条件
  • カスタム MongoDB ロールの作成
  • カスタムロールを編集する
  • ロールの特権を表示
  • カスタムロールを削除する

ロールはユーザーに MongoDB リソースへのアクセスを許可します。 デフォルトでは、MongoDB はいくつかの組み込みロール を提供していますが、これらのロールで目的の権限セットを記述できない場合は、カスタムロールを作成できます。

ロールを作成するときは、それを適用するデータベースを指定します。 MongoDB Ops Manager は MongoDB Ops Manager プロジェクト内のすべての MongoDB インスタンスにカスタムロールを保存しますが、データベース名とロール名の組み合わせによってロールを一意に識別します。 という名前のデータベースが MongoDB Ops Manager プロジェクト内の複数の配置に存在する場合、ロールはそれらの各データベースに適用されます。 adminデータベースにロールを作成すると、そのロールは配置内のすべてのadminデータベースに適用されます。

ロールは、特定のリソースに対する特定のアクションへのアクセスを許可する特権で構成されています。 ほとんどのデータベースでは、リソースはデータベースまたはコレクションですが、 adminデータベースでは、リソースはすべてのデータベース、データベース全体の特定の名前のすべてのコレクション、またはすべての配置にすることができます。

ロールはデータベース内の他のロールから特権を継承することができます。 adminデータベースのロールは、他のデータベースのロールから特権を継承することができます。

MongoDBロールはMongoDB Ops Manager ロールとは別です。

プロジェクトで管理することを選択したユーザーまたはロールは、{0 の値が MongoDB Ops Managerに設定され、プロジェクト内のすべての配置に同期されます。SyncedYes

MongoDB Ops Managerプロジェクトで管理することを選択しないユーザーまたはロールは、Synced 値が No に設定され、それぞれのMongoDB配置にのみ存在します。

注意

インポート後にSyncedOFFに切り替えると、作成したユーザーまたはロールがすべて削除されます。

プロジェクトで一貫したユーザーとロールのセットを強制すると、 MongoDB Ops Managerはこれらのユーザーとロールをそのプロジェクト内のすべての配置で同期します。 Enforce Consistent Setを切り替えて、ユーザーとロールの 1 セットを管理するかどうかを選択します。

管理対象のプロジェクトでは、 MongoDB Ops Managerはすべてのユーザーとロールにすべての配置へのアクセスを許可します。 MongoDB Ops Manager プロジェクトが管理するすべての配置には、MongoDB ユーザーとロールのセットが同じです。

MongoDB Ops Manager は、 SyncedYesに設定するユーザーとロールへのアクセスを制限します。 MongoDB Ops Manager は、MongoDB Ops Manager プロジェクトが管理していないすべてのユーザーとロールをプロジェクト内の配置から削除します。

MongoDB Ops Managerは、管理対象のプロジェクトで、各配置で独自のMongoDBユーザーとロールのセットを使用できるようにします。 MongoDB Ops Manager では、これらの MongoDB ユーザーとロールを管理する必要はありません。 これらのユーザーとロールを管理するには、MongoDB 配置に直接接続する必要があります。

MongoDB Ops Manager では、 SyncedYesに設定する管理対象の MongoDB ユーザーとロールに、すべての管理対象配置へのアクセス権が付与されます。

MongoDB Ops Manager では、管理されていない MongoDB ユーザーとロール( SyncedNoに設定)のアクセスを、それらのユーザーの と ロールの特定の配置で制限します。

注意

Enforce Consistent Set デフォルトは NO です。

MongoDB 配置のインポートがユーザーとロールの管理に影響する方法については、「インポート時のオートメーションと更新されたセキュリティ設定 」を参照してください。

ロールを適用するには、MongoDB アクセス制御を有効にする必要があります。 アクセス制御を有効にする前または後にロールを作成できGoが、アクセス制御を有効にするまでこれらは有効になりません。

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

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

  3. まだ表示されていない場合は、サイドバーの [Deployment] をクリックします。

  1. [Security] タブをクリックします。

  2. [MongoDB Roles] をクリックします。

2
3

ロールは、そのロールが定義されているデータベースに適用され、コレクション レベルへのアクセス権を付与できます。 ロール名とそのデータベースの組み合わせによって、そのロールは一意に識別されます。 使用する認証方法と認可方法を満たすために、 Identifierフィールドを入力します。

  • LDAP 認証も認可も使用しない場合は、 database Identifierフィールドにデータベース名を入力し、 name Identifierフィールドにロールに必要な名前を入力します。

  • LDAP 認証を使用するが LDAP 認可を使用しない場合は、 database Identifierフィールドに$externalと入力し、 name Identifierフィールドにロールの名前を入力します。

  • LDAP 認可で任意の認証方法を使用する場合は、 database Identifierフィールドにadminと入力し、 name Identifierフィールドに LDAP グループ DN を入力します。

    LDAP サーバーに、識別名がCN=DBA,CN=Users,DC=example,DC=comの LDAP グループを作成しました。 この LDAP グループにリンクされた MongoDB Ops Manager で DBAadmin ロールを作成する場合は、databaseIdentifier フィールドにCN=DBA,CN=Users,DC=example,DC=com と入力し、nameIdentifier フィールドに と入力します。

4

特権を付与するには、次の 2 つの方法があります。

1 つ以上の既存のロールのすべての特権を新しいロールに付与するには、 Inherits Fromフィールドでロールを選択します。 フィールドには、 MongoDB の組み込みロールとすでに作成したカスタムロールの両方が含まれるドロップダウン リストが表示されます。

ロールに特定の権限を付与するには、[ ADD PRIVILEGES FOR A RESOURCE ] をクリックします。

Resourceフィールドで、ロールを適用するリソースを指定します。 ドロップダウン メニューから データベースを選択します。 データベース全体を指定するには、 フィールドを空白のままにします。 コレクションを指定するには、コレクション名を入力します。 リソースがadminデータベースにある場合は、 ADMINをクリックして、 adminデータベースの外部でロールを適用できます。

Available Privilegesセクションで、適用するアクションを選択します。 各アクションの説明については、MongoDB マニュアルの「特権アクション」を参照してください。

5
6
7
8

そうでない場合は、 Cancelをクリックすると、追加の変更を行うことができます。

カスタムロールの権限を変更することができます。 その名前またはデータベースは変更できません。

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

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

  3. まだ表示されていない場合は、サイドバーの [Deployment] をクリックします。

  1. [Security] タブをクリックします。

  2. [MongoDB Roles] をクリックします。

2
3

特権を付与するには、次の 2 つの方法があります。

1 つ以上の既存のロールのすべての特権を新しいロールに付与するには、 Inherits Fromフィールドでロールを選択します。 フィールドには、 MongoDB の組み込みロールとすでに作成したカスタムロールの両方が含まれるドロップダウン リストが表示されます。

ロールに特定の権限を付与するには、[ ADD PRIVILEGES FOR A RESOURCE ] をクリックします。

Resourceフィールドで、ロールを適用するリソースを指定します。 ドロップダウン メニューから データベースを選択します。 データベース全体を指定するには、 フィールドを空白のままにします。 コレクションを指定するには、コレクション名を入力します。 リソースがadminデータベースにある場合は、 ADMINをクリックして、 adminデータベースの外部でロールを適用できます。

Available Privilegesセクションで、適用するアクションを選択します。 各アクションの説明については、MongoDB マニュアルの「特権アクション」を参照してください。

継承されたロールを削除するには、ロールの横にある [ x ] をクリックします。 特権を削除するには、特権の横にあるゴミ箱アイコンをクリックします。

4
5
6

そうでない場合は、 Cancelをクリックすると、追加の変更を行うことができます。

ロールの権限を表示するには、 Deploymentをクリックし、次にSecurityタブをクリックし、次にRolesをクリックし、次にロールの横にあるview privilegesをクリックします。

各特権は、リソースを特権アクションのセットと組み合わせます。 すべてのロールにはデータベースが割り当てられます。 各組み込みロールは、 adminデータベースまたはすべてのデータベースのいずれかに割り当てられます。

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

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

  3. まだ表示されていない場合は、サイドバーの [Deployment] をクリックします。

  1. [Security] タブをクリックします。

  2. [MongoDB Roles] をクリックします。

2
3
4
5

注意

Enforce Consistent SetYesに設定されている場合、管理対象の MongoDB プロセスからカスタムロールも削除されます。 Enforce Consistent SetNoに設定されている場合は、 dropRoleコマンドを使用してロールを手動で削除する必要があります。

戻る

MongoDB ユーザーの管理