MongoDBでユーザーと役割を作成するには、適切な管理特権を持つmongo
シェルまたはMongoDBドライバーを使用する必要があります。これが段階的なガイドです:
mongo
シェルまたはMongoDBドライバーを使用してMongoDBインスタンスに接続することから始めます。管理データベースに切り替える:ユーザー管理は管理データベース内で行われるため、実行して次のことを切り替えます。
<code>use admin</code>
役割を作成する:特定の特権をカプセル化するためのカスタムロールを作成できます。 createRole
コマンドを使用してください。
<code>db.createRole({ role: "readWriteAnyDatabase", privileges: [ { resource: { db: "", collection: "" }, actions: [ "find", "update", "insert", "remove" ] } ], roles: [] })</code>
この例では、データベースとコレクションでCRUD操作を実行する特権を持つreadWriteAnyDatabase
役割を作成します。
ユーザーを作成する:ユーザーを作成するには、 createUser
コマンドを使用して、ユーザーの資格情報と必要な役割を指定します。
<code>db.createUser({ user: "myUser", pwd: "myPassword", roles: [ { role: "readWriteAnyDatabase", db: "admin" } ] })</code>
このコマンドは、パスワードmyPassword
を使用してユーザーmyUser
を作成し、 readWriteAnyDatabase
役割を割り当てます。
検証:ユーザーの作成と役割を使用して確認できます。
<code>db.getUsers() db.getRoles({showPrivileges:true})</code>
MongoDBでのユーザー許可の管理には、セキュリティと適切なアクセス制御を確保するために、ベストプラクティスを慎重に計画し、遵守する必要があります。ここにいくつかの推奨されるプラクティスがあります:
read
、 readWrite
、 dbAdmin
、 userAdmin
などのmongodbの組み込みの役割を活用し、必要に応じてカスタムロールを作成するだけです。MongoDBで役割を割り当てるときにセキュリティを確保するには、不正アクセスと誤用からデータベースを保護するための複数の戦略が含まれます。セキュリティを強化するための重要な手順は次のとおりです。
root
やuserAdminAnyDatabase
など)。可能であれば、細粒の役割を使用してください。MongoDBのユーザーと役割管理の自動化は、効率を大幅に改善し、ヒューマンエラーを減らすことができます。ここに役立ついくつかのツールとスクリプトがあります:
MongoDBオートメーションスクリプト:
pymongo
ライブラリを使用してMongodbに接続し、プログラムでコマンドを実行できます。<code class="python">from pymongo import MongoClient client = MongoClient('mongodb://localhost:27017/') db = client.admin # Create a role db.command('createRole', 'customRole', privileges=[{'resource': {'db': '', 'collection': ''}, 'actions': ['find', 'update']}], roles=[]) # Create a user db.command('createUser', 'newUser', pwd='newPassword', roles=[{'role': 'customRole', 'db': 'admin'}])</code>
Mongodbコンパス:
OPSマネージャーおよびクラウドマネージャー:
サードパーティツール:
<code class="yaml">- name: Create MongoDB user mongodb_user: database: admin name: newUser password: newPassword roles: customRole state: present</code>
mongodbシェルスクリプト:
<code class="javascript">use admin db.createRole({ role: "customRole", privileges: [ { resource: { db: "", collection: "" }, actions: [ "find", "update" ] } ], roles: [] }); db.createUser({ user: "newUser", pwd: "newPassword", roles: [ { role: "customRole", db: "admin" } ] });</code>
これらのツールとスクリプトを活用することにより、ユーザーと役割を管理するプロセスを合理化し、効率的かつ安全に行われるようにすることができます。
以上がMongodbでユーザーと役割を作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。