Docs Menu
Docs Home
/
MongoDBマニュアル
/ / /

system.users 自己管理型配置のコレクション

項目一覧

  • system.users スキーマ

adminデータベース内のsystem.usersコレクションには、ユーザーの認証認可の情報が保存されています。 このコレクション内のデータを管理するために、MongoDB はユーザー管理コマンド を提供します。

system.usersコレクション内のドキュメントには次のスキーマがあります。

{
_id: <system defined id>,
userId : <system assigned UUID>,
user: "<name>",
db: "<database>",
credentials: { <authentication credentials> },
roles: [
{ role: "<role name>", db: "<database>" },
...
],
customData: <custom information>,
authenticationRestrictions : [ <documents> ]
}

system.usersドキュメントには次のフィールドがあります。

admin.system.users.userId

ユーザーの作成時に割り当てられたユーザーの一意の識別子。

admin.system.users.user

ユーザー名。 ユーザーは単一の論理データベースのコンテキストに存在します( admin.system.users.dbを参照)が、 roles配列で指定されたロールを介して他のデータベースにアクセスできます。

admin.system.users.db

ユーザーに関連付けられている認証データベースです。 ユーザーの特権は必ずしもこのデータベースに限定されません。 ユーザーは、 roles配列を介して追加のデータベースで特権を持つことができます。

admin.system.users.credentials

ユーザーの認証情報。 Kerberosや x を使用するユーザーなど、外部に保存された認証情報を持つユーザーの場合。認証用の509証明書の場合、そのユーザーのsystem.usersドキュメントにcredentialsフィールドが含まれていない場合。 SCRAMユーザー認証情報の場合、このメカニズム、反復回数、認証パラメーターが含まれます。

Tip

以下も参照してください。

admin.system.users.roles

ユーザーに付与されたロールの配列。 配列には、組み込みロールユーザー定義ロールの両方が含まれています。

ロール ドキュメントの構文は次のとおりです。

{ role: "<role name>", db: "<database>" }

ロール ドキュメントには、次のフィールドがあります。

admin.system.users.roles[n].role

ロールの名前。 ロールは、MongoDB によって提供される組み込みロールまたはカスタムユーザー定義のロールにすることができます。

admin.system.users.roles[n].db

ロールが定義されているデータベースの名前。

ロール マネジメントまたはユーザー マネジメントコマンドを使用してロールを指定する場合、ロール名のみを指定できます(例: "readWrite" )は、コマンドが実行されるデータベースに存在するロールの場合、

admin.system.users.customData

ユーザーに関する任意のカスタム情報。

admin.system.users.authenticationRestrictions

サーバーがユーザーに強制する認証制限の配列。 配列には、ユーザーによるサーバー接続が許可される、またはサーバーがユーザーを受け入れることができる IP アドレスと CIDR 範囲のリストが含まれています。

system.usersコレクション内の次のドキュメントを検討してみましょう。

{
"_id" : "home.Kari",
"userId" : UUID("ec1eced7-055a-4ca8-8737-60dd02c52793"),
"user" : "Kari",
"db" : "home",
"credentials" : {
"SCRAM-SHA-1" : {
"iterationCount" : 10000,
"salt" : "S/xM2yXFosynbCu4GzFDgQ==",
"storedKey" : "Ist4cgpEd1vTbnRnQLdobgmOsBA=",
"serverKey" : "e/0DyzS6GPboAA2YNBkGYm87+cg="
},
"SCRAM-SHA-256" : {
"iterationCount" : 15000,
"salt" : "p1G+fZadAeYAbECN8F/6TMzXGYWBaZ3DtWM0ig==",
"storedKey" : "LEgLOqZQmkGhd0owm/+6V7VdJUYJcXBhPUvi9z+GBfk=",
"serverKey" : "JKfnkVv9iXwxyc8JaapKVwLPy6SfnmB8gMb1Pr15T+s="
}
},
"authenticationRestrictions" : [
{ "clientSource" : [ "69.89.31.226" ], "serverAddress" : [ "172.16.254.1" ] }
],
"customData" : {
"zipCode" : "64157"
},
"roles" : [
{
"role" : "read",
"db" : "home"
},
{
"role" : "readWrite",
"db" : "test"
}
]
}

このドキュメントには、ユーザーKariの認証データベースがhomeデータベースであることが示されています。 Kariは、 homeデータベースではreadロール、 testデータベースではreadWriteロールを持っています。

戻る

system.roles コレクション