mongoDB ユーザーを指定して削除する

mongoDB ユーザーを指定して削除する

mongoDBで、ユーザーを指定して削除する手順を記述してます。「db.dropUser()」でユーザー名を指定することで可能です。DBは「admin」を使用します。

環境

  • OS CentOS Stream release 9
  • MongoDB 6.0.2

手順

ユーザーを指定して削除するには、「db.dropUser()」を使用します。

db.dropUser(ユーザー名)

実際に削除してみます。

> use admin

> db.getUsers()

{
  users: [
    {
      _id: 'admin.testuser',
      userId: new UUID("4257b0a8-2a1a-41ff-8c0d-0fcfd620421f"),
      user: 'testuser',
      db: 'admin',
      roles: [
        { role: 'root', db: 'admin' },
        { role: 'readWriteAnyDatabase', db: 'admin' },
        { role: 'userAdminAnyDatabase', db: 'admin' }
      ],
      mechanisms: [ 'SCRAM-SHA-1', 'SCRAM-SHA-256' ]
    },
    {
      _id: 'admin.usr',
      userId: new UUID("d25d21ff-4068-42eb-a8cd-a299f968c636"),
      user: 'usr',
      db: 'admin',
      roles: [ { role: 'root', db: 'admin' } ],
      mechanisms: [ 'SCRAM-SHA-1', 'SCRAM-SHA-256' ]
    }
  ],
  ok: 1
}

表示されている「sampleuser」を削除してみます。

> db.dropUser("sampleuser")

{ ok: 1 } ← mongo6の場合の戻り値

true ← mongo5の場合の戻り値

削除されていることが確認できます。

> db.getUsers()
{
  users: [
    {
      _id: 'admin.testuser',
      userId: new UUID("4257b0a8-2a1a-41ff-8c0d-0fcfd620421f"),
      user: 'testuser',
      db: 'admin',
      roles: [
        { role: 'root', db: 'admin' },
        { role: 'readWriteAnyDatabase', db: 'admin' },
        { role: 'userAdminAnyDatabase', db: 'admin' }
      ],
      mechanisms: [ 'SCRAM-SHA-1', 'SCRAM-SHA-256' ]
    }
  ],
  ok: 1
}