CouchDBで通常の非管理者ユーザーを作成するにはどうすればよいですか?
まず、ユーザーを_users
データベースに配置します。ドキュメントのIDはorg.couchdb.user:username
である必要があります。
CouchDB 1.2.0以降では、これを使用します。
{
"_id": "org.couchdb.user:dbreader",
"name": "dbreader",
"type": "user",
"roles": [],
"password": "plaintext_password"
}
CouchDBはサーバー側でパスワードをハッシュおよびソルトし、password_sha
およびsalt
フィールドに値を保存します(以下を参照)。
CouchDB <1.2.0では、ユーザードキュメントは次のようになります。
{
"_id": "org.couchdb.user:dbreader",
"name": "dbreader",
"type": "user",
"roles": [],
"salt": "54935938852dd34f92c672ab31e397cedaf0946d",
"password_sha": "42253ea4461a604f967813aaff90b139d7018806"
}
CouchDB 1.3.0以降では、パスワードのハッシュにaha&saltの代わりにPBKDF2が使用されることに注意してください。
次に、バージョン管理されていない特定のデータベースにID _securityのドキュメントを作成することにより、データベースごとの認証を作成できます。
{
"admins": {
"names": ["dbadmin"],
"roles": ["editor"]
},
"readers": {
"names": ["dbreader"],
"roles": ["reader"]
}
}
これは、admin dbadminとdbreaderのほかに_users
に2人のユーザーがいることを意味します。既に提案されているドキュメントを読むのが面倒な場合には、そうする必要があります。
CouchDBのドキュメントには、CouchDBの セキュリティ機能 と、 "reader"の設定方法に関する短い記事があります。リレーショナルデータベースのユーザー。