在 SaltStack SLS 中配置 MongoDB 3 个用户角色
Configure MongoDB 3 user roles in SaltStack SLS
有没有办法使用 SaltStack 为 MongoDB 3 配置用户角色?我看到 mongodb
module has relevant role management functions, but the mongodb_user
state 没有在任何地方引用角色。
是的,当然有!
您需要使用 Mongodb module, and execute it from a state using module.run.
因此,例如,如果您想管理用户 'TestUser' 的角色,您将创建 'manage_mongo_roles.sls',它将包含如下状态:
manage_mongo_roles:
module.run:
- name: mongodb.user_grant_roles
- m_name: TestUser
- roles: ["admin"]
- database: admin
- user: admin
- password: ''
- host: localhost
- port: 27017
模块的 'name' 参数必须以 m_ 开头,以便状态知道将其传递给模块而不是将其用作要执行的模块的名称。
另请注意,角色必须采用
格式
["role"]
文档指出,如果来自 salt CLI 的 运行 它应该包含在单引号中,如下所示:
'["role"]'
但在 module.run 状态下这样做会导致它失败,并且 return 会出现描述性不足的错误消息。
有没有办法使用 SaltStack 为 MongoDB 3 配置用户角色?我看到 mongodb
module has relevant role management functions, but the mongodb_user
state 没有在任何地方引用角色。
是的,当然有!
您需要使用 Mongodb module, and execute it from a state using module.run.
因此,例如,如果您想管理用户 'TestUser' 的角色,您将创建 'manage_mongo_roles.sls',它将包含如下状态:
manage_mongo_roles:
module.run:
- name: mongodb.user_grant_roles
- m_name: TestUser
- roles: ["admin"]
- database: admin
- user: admin
- password: ''
- host: localhost
- port: 27017
模块的 'name' 参数必须以 m_ 开头,以便状态知道将其传递给模块而不是将其用作要执行的模块的名称。
另请注意,角色必须采用
格式["role"]
文档指出,如果来自 salt CLI 的 运行 它应该包含在单引号中,如下所示:
'["role"]'
但在 module.run 状态下这样做会导致它失败,并且 return 会出现描述性不足的错误消息。