Azure DocumentDB では、特殊な読み取り/書き込みロールと読み取り専用ロールを持つセカンダリ ネイティブ DocumentDB ユーザーがサポートされ、データ アクセスの安全な委任が可能になります。 クラスターのプロビジョニング中に作成された組み込みの管理アカウントには、ユーザー管理を含む完全な特権があります。 セカンダリ ユーザーはクラスター レプリカに自動的にレプリケートされますが、プライマリ クラスターでユーザー管理を実行する必要があります。
[前提条件]
Azure サブスクリプション
- Azure サブスクリプションをお持ちでない場合は、無料アカウントを作成してください
既存の Azure DocumentDB クラスター
- クラスターがない場合は、新しいクラスターを作成します
MongoDB シェル。 詳細については、「MongoDB シェルのインストール」を参照してください。
クライアントがクラスターに接続できるようにするファイアウォール規則。 詳細については、「ファイアウォールの 構成」を参照してください。
ネイティブの役割
Azure DocumentDB では、次のロールを持つセカンダリ ユーザーのネイティブ ロールベースのアクセス制御がサポートされています。
| Description | |
|---|---|
readWriteAnyDatabase |
データベース管理を含む、完全な読み取り/書き込みアクセス許可 |
clusterAdmin |
データベース管理を含む、完全な読み取り/書き込みアクセス許可 |
readAnyDatabase |
読み取り専用アクセス許可 |
MongoDB ドライバーまたは MongoDB シェル (mongosh) などのツールを使用して、ユーザーとロールを管理します。
注
データベース管理と操作の両方の権限を持つ完全な読み取り/書き込みユーザーのみがサポートされます。 ロールを個別に割り当てることはできません。
MongoDB シェルを使用した操作の認証と実行
クラスターのプロビジョニング中に作成された組み込みの管理アカウントを使用して認証します。 このアカウントには、クラスターに対する排他的なユーザー管理特権 (userAdmin) があります。
MongoDB シェルがインストールされているクライアントでターミナルを開きます。
Azure DocumentDB クラスターの 名前 と現在の資格情報を取得します。
ヒント
[接続文字列] セクションを使用して、Azure portal でクラスターのネイティブ 接続文字列 を取得できます。
次の接続文字列を使用して接続します。
mongosh "mongodb+srv://<username>:<password>@<cluster-name>?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000"
ユーザーを管理する
コマンドを実行するクラスターに新しいユーザーを作成します。 ユーザーが既に存在する場合、 createUser コマンドは重複するユーザー エラーを返します。
データ プレーン管理ユーザーを作成します。
db.runCommand( { createUser:"yourUserName", pwd : "yourPassword", roles : [ { role:"clusterAdmin",db:"admin" }, { role:"readWriteAnyDatabase", db:"admin" } ] } )読み取り専用ユーザーを作成します。
db.runCommand( { createUser:"yourUserName", pwd : "yourPassword", roles : [ { role:"readAnyDatabase",db:"admin" } ] } )updateUserコマンドを実行して、データベースのユーザーを更新します。use admin db.runCommand( { updateUser:"<username>", pwd : "<new cleartext password>" } )注
このコマンドでは、パスワードの更新のみがサポートされます。
クラスターからユーザーを削除します。
use admin db.runCommand( { dropUser:"<username>" } )クラスター上のすべてのネイティブ ユーザーに関する詳細を取得するか、1 人のユーザーを指定してロールやその他の属性に関する情報を取得します。
use admin db.runCommand( { usersInfo:1 } )
関連コンテンツ
- Azure DocumentDB のセキュリティについて説明します
- 制限事項を確認する
- Azure DocumentDB の Microsoft Entra ID について説明します