community.mongodb.mongodb_atlas_user 模块 – 在 Atlas 中管理数据库用户

注意

此模块是 community.mongodb 集合 (版本 1.7.8) 的一部分。

如果您使用的是 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.mongodb

要在 playbook 中使用它,请指定:community.mongodb.mongodb_atlas_user

概要

  • mongodb_atlas_user 模块允许您创建、修改和删除集群中的数据库用户。

  • 每个用户都有一组角色,这些角色提供对项目数据库的访问权限。

  • 用户的角色适用于项目中的所有集群

  • 如果两个集群都有一个 products 数据库,并且用户具有授予对 products 数据库的读取访问权限的角色,

  • 则用户对这两个集群都具有该访问权限。

  • API 文档

参数

参数

注释

api_password

别名:apiPassword

字符串 / 必需

用于与 Atlas API 进行身份验证的密码。

可以使用 API 用户和令牌(私钥为密码)

api_username

别名:apiUsername

字符串 / 必需

用于与 Atlas API 进行身份验证的用户名。

可以使用 API 用户和令牌(公钥为用户名)

database_name

别名:databaseName

字符串

Atlas 用来验证用户的数据库。

选项

  • "admin" ← (默认)

  • "$external"

group_id

别名:groupId

字符串 / 必需

Atlas 项目的唯一标识符。

password

字符串 / 必需

用户的密码。

roles

列表 / 元素=字典 / 必需

此用户的角色数组以及角色适用的数据库/集合。

角色必须包含以下元素

database_name

别名:databaseName

字符串 / 必需

用户拥有指定角色的数据库。

admin 数据库上的角色可以包含适用于其他数据库的特权。

role_name

别名:roleName

字符串 / 必需

角色名称。此值可以是内置角色或自定义角色。

scopes

列表 / 元素=字典

此用户可以访问的集群和 Atlas 数据湖列表。

默认情况下,Atlas 会授予数据库用户对所有资源的访问权限。

默认: []

name

字符串 / 必需

数据库用户可以访问的集群或 Atlas 数据湖的名称。

type

字符串

数据库用户可以访问的资源类型。

选项

  • "CLUSTER" ← (默认)

  • "DATA_LAKE"

state

字符串

资源的状态。

选项

  • "present" ← (默认)

  • "absent"

username

字符串 / 必需

用于向 MongoDB 进行身份验证的用户名。

示例

- name: test user
  community.mongodb.mongodb_atlas_user:
    api_username: "API_user"
    api_password: "API_passwort_or_token"
    group_id: "GROUP_ID"
    username: my_app_user
    password: SuperSecret!
    roles:
      - database_name: private_info
        role_name: read
      - database_name: public_info
        role_name: readWrite

作者

  • Martin Schurz (@schurzi)