2016-06-27 8 views
2

私は約30のデータベースを含むMongoDBインスタンスを持っており、それぞれに "client_data"コレクションがあります。私はクライアントに、このコレクションに関するすべてのデータベースと他のコレクションの権限を与えたいと思っています。私はこのような何かを行うスクリプトを書きたい:pymongoでユーザ定義のロールを作成することはできますか?

mongoclient = pymongo.MongoClient("mongodb://admin:[email protected]/port") 
rolenames = [] 
for dbname in mongoclient.get_databases(): 
    db = mongoclient[dbname] 
    rolename = dbname + "role" 
    rolenames.append[rolename] 
    db.create_role(rolename, [ {resource: {db: dbname, collection: client_data}, actions: ["find"] } ]) 

、その後

db.create_user("client", password, roles=rolenames) 

私はCREATE_USER()関数を使用すると、引数として事前に定義された役割に渡すことができますが、そこにあることを知っていますpymongo内で新しい役割を定義する方法は?

答えて

2

はい、できます。私の例を見てください。

db.command("createRole", 
    "manageCurrentOpRole", 
    privileges=[{"resource" : {"cluster" : True}, "actions" : ["inprog"]}], 
    roles=[]) 
+0

この作品はありませんか?どのようにこの作品が説明できますか?これはどこのAPIドキュメントですか? – pitchblack408

関連する問題