Ich habe eine MongoDB-Instanz, die ungefähr 30 Datenbanken mit jeweils einer "client_data" -Auflistung enthält. Ich möchte meinem Kunden Leseberechtigungen für diese Sammlung für alle Datenbanken und keine anderen Sammlungen erteilen. Ich möchte ein Skript schreiben, die so etwas wie dies funktioniert:Ist es möglich, benutzerdefinierte Rollen mit Pymongo zu erstellen?
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"] } ])
und dann
db.create_user("client", password, roles=rolenames)
Ich weiß, dass die create_user() Funktion, die Sie in vordefinierten Rollen als Argument passieren lässt, aber es ist ein Möglichkeit, auch neue Rollen in Pymongo zu definieren?
Hat dies funktioniert? Kannst du erklären, wie das funktioniert? Wo ist die API-Dokumentation dafür? – pitchblack408