MongoDBでユーザーを作成して権限を付与する方法を教えてください
MongoDBでは、ユーザーを作成して権限を与える方法は次のとおりです。
- まず、MongoDBのシェルに接続します。ローカルのMongoDBインスタンスには、以下のコマンドを実行して接続できます。
- モンゴル
- MongoDB シェルで、admin データベースに切り替える:
- 管理者を使う
- 新しいユーザーを作成する際には、適切な権限を付与する必要があります。ユーザーの作成基本構文は以下のとおりです。
- db.createUser({ user: “ユーザーネーム”, pwd: “パスワード”, roles: [ { role: “ロール”, db: “データベース” }, { role: “ロール”, db: “データベース” }, … ] })
- そのうち、ユーザー名は作成するユーザーの名前、パスワードはユーザーのパスワード、ロールはユーザーのロールで、組み込みロール(readWrite、dbAdmin、readなど)や、カスタムロールなどを指定できます。
- たとえば、読み取りおよび書き込み権限のあるユーザーを作成する場合、以下のコマンドを実行できます。
- db.createUser({
user: “myuser”,
pwd: “mypassword”,
roles: [{
role: “readWrite”,
db: “mydatabase”
}]
}) - データベース mydatabase が存在しなければ、自動的に作成されます。
- ユーザーが正常に作成されたことを確認するには、show usersコマンドでユーザー一覧を確認します。
- ネイティブに表示する
- または、現在のデータベースのユーザー一覧だけを確認したい場合は、次のコマンドを使用します。
- db.getUsers()
- db.dropUser(“ユーザー名”) コマンドでユーザーを削除できます。
- 他の権限をユーザーに付与する場合は `db.grantRolesToUser(“ユーザー名”, [ { role: “ロール”, db: “データベース” }, … ])` コマンドを使用します。たとえば、ユーザーを別のロールに追加する場合は、次のコマンドを実行します。
- db.grantRolesToUser(“myuser”, [ { role: “read”, db: “mydatabase” }, { role: “dbAdmin”, db: “mydatabase” } ])
- これにより、ユーザー**myuser**にreadとdbAdminロールが追加されます。
ユーザーの作成や権限付与などの操作は、adminデータベースで権限を持って行う必要があります。