データベースユーザーの設定
項目一覧
データベースユーザーを作成して、クライアントがプロジェクト内のクラスターにアクセスできるようにします。データベースユーザーのアクセスは、ユーザーに割り当てられたロールによって決まります。データベースユーザーを作成すると、 組み込みロールのいずれかによって、そのユーザーが Atlas プロジェクト内のすべてのクラスターに追加されます。デフォルトの組み込みロールを削除し、権限とカスタムロールを設定して、ユーザーを特定のクラスターに追加できます。
データベース ユーザーは Atlas ユーザーとは別です。データベース ユーザーは MongoDB データベースにアクセスでき、Atlas ユーザーは Atlas アプリケーション自体にアクセスできます。Atlas では、7日以内(ユーザー側で指定可能)に自動的に期限切れとなる一時データベースユーザーの作成がサポートされています。
Atlas は、プロジェクトのアクティビティフィードにあるデータベースユーザーの作成、削除、アップデートを監査します。Atlas は、一時的なデータベースユーザーと一時的でないデータベースユーザーの両方に関連するアクションを監査します。
プロジェクトのアクティビティフィードを表示するには:
Atlas で、Project Activity Feed ページに移動します。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
次のいずれかの手順を行います。
ナビゲーション バーの右側にあるProject Activity Feedアイコンをクリックします。
Projectsメニューの横にある次を展開します[ Options ] メニューで [] をクリックし、サイドバーの [ Activity Feed Project Settingsをクリックします。
[ プロジェクト アクティビティ フィード]ページが表示されます。
プロジェクトのアクティビティフィードの詳細については、「すべてのアクティビティの表示」を参照してください。
Atlasは、デフォルトで Atlas プロジェクトごとに最大 100 のデータベースユーザーをサポートします。プロジェクトで 100 を超えるデータベースユーザーが必要な場合は、Atlas Administration API を使用して上限を増やすことができます。サポートが必要な場合は、 Atlas サポートにお問い合わせください。
重要
Atlas クラスターでデータベースユーザーを追加、変更、または削除するには、Atlas CLI、Atlas Administration API、Atlas UI、またはサポートされている統合を使用する必要があります。それ以外の場合、Atlas はユーザーによる変更をすべてロールバックします。
データベースユーザーの認証
Atlas は、データベースユーザーに対して次の形式の認証を提供します。
X.509 証明書 (相互 TLS または mTLS とも呼ばれます)は、信頼できる証明書を使用することでパスワードレス認証を可能にします。
X. 509 認証ユーザーの認証データベースは $external
データベースです。
LDAP 認証を有効にすると、Atlas が管理する X.509 証明書で認証するユーザーを使用してクラスターに接続することはできません。 LDAP を有効にし、X.509 ユーザーを使用してクラスターに接続するには、「自己管理型 X.509 認証の設定」を参照してください。
Amazon Web ServicesIAM を使用するデータベースユーザーを作成できます 認証用のユーザーまたはロール ARN 。
AWS IAM 認証ユーザーの認証データベースは $external
データベースです。
AWS IAM 認証は MongoDB バージョン 5.0 以上を使用するクラスターでのみ使用できます。
注意
MongoDB 8.0 以降、LDAP による認証と承認は非推奨です。この機能は利用可能であり、MongoDB 8 の有効期間を通じて変更なく動作し続けます。LDAP は今後のメジャーリリースで削除される予定です。
詳細については、「LDAP の廃止」を参照してください。
認証に LDAP を使用するデータベースユーザーを作成できます。
LDAP 認証ユーザーの認証データベースは $external
データベースです。
LDAP 認証を有効にすると、Atlas が管理する X.509 証明書で認証するユーザーを使用してクラスターに接続することはできません。LDAP を有効にして X.509 ユーザーでクラスターに接続するには、「自己管理型 X.509 認証の設定」を参照してください。
必要なアクセス権
データベースユーザーを追加するには、Atlas に対するOrganization Owner
またはProject Owner
のアクセス権が必要です。
データベースユーザーの追加
プロジェクトには、認証方法が異なる複数のユーザーを含めることができます。
ユーザーを作成した後で、そのユーザーの認証方法を変更することはできません。別の認証方法を使用するには、新しいユーザーを作成する必要があります。
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 を使用して、手順に従って新しいデータベースユーザーを作成します。
AtlasGoDatabase AccessAtlas で、プロジェクトの ページにGoします。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のDatabase 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] リストから、ユーザーにアクセス権を付与するクラスターとフェデレーティッドデータベースインスタンスを選択します。
AtlasGoDatabase AccessAtlas で、プロジェクトの ページにGoします。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のDatabase Accessをクリックします。
[データベース アクセス ]ページが表示されます。
ユーザーの情報を入力します。
Common Name テキスト フィールドに新しいユーザーのユーザー名を入力します。
(任意)新しいユーザーの作成後に Atlas 管理の証明書をダウンロードする場合は、Download certificate when user is added スイッチを On に切り替えます。
注意
保存時に証明書をダウンロードするには、証明書の有効期限を指定する必要があります。
(任意)証明書の有効期限を選択します。
X. 509 証明書は、ユーザーが設定した証明書の有効期限が切れると期限切れとなり、無効になります。ユーザーは期限切れの X. 509 証明書ではログインできないため、新しい証明書を発行する必要があります。
これを管理するために、X.509 認証を有効にして新しいユーザーを作成すると、Atlas はプロジェクト レベルのアラートを自動的に作成します。このアラートは、ユーザーの最新の証明書の有効期限が切れる 30 日前に通知を送信し、24 時間ごとに繰り返します。このアラートは、Atlas の Alert Settings ページから表示および編集できます。アラートの設定の詳細については、「アラート設定の構成」を参照してください。
重要
ユーザーが証明書を紛失した場合、再度ログインするには新しい証明書が必要になります。
重要
X.509 証明書を取り消すことはできません。X.509 証明書で認証されたユーザーのプロジェクトへのアクセスを取り消すには、そのユーザーを削除する必要があります。
独自の X. 509 証明書を扱う場合は、自己管理型 X. 509 証明書を通じて PEM でエンコードされた証明機関をアップロードできます。
特権を割り当てます。
データベースユーザーの権限を選択します。次のいずれかの方法で、新しいユーザーに特権を割り当てることができます。
[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 認証は MongoDB バージョン 5.0 以上を使用するクラスターでのみ使用できます。
AtlasGoDatabase AccessAtlas で、プロジェクトの ページにGoします。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のDatabase 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>
AtlasGoDatabase AccessAtlas で、プロジェクトの ページにGoします。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のDatabase 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 証明書を表示するには:
AtlasGoDatabase AccessAtlas で、プロジェクトの ページにGoします。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のDatabase Accessをクリックします。
[データベース アクセス ]ページが表示されます。
データベースユーザーの変更
Atlas CLI を使用してプロジェクトのデータベースユーザーを更新するには、次のコマンドを実行します。
atlas dbusers update <username> [options]
コマンド構文とパラメータの詳細については、Atlas CLI ドキュメントの atlas dbusers update を参照してください。
Atlas Administration API を通じてデータベースユーザーを更新できます。詳しくは「Update One」を参照してください。
Atlas プロジェクトの既存のユーザーを変更するには:
AtlasGoDatabase AccessAtlas で、プロジェクトの ページにGoします。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のDatabase 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 プロジェクトの既存のユーザーを削除するには:
AtlasGoDatabase AccessAtlas で、プロジェクトの ページにGoします。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のDatabase Accessをクリックします。
[データベース アクセス ]ページが表示されます。