サイトアイコン IT NEWS

【AWS】DocumentDBのデータベースユーザーを追加・変更・削除

AWSDocumentDBは、高性能で拡張性のあるNoSQLデータベースサービスです。
この記事では、db.createUserコマンドを使用してDocumentDBデータベースユーザー追加する方法と、ユーザーの権限変更や削除方法を詳しく解説します。
さらに、ユーザーの確認方法と利用可能な権限についても紹介します。

DocumentDBでユーザー管理

DocumentDBを効果的に活用するために、データベースユーザーの管理は欠かせない要素です。
適切な権限の設定と、必要なユーザー追加削除を行い、セキュアな環境を構築しましょう。

ユーザーの追加方法

DocumentDBデータベースユーザー追加するには、db.createUserコマンドを使用します。
このコマンドを使用することで、ユーザー名パスワードを指定し、ユーザーを作成できます。
例えば、以下のように実行します。

> db.createUser({
    user: "ユーザー名",
    pwd: "パスワード",
    roles: [
        { role: "readWrite", db: "データベース名" }
    ]
})

ここで、rolesオプションではユーザーにどの権限を付与するか指定します。
上記の例では、readWrite権限が「データベース名」に対して付与されています。
権限については後ほど詳しくご紹介します。

ユーザー権限(roles)の変更方法

ユーザー権限変更する際は、db.updateUserコマンドを使用します。
以下の例では、ユーザー権限read変更しています。

> db.updateUser("ユーザー名", {
    roles: [
        { role: "read", db: "データベース名" }
    ]
})

ユーザーの削除方法

ユーザー削除する場合は、db.dropUserコマンドを使用します。
以下の例では、特定のユーザー削除しています。

> db.dropUser("ユーザー名")

以上です。
AWSの公式ドキュメントはこちらです。

ユーザーの確認方法と利用可能な権限

現在登録されているユーザー確認方法は、show usersコマンドを使用します。
ユーザーを追加したら確認してみましょう。

> show users

これにより、以下のようにデータベース内の全てのユーザーとそれぞれの権限が表示されます。

{
   "_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"
      }
   ]
}

接続しているデータベースユーザーだけを参照するならdb.getUsersでもOKです

また、DocumentDBでは多くの権限が用意されています。
これには、読み取り・書き込みアクセス、データベース・コレクションの管理権限などが含まれます。
参考として、データベースユーザーロールの説明を抜粋します。

ロール説明アクション
read指定したデータベースへの読み取りアクセス権をユーザーに付与します。changeStreams
collStats
dbStats
find
killCursors
listIndexes
listCollections
readWrite指定したデータベースへの読み取りおよび書き込みアクセス権をユーザーに付与します。readアクセス許可のすべてのアクション。
createCollection
dropCollection
createIndex
dropIndex
insert
killCursors
listIndexes
listCollections
remove
update
引用:Amazon DocumentDB

具体的な権限とその説明については、公式ドキュメントを参照してください。

著:佐竹 陽一, 著:山﨑 翔平, 著:小倉 大, 著:峯 侑資
¥2,970 (2023/08/19 11:28時点 | Amazon調べ)

注意点とまとめ

データベースユーザー追加するにはdb.createUser権限変更するにはdb.updateUserユーザー削除するにはdb.dropUserコマンドを使用します。
ユーザー確認方法はshow usersまたはdb.getUsersコマンドで行えます。

利用可能な権限は多岐にわたり細かな制御が可能ですので、必要な権限を適切に設定しましょう。
権限の設定はセキュリティに関わる重要な作業ですので、不要な権限を付与しないように注意しましょう。

著:渡部 徹太郎, 著:河村 康爾, 著:北沢 匠, 著:佐伯 嘉康, 著:佐藤 直生, 著:原沢 滋, 著:平山 毅, 著:李昌桓, 監修:渡部 徹太郎
¥9,142 (2023/08/19 11:27時点 | Amazon調べ)

モバイルバージョンを終了