Docs Menu
Docs Home
/
MongoDBマニュアル
/ /

自己管理型配置におけるロールベースのアクセス制御

項目一覧

  • アクセス制御の有効化
  • ロール
  • ユーザーとロール
  • 組み込みロールとユーザー定義ロール
  • LDAP 承認

MongoDB は、RBAC(Role-Based Access Control、ロールベースのアクセス制御)を使用して、MongoDB システムへのアクセス権を管理します。 ユーザーには、データベースリソースと操作へのユーザーのアクセス権を決定する 1 つ以上のロールが付与されます。 割り当てられたロール以外では、ユーザーはシステムにアクセスできません。

MongoDB のアクセス制御は、デフォルトでは有効になりません。 認証を有効にするには、 --authまたはsecurity.authorization設定を使用します。 内部認証を有効にすると、クライアントの認可も有効になります。

アクセス制御を有効にすると、ユーザーは自分自身を認証する必要があります。

ロールは、リソースに対して指定されたアクションを実行する権限を付与します。各権限は、ロール内で明示的に指定されるか、別のロールから継承されるか、またはその両方です。

ロールは権限を制限しません。ユーザーに 2 つのロールがある場合は、アクセス権の幅が広いロールが優先されます。

たとえば、すでに readWriteAnyDatabase ロールを持つユーザーにデータベースの read ロールを付与した場合、read の付与によってデータベースへの書込み (write) アクセス権が取り消されることはありません

ユーザーからロールを取り消すには、revokeRolesFromUser コマンドを使用します。

ロールによりユーザーに認証制限を課すことができ、指定された送信元および宛先の IP アドレス範囲からの接続をユーザーに要求できます。

詳細については、「認証制限」を参照してください。

権限は、指定されたリソースと、そのリソースに対して許可されるアクションで構成されます。

リソースとは、データベース、コレクション、コレクションのセット、またはクラスターです。 リソースがクラスターの場合、関連するアクションは特定のデータベースやコレクションではなく、システムの状態に影響を与えます。 リソース ドキュメントの詳細については、「自己管理型配置に関するリソース ドキュメント 」を参照してください。

アクションは、リソースに対して許可される操作を指定します。 使用可能なアクションについては、「自己管理型配置の権限アクション 」を参照してください。

ロールの定義には 1 つ以上の既存のロールを含めることができます。その場合、ロールは含められたロールのすべての権限を継承します。

ロールはデータベース内の他のロールから権限を継承することができます。admin データベースで作成されたロールは、任意のデータベースのロールから権限を継承できます。

showPrivileges フィールドと showBuiltinRoles フィールドの両方を true に設定して rolesInfo コマンドを発行すると、ロールの権限を表示できます。

ユーザーの作成時にユーザーにロールを割り当てることができます。既存のユーザーを更新して、ロールを付与または取り消すこともできます。すべてのユーザー マネジメント方法については「ユーザー マネジメント」を参照してください。

ロールを割り当てられたユーザーには、そのロールのすべての権限が与えられます。ユーザーは複数のロールを持つことができます。さまざまなデータベースのユーザー ロールを割り当てることで、あるデータベースで作成されたユーザーに、他のデータベースを操作する権限を与えることができます。

注意

データベースに最初に作成されたユーザーは、他のユーザーを管理する特権を持つユーザー管理者です。 「自己管理型配置でアクセス制御を有効にする 」を参照してください。

MongoDB は、データベース システムで一般的に必要な権限セットを提供する組み込みロールを提供します。

これらの組み込みロールで必要な権限セットが提供されない場合、MongoDB はユーザー定義ロールを作成および変更するメソッドを提供します。

注意

MongoDB 8.0以降、 LDAP認証と認可は非推奨です。 LDAP は使用可能であり、 MongoDB 8のサポート期間中に変更されずに動作し続けます。 LDAP は将来のメジャー リリースで削除される予定です。

詳細については、「LDAP の非推奨」を参照してください。

MongoDB Enterprise は、認証されたユーザーがメンバーである LDAP グループを LDAP サーバーに照会することをサポートしています。MongoDB は、返された各グループの DN(Distinguished Name、識別名)を admin データベースのロールにマッピングします。MongoDB は、マップされたロールとそれに関連付けられた権限に基づいてユーザーを承認します。詳細については、「LDAP 認証」を参照してください。

戻る

リスト