データベースユーザーを作成して、クライアントがプロジェクト内のクラスターにアクセスできるようにします。
データベースユーザーのアクセスは、ユーザーに割り当てられたロールによって決まります。データベースユーザーを作成すると、 組み込みロールのいずれかによって、そのユーザーが Atlas プロジェクト内のすべてのクラスターに追加されます。プロジェクト内でデータベース ユーザーがアクセスできるリソースを指定するには、Atlas UI でオプション Restrict Access to Specific Clusters を選択するか、特定の権限およびカスタムロールを設定します。
データベース ユーザーは Atlas ユーザーとは別です。データベース ユーザーは MongoDB データベースにアクセスでき、Atlas ユーザーは Atlas アプリケーション自体にアクセスできます。Atlas では、7日以内(ユーザー側で指定可能)に自動的に期限切れとなる一時データベースユーザーの作成がサポートされています。
Atlas は、プロジェクトのアクティビティフィードにあるデータベースユーザーの作成、削除、アップデートを監査します。Atlas は、一時的なデータベースユーザーと一時的でないデータベースユーザーの両方に関連するアクションを監査します。
プロジェクトのアクティビティフィードを表示するには:
Atlas で、Project Activity Feed ページに移動します。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
サイドバーで、Security ヘッダーの下の Activity Feed をクリックします。
[ プロジェクト アクティビティ フィード]ページが表示されます。
プロジェクトのアクティビティフィードの詳細については、「すべてのアクティビティの表示」を参照してください。
Atlasは、デフォルトで Atlas プロジェクトごとに最大 100 のデータベースユーザーをサポートします。プロジェクトで 100 を超えるデータベースユーザーが必要な場合は、Atlas Administration API を使用して上限を増やすことができます。サポートが必要な場合は、 Atlas サポートにお問い合わせください。
重要
Atlas クラスターでデータベースユーザーを追加、変更、または削除するには、Atlas CLI、Atlas Administration API、Atlas UI、またはサポートされている統合を使用する必要があります。それ以外の場合、Atlas はユーザーによる変更をすべてロールバックします。
データベースユーザーの認証
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 を使用して、手順に従って新しいデータベースユーザーを作成します。
AtlasGoDatabase & Network AccessAtlas で、プロジェクトの ページにGoします。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの 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] リストから、ユーザーにアクセス権を付与するクラスターとフェデレーティッドデータベースインスタンスを選択します。
AtlasGoDatabase & Network AccessAtlas で、プロジェクトの ページにGoします。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のDatabase & Network Accessをクリックします。
[ データベースとネットワーク アクセス ] ページが表示されます。
ユーザーの情報を入力します。
フィールド | 説明 | |
|---|---|---|
Common Name | TLS/SSL 証明書によって保護されているユーザーのコモン ネーム(CN)。詳細については、RFC 2253 を参照してください。 たとえば、コモンネームが「Jane Doe」、組織が「MongoDB」、国が「米国」の場合は、次の内容をCommon Nameフィールドに挿入します。 | |
User Privileges | 次のいずれかの方法でロールを割り当てることができます。
Atlas に組み込まれている特権の詳細については、ロールと特権の概要 を参照してください。 承認の詳細については、MongoDB マニュアルの 「ロールベースのアクセス制御 」と 「組み込みロール 」を参照してください。 |
AtlasGoDatabase & Network AccessAtlas で、プロジェクトの ページにGoします。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの 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>
AtlasGoDatabase & Network AccessAtlas で、プロジェクトの ページにGoします。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの 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 証明書を表示するには:
AtlasGoDatabase & Network AccessAtlas で、プロジェクトの ページにGoします。
まだ表示されていない場合は、プロジェクトを含む組織をナビゲーション バーの Organizations メニューで選択します。
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Security見出しの下のDatabase & Network Accessをクリックします。
[ データベースとネットワーク アクセス ] ページが表示されます。