Overview
このページでは、Atlas Data Federation でデータベースユーザーの詳細な認証と承認設定を構成する方法について説明します。これには、利用可能な認証方法と、 Atlas CLI 、 Atlas 管理API 、および Atlas UIを使用してユーザーを管理する方法が含まれます。
注意
Atlas はデフォルトで Atlas プロジェクトごとに最大 100 データベースユーザーをサポートします。100 以上のデータベースユーザーがプロジェクトで必要な場合は、 Atlas Administration API を使用して上限を増やすことができます。サポートが必要な場合は Atlas サポートにお問い合わせください。
必要なアクセス権
高度なデータベースユーザー構成を使用するには、Atlas で Organization Owner、Project Owner、またはProject Database Access Adminのアクセス権が必要です。
データベースユーザーの認証
Atlas (+adf+)は、データベースユーザーに対して次の形式の認証を提供します。
X.509 証明書 (相互 TLS または mTLS とも呼ばれます)は、信頼できる証明書を使用することでパスワードレス認証を可能にします。
X. 509 認証ユーザーの認証データベースは $external データベースです。
LDAP認可を有効にすると、Atlas が管理する X.509 証明書で認証するユーザーを使用してクラスターに接続することはできません。LDAP を有効にし、X.509 ユーザーを使用してクラスターに接続するには、「 自己管理型 X.509 証明書の設定 」を参照してください。
新しいデータベースユーザーの追加
プロジェクトには、認証方法が異なる複数のユーザーを含めることができます。
ユーザーを作成した後で、そのユーザーの認証方法を変更することはできません。別の認証方法を使用するには、新しいユーザーを作成する必要があります。
Atlas CLI は、次のコマンドを使用して、新しいデータベースユーザーと X.509 証明書を作成します。指定するオプションによって、認証方法が決まります。
Atlas CLI を使用してプロジェクトのデータベースユーザーを作成するには、以下のコマンドを実行します。
atlas dbusers create [builtInRole]... [options]
Atlas CLI を使用して、指定したデータベースユーザーに Atlas に管理される新しい X.509 証明書を作成するには、次のコマンドを実行します。
atlas dbusers certs create [options]
以前のコマンドの構文とパラメータの詳細については、Atlas CLI ドキュメントの atlas dbusers create および atlas dbusers certs create を参照してください。
Atlas Administration API を通じてデータベースユーザーを追加できます。指定するオプションによって、認証方法が決まります。詳細については、「データベースユーザーを 1 つ作成する」を参照してください。
認証メカニズムを選択し、Atlas UI を使用して、手順に従って新しいデータベースユーザーを作成します。
AtlasDatabase & Network Access で、プロジェクトの ページに移動します。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のDatabase & Network Accessをクリックします。
[ データベースとネットワーク アクセス ] ページが表示されます。
特権を割り当てます。
データベースユーザーの権限を選択します。次のいずれかの方法で、新しいユーザーに特権を割り当てることができます。
Built-in Role ドロップダウンメニューから組み込みロールを選択します。Atlas UI では、データベースユーザーごとに 1 つの組み込みロールを選択できます。デフォルトオプションを削除する場合は、Add Built-in Role をクリックして新しい組み込みロールを選択できます。
カスタムロールが定義されている場合は、 Custom Rolesセクションを展開し、 Custom Rolesドロップダウンメニューから 1 つ以上のロールを選択できます。 さらにカスタムロールを追加するには、 Add Custom Roleをクリックします。 また、 Custom Rolesリンクをクリックして、プロジェクトのカスタムロールを表示することもできます。
[Specific Privileges] セクションを展開し、[Specific Privileges] ドロップダウン メニューから 1 つ以上の特権を選択します。[Add Specific Privilege] をクリックして、さらに特権を追加します。こうすることで、個々のデータベースとコレクションに対するユーザー固有の特権が割り当てられます。
Atlas では、組み込みロール、複数のカスタムロール、および複数の特定の特権を 1 人のデータベースユーザーに適用できます。
適用されたロールまたは特権を削除するには、次をクリックします:削除するロールまたは特権の横にあるDelete 。
注意
Atlas はオプションを 1 つだけ選択した場合は、 Built-in Role 、 Custom Role 、またはSpecific Privilege選択の横にDeleteアイコン。 選択したロールまたは特権は、別のロールまたは特権を適用すると、削除できます。
承認の詳細については、MongoDB マニュアルの 「ロールベースのアクセス制御 」と 「組み込みロール 」を参照してください。
ユーザーがアクセスできるプロジェクト内のリソースを指定します。
デフォルトでは、ユーザーはプロジェクト内のすべてのクラスターとフェデレーティッドデータベースインスタンスにアクセスできます。次の操作を行うことで、特定のクラスターおよびフェデレーティッドデータベースインスタンスへのアクセスを制限できます。
Restrict Access to Specific Clusters/Federated Database Instances を ON に切り替えます。
[Grant Access To] リストから、ユーザーにアクセス権を付与するクラスターとフェデレーティッドデータベースインスタンスを選択します。
AtlasDatabase & Network Access で、プロジェクトの ページに移動します。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のDatabase & Network Accessをクリックします。
[ データベースとネットワーク アクセス ] ページが表示されます。
ユーザーの情報を入力します。
フィールド | 説明 | |
|---|---|---|
Common Name | TLS/SSL 証明書によって保護されているユーザーのコモン ネーム(CN)。詳細については、RFC 2253 を参照してください。 たとえば、コモンネームが「Jane Doe」、組織が「MongoDB」、国が「米国」の場合は、次の内容をCommon Nameフィールドに挿入します。 | |
User Privileges | 次のいずれかの方法でロールを割り当てることができます。
Atlas の組み込み権限の詳細については、組み込みロール を参照してください。 承認の詳細については、MongoDB マニュアルの 「ロールベースのアクセス制御 」と 「組み込みロール 」を参照してください。 |
AtlasDatabase & Network Access で、プロジェクトの ページに移動します。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のDatabase & Network Accessをクリックします。
[ データベースとネットワーク アクセス ] ページが表示されます。
特権を割り当てます。
データベースユーザーの権限を選択します。次のいずれかの方法で、新しいユーザーに特権を割り当てることができます。
Built-in Role ドロップダウンメニューから組み込みロールを選択します。Atlas UI では、データベースユーザーごとに 1 つの組み込みロールを選択できます。デフォルトオプションを削除する場合は、Add Built-in Role をクリックして新しい組み込みロールを選択できます。
カスタムロールが定義されている場合は、 Custom Rolesセクションを展開し、 Custom Rolesドロップダウンメニューから 1 つ以上のロールを選択できます。 さらにカスタムロールを追加するには、 Add Custom Roleをクリックします。 また、 Custom Rolesリンクをクリックして、プロジェクトのカスタムロールを表示することもできます。
[Specific Privileges] セクションを展開し、[Specific Privileges] ドロップダウン メニューから 1 つ以上の特権を選択します。[Add Specific Privilege] をクリックして、さらに特権を追加します。こうすることで、個々のデータベースとコレクションに対するユーザー固有の特権が割り当てられます。
Atlas では、組み込みロール、複数のカスタムロール、および複数の特定の特権を 1 人のデータベースユーザーに適用できます。
適用されたロールまたは特権を削除するには、次をクリックします:削除するロールまたは特権の横にあるDelete 。
注意
Atlas はオプションを 1 つだけ選択した場合は、 Built-in Role 、 Custom Role 、またはSpecific Privilege選択の横にDeleteアイコン。 選択したロールまたは特権は、別のロールまたは特権を適用すると、削除できます。
承認の詳細については、MongoDB マニュアルの 「ロールベースのアクセス制御 」と 「組み込みロール 」を参照してください。
ユーザーがアクセスできるプロジェクト内のリソースを指定します。
デフォルトでは、ユーザーはプロジェクト内のすべてのクラスターとフェデレーティッドデータベースインスタンスにアクセスできます。次の操作を行うことで、特定のクラスターおよびフェデレーティッドデータベースインスタンスへのアクセスを制限できます。
Restrict Access to Specific Clusters/Federated Database Instances を ON に切り替えます。
[Grant Access To] リストから、ユーザーにアクセス権を付与するクラスターとフェデレーティッドデータベースインスタンスを選択します。
AWS IAM 接続文字列の例
mongosh で Amazon Web Services IAM 認証を使用して Atlas に接続するには、shell バージョン v0.9.0 以上が必要です。
次の点を考慮してください。
アクセス キー ID をユーザー名、秘密鍵をパスワードとして使用して、AWS IAM 認証情報を使用します。
authSourceクエリ パラメータは$externalで、%24externalとしてURL エンコードします。authMechanismクエリ パラメータはMONGODB-AWSです。例
mongosh "mongodb+srv://<atlas-host-name>/test?authSource=%24external&authMechanism=MONGODB-AWS" --username <access-key-id> --password <secret-key>
AtlasDatabase & Network Access で、プロジェクトの ページに移動します。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のDatabase & Network Accessをクリックします。
[ データベースとネットワーク アクセス ] ページが表示されます。
Add New Database User or Groupダイアログ ボックスを開きます。
Add New Database User or Group をクリックします。
注意
Workforce IdP を Atlas に適用するまで、このボタンは Add New Database User と表示します。
Federated Authを選択します。
Authentication Methodセクションで、[Federated Auth] を選択します。
注意
組織で Workforce IdP を有効にするまで、このボックスを選択することはできません。
ユーザーまたはグループの特権を割り当てます。
新しいユーザーまたはグループに特権を割り当てるには、次のタスクの 1 つ以上を実行します。
Built-in Role ドロップダウンメニューから組み込みロールを選択します。
Atlas UI では、データベースグループごとに 1 つの組み込みロールを選択できます。
デフォルト オプションを削除する場合は、 Add Built-in Roleをクリックして新しい組み込みロールを選択できます。
カスタムロール が定義されている場合は、 Custom Rolesセクションを展開し、 Custom Rolesドロップダウンメニューから 1 つ以上のロールを選択できます。
さらにカスタムロールを追加するには、 Add Custom Roleをクリックします。
プロジェクトのカスタムロールを表示するには、 Custom Rolesリンクをクリックします。
[ Specific Privilegesセクションを展開し、 Specific Privilegesドロップダウン メニューから 1 つ以上の 特権 を選択します。
さらに特権を追加するには、 Add Specific Privilegeをクリックします。 こうすることで、個々のデータベースとコレクションに対するグループ固有の特権が割り当てられます。
適用されたロールまたは特権を削除します。
- をクリックしますの横にあるDelete
- 削除するロールまたは特権。
注意
Atlas はオプションを 1 つだけ選択した場合は、 Built-in Role 、 Custom Role 、またはSpecific Privilege選択の横にDeleteアイコン。 選択したロールまたは特権は、別のロールまたは特権を適用すると、削除できます。
Atlas では、組み込みロール、複数のカスタムロール、および複数の特定の特権をデータベースグループに適用できます。
認可の詳細については、MongoDB マニュアルの「 ロールベースのアクセス制御」と「 組み込みロール 」を参照してください。
ユーザーまたはグループがアクセスできるプロジェクト内のリソースを指定します。
デフォルトでは、グループはプロジェクト内のすべてのクラスターと フェデレーティッドデータベースインスタンス にアクセスできます。 特定のクラスターとフェデレーティッドデータベースインスタンスへのアクセスを制限するには、次の手順に従います。
Restrict Access to Specific Clusters/Federated Database Instances を On に切り替えます。
Grant Access Toリストからグループにアクセスを許可するクラスターとフェデレーティッドデータベースインスタンスを選択します。
一時ユーザーまたはグループとして保存します。
Temporary UserまたはTemporary GroupをOnに切り替え、Atlas がユーザーまたはグループを削除できるようになるまでの時間を [ Temporary User DurationまたはTemporary Group Durationドロップダウンから選択します。 グループが存在する期間として、次のいずれかから選択できます。
6 時間
1 日
1 週間
[ Database Usersタブには、Atlas が一時ユーザーまたはグループを削除するまでの残り時間が表示されます。 Atlas がユーザーまたはグループを削除すると、一時ユーザーのまたはグループの認証情報を使用するクライアントやアプリケーションは、クラスターにアクセスできなくなります。
注意
MongoDB 8.0 以降、LDAP による認証と承認は非推奨です。この機能は利用可能であり、MongoDB 8 の有効期間を通じて変更なく動作し続けます。LDAP は今後のメジャーリリースで削除される予定です。
詳細については、「LDAP の廃止」を参照してください。
「LDAP による認証を構成する」の手順に従ってから、「LDAP データベースユーザーまたはグループを追加する」の手順に従ってください。
データベースユーザーと証明書の表示
データベースユーザーの表示
Atlas CLI を使用してプロジェクトのすべての Atlas データベースユーザーを一覧表示するには、次のコマンドを実行します。
atlas dbusers list [options]
Atlas CLI を使用して指定したプロジェクト内の 1 人の Atlas データベースユーザーの詳細を返すには、次のコマンドを実行します。
atlas dbusers describe <username> [options]
以前のコマンドの構文とパラメータの詳細については、Atlas CLI ドキュメントの atlas dbusers list および atlas dbusers describe を参照してください。
データベースユーザーの X.509 証明書の表示
Atlas CLI を使用して、Atlas で管理する、有効期限が切れていないすべてのデータベースユーザーの証明書を一覧表示するには、次のコマンドを実行します。
atlas dbusers certs list <username> [options]
構文とパラメータの詳細については、Atlas CLI ドキュメントの atlas dbusers certs list を参照してください。
Atlas Administration API を使用して Atlas データベースユーザーを表示するには、「Get All」を参照してください。
Atlas UI で Atlas データベースユーザーと X.509 証明書を表示するには:
AtlasDatabase & Network Access で、プロジェクトの ページに移動します。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のDatabase & Network Accessをクリックします。
[ データベースとネットワーク アクセス ] ページが表示されます。
データベースユーザーの変更
Atlas CLI を使用してプロジェクトのデータベースユーザーを更新するには、次のコマンドを実行します。
atlas dbusers update <username> [options]
コマンド構文とパラメータの詳細については、Atlas CLI ドキュメントの atlas dbusers update を参照してください。
Atlas Administration API を通じてデータベースユーザーを更新できます。詳しくは「Update One」を参照してください。
Atlas プロジェクトの既存のユーザーを変更するには:
AtlasDatabase & Network Access で、プロジェクトの ページに移動します。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のDatabase & Network Accessをクリックします。
[ データベースとネットワーク アクセス ] ページが表示されます。
既存のユーザーを変更します。
まだ表示されていない場合は、 Database Usersタブをクリックします。
変更するユーザーの [Edit] をクリックします。
ユーザーに割り当てられた特権と認証の詳細を変更できます。認証方式は変更できません。
以下の表では、各ユーザーに対してできる操作について説明します。
ユーザー タイプアクションSCRAM 認証ユーザー
ユーザーのパスワードを編集する。
X.509 証明書認証ユーザー
新しい証明書をダウンロードする。
AWS IAM ユーザー
データベースのアクセス特権を変更する。
一時ユーザー
ユーザーの有効期限がまだ過ぎていない場合は、ユーザーが存在する期間を変更するか、ユーザーを永続的なユーザーにする。
注意
永続的なユーザーを一時ユーザーに変更することはできません。一時ユーザーを永続的なユーザーに変更した場合、再度一時ユーザーにすることはできません。
[Update User] をクリックして、変更を保存します。
データベースユーザーの削除
Atlas CLI を使用してプロジェクトからデータベースユーザーを削除するには、次のコマンドを実行します。
atlas dbusers delete <username> [options]
コマンド構文とパラメータの詳細については、atlas dbusers delete の Atlas CLI ドキュメントを参照してください。
Atlas Administration API を通じてデータベースユーザーを削除できます。詳細については、「Delete One」を参照してください。
Atlas UI を使用して Atlas プロジェクトの既存のユーザーを削除するには:
AtlasDatabase & Network Access で、プロジェクトの ページに移動します。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のDatabase & Network Accessをクリックします。
[ データベースとネットワーク アクセス ] ページが表示されます。