AWSのDocumentDBは、高性能で拡張性のあるNoSQLデータベースサービスです。
この記事では、db.createUser
コマンドを使用してDocumentDBでデータベースユーザーを追加する方法と、ユーザーの権限変更や削除方法を詳しく解説します。
さらに、ユーザーの確認方法と利用可能な権限についても紹介します。
DocumentDBでユーザー管理
DocumentDBを効果的に活用するために、データベースユーザーの管理は欠かせない要素です。
適切な権限の設定と、必要なユーザーの追加・削除を行い、セキュアな環境を構築しましょう。
ユーザーの追加方法
DocumentDBでデータベースユーザーを追加するには、db.createUser
コマンドを使用します。
このコマンドを使用することで、ユーザー名とパスワードを指定し、ユーザーを作成できます。
例えば、以下のように実行します。
1 2 3 4 5 6 7 |
> db.createUser({ user: "ユーザー名", pwd: "パスワード", roles: [ { role: "readWrite", db: "データベース名" } ] }) |
ここで、roles
オプションではユーザーにどの権限を付与するか指定します。
上記の例では、readWrite
権限が「データベース名」に対して付与されています。
権限については後ほど詳しくご紹介します。
ユーザー権限(roles)の変更方法
ユーザーの権限を変更する際は、db.updateUser
コマンドを使用します。
以下の例では、ユーザーの権限をread
に変更しています。
1 2 3 4 5 |
> db.updateUser("ユーザー名", { roles: [ { role: "read", db: "データベース名" } ] }) |
ユーザーの削除方法
ユーザーを削除する場合は、db.dropUser
コマンドを使用します。
以下の例では、特定のユーザーを削除しています。
1 |
> db.dropUser("ユーザー名") |
以上です。
AWSの公式ドキュメントはこちらです。
ユーザーの確認方法と利用可能な権限
現在登録されているユーザーの確認方法は、show users
コマンドを使用します。
ユーザーを追加したら確認してみましょう。
1 |
> show users |
これにより、以下のようにデータベース内の全てのユーザーとそれぞれの権限が表示されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
{ "_id":"serviceadmin", "user":"serviceadmin", "db":"admin", "roles":[ { "db":"admin", "role":"root" } ] } { "_id":"master-user", "user":"master-user", "db":"admin", "roles":[ { "db":"admin", "role":"root" } ] } { "_id":"user3", "user":"user3", "db":"admin", "roles":[ { "db":"sample-database-2", "role":"read" }, { "db":"sample-database-1", "role":"readWrite" } ] } |
また、DocumentDBでは多くの権限が用意されています。
これには、読み取り・書き込みアクセス、データベース・コレクションの管理権限などが含まれます。
参考として、データベースユーザーのロールの説明を抜粋します。
ロール | 説明 | アクション |
---|---|---|
read | 指定したデータベースへの読み取りアクセス権をユーザーに付与します。 | changeStreams collStats dbStats find killCursors listIndexes listCollections |
readWrite | 指定したデータベースへの読み取りおよび書き込みアクセス権をユーザーに付与します。 | read アクセス許可のすべてのアクション。createCollection dropCollection createIndex dropIndex insert killCursors listIndexes listCollections remove update |
具体的な権限とその説明については、公式ドキュメントを参照してください。
注意点とまとめ
データベースユーザーを追加するにはdb.createUser
、権限を変更するにはdb.updateUser
、ユーザーを削除するにはdb.dropUser
コマンドを使用します。
ユーザーの確認方法はshow users
またはdb.getUsers
コマンドで行えます。
利用可能な権限は多岐にわたり細かな制御が可能ですので、必要な権限を適切に設定しましょう。
権限の設定はセキュリティに関わる重要な作業ですので、不要な権限を付与しないように注意しましょう。
コメント