azure.azcollection.azure_rm_aduser 模块 – 修改 Azure Active Directory 用户
注意
此模块是 azure.azcollection 集合(版本 3.1.0)的一部分。
如果您正在使用 ansible
包,则可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用: ansible-galaxy collection install azure.azcollection
。您需要其他要求才能使用此模块,有关详细信息,请参阅要求。
要在 Playbook 中使用它,请指定:azure.azcollection.azure_rm_aduser
。
azure.azcollection 1.5.0 中的新增功能
概要
创建、删除和更新 Azure Active Directory 用户。
要求
执行此模块的主机需要满足以下要求。
python >= 2.7
执行此模块的主机必须通过 galaxy 安装了 azure.azcollection 集合
必须通过 pip 在执行来自 azure.azcollection 模块的主机上安装集合的 requirements.txt 中列出的所有 python 包
完整的安装说明可以在 https://galaxy.ansible.com/azure/azcollection 中找到
参数
参数 |
注释 |
---|---|
一个布尔值,确定是否启用用户帐户。 在创建或更新用户帐户时使用。 选择
|
|
Active Directory 用户名。当使用 Active Directory 用户而不是服务主体进行身份验证时使用。 |
|
Azure AD 授权 URL。当使用用户名/密码进行身份验证,并且拥有自己的 ADFS 授权时使用。 |
|
选择在与 Azure 服务通信时使用的 API 配置文件。默认值 默认值: |
|
您想要与 attribute_value 匹配的属性的名称。 如果 attribute_name 不是集合类型,它将更新或删除 attribute_name 等于 attribute_value 的用户。 如果 attribute_name 是集合类型,它将更新或删除 attribute_value 在 attribute_name 中的用户。 与 object_id、user_principal_name 和 odata_filter 互斥。 与 attribute_value 一起使用是必需的。 |
|
要与 attribute_name 匹配的值。 如果 attribute_name 不是集合类型,它将更新或删除 attribute_name 等于 attribute_value 的用户。 如果 attribute_name 是集合类型,它将更新或删除 attribute_value 在 attribute_name 中的用户。 与 attribute_name 一起使用是必需的。 |
|
控制用于身份验证的凭据的来源。 也可以通过 当设置为 当设置为 当设置为 当设置为 当设置为
选择
|
|
控制 Azure 端点的证书验证行为。默认情况下,所有模块都会验证服务器证书,但是当使用 HTTPS 代理时,或者针对 Azure Stack 时,可能需要通过传递 选择
|
|
Azure 客户端 ID。当使用服务主体或托管标识 (msi) 进行身份验证时使用。 也可以通过 |
|
对于美国公共云以外的云环境,环境名称(由 Azure Python SDK 定义,例如 默认值: |
|
用户关联的公司名称。 此属性可用于描述外部用户来自的公司。 最大长度为 64 个字符。仅在 $select 时返回。 支持 $filter(eq、ne、not、ge、le、in、startsWith 和对 null 值的 eq)。 |
|
确定在尝试身份验证时是否执行实例发现。将其设置为 true 将完全禁用实例发现和授权验证。此功能旨在用于无法访问元数据端点(例如在私有云或 Azure Stack 中)的情况。实例发现的过程包括从 https://login.microsoft.com/ 检索授权元数据以验证授权。通过将此设置为 **True**,将禁用授权的验证。因此,至关重要的是要确保配置的授权主机是有效且可信的。 通过凭据文件配置文件或 选择
|
|
用户的显示名称。 在创建或更新用户帐户时使用。 |
|
用户的名字。 在创建或更新用户帐户时使用。 |
|
父参数。 |
|
父参数。 |
|
用户的主要电子邮件地址。 在创建或更新用户帐户时使用。 |
|
用户的邮件别名。 在创建或更新用户帐户时使用。 |
|
用户的手机号码。 在创建或更新用户帐户时使用。 |
|
用户的对象 ID。 更新或删除具有此对象 ID 的用户。 与 user_principal_name、attribute_name 和 odata_filter 互斥。 |
|
可用于指定要更新或删除的用户的过滤器。 与 object_id、attribute_name 和 user_principal_name 互斥。 |
|
包含用户的 extensionAttributes1-15。 这些扩展属性也称为 Exchange 自定义属性 1-15。 对于已启用 onPremisesSync 的用户,此属性集的授权源是本地,并且是只读的。 对于仅限云的用户(其中 onPremisesSyncEnabled 为 false),可以在创建或更新用户对象期间设置这些属性。 对于先前从本地 Active Directory 同步的仅限云的用户,这些属性在 Microsoft Graph 中是只读的,但可以通过 Exchange 管理中心或 PowerShell 中的 Exchange Online V2 模块进行完全管理。 |
|
用户的 on_premises_immutable_id。 在创建或更新用户帐户时使用。 |
|
Active Directory 用户密码。当使用 Active Directory 用户而不是服务主体进行身份验证时使用。 |
|
用户是否将在下次登录时被强制更改密码。 如果未指定,Azure 会将新用户的此值默认为 true。 在创建或更新用户帐户时使用。 选择
|
|
与 password_force_change 的行为相同,但必须在更改密码之前执行多因素身份验证 (MFA)。 在创建或更新用户帐户时使用。 选择
|
|
用户的密码。 在创建或更新用户帐户时使用。 |
|
在 ~/.azure/credentials 文件中找到的安全配置文件。 |
|
Azure 客户端密钥。当使用服务主体进行身份验证时使用。 |
|
AD 用户的状态。使用 选择
|
|
您的 Azure 订阅 ID。 |
|
用户的姓氏。 在创建或更新用户帐户时使用。 |
|
Azure 租户 ID。当使用服务主体进行身份验证时使用。 |
|
x509_certificate_path 中指定的私钥的指纹。 当使用服务主体进行身份验证时使用。 如果定义了 x509_certificate_path,则为必需。 |
|
一个两位数的国家/地区代码,ISO 标准 3166。 对于将分配许可证的用户是必需的,因为法律要求检查各国/地区的服务可用性。 在创建或更新用户帐户时使用。 |
|
用户的主体名称。 创建、更新或删除具有此主体名称的用户。 与 object_id、attribute_name 和 odata_filter 互斥。 |
|
一个字符串值,可用于对目录中的用户类型进行分类,例如“成员”和“来宾”。 在创建或更新用户帐户时使用。 |
|
用于创建 PEM 格式的服务主体的 X509 证书的路径。 证书必须附加到私钥。 当使用服务主体进行身份验证时使用。 |
注释
注意
要使用 Azure 进行身份验证,您可以传递参数、设置环境变量、使用存储在 ~/.azure/credentials 中的配置文件,或者在运行任务或剧本之前使用
az login
登录。还可以使用服务主体或 Active Directory 用户进行身份验证。
要通过服务主体进行身份验证,请传递 subscription_id、client_id、secret 和 tenant 或设置环境变量 AZURE_SUBSCRIPTION_ID、AZURE_CLIENT_ID、AZURE_SECRET 和 AZURE_TENANT。
要通过 Active Directory 用户进行身份验证,请传递 ad_user 和 password,或在环境中设置 AZURE_AD_USER 和 AZURE_PASSWORD。
或者,凭据可以存储在 ~/.azure/credentials 中。这是一个 ini 文件,其中包含 [default] 部分和以下键:subscription_id、client_id、secret 和 tenant 或 subscription_id、ad_user 和 password。还可以添加其他配置文件。通过传递 profile 或在环境中设置 AZURE_PROFILE 来指定配置文件。
另请参阅
另请参阅
- 使用 Azure CLI 登录
如何使用
az login
命令进行身份验证。
示例
- name: Create user
azure_rm_aduser:
user_principal_name: "{{ user_id }}"
state: "present"
account_enabled: "True"
display_name: "Test_{{ user_principal_name }}_Display_Name"
password_profile: "password"
mail_nickname: "Test_{{ user_principal_name }}_mail_nickname"
on_premises_immutable_id: "{{ object_id }}"
given_name: "First"
surname: "Last"
user_type: "Member"
usage_location: "US"
mail: "{{ user_principal_name }}@contoso.com"
mobile_phone: "+1234567890123"
company_name: 'Test Company'
on_premises_extension_attributes:
extension_attribute1: "test_extension_attribute1"
extension_attribute2: "test_extension_attribute2"
extension_attribute11: "test_extension_attribute11"
- name: Update user with new value for account_enabled
azure_rm_aduser:
user_principal_name: "{{ user_id }}"
state: "present"
account_enabled: "False"
- name: Delete user
azure_rm_aduser:
user_principal_name: "{{ user_id }}"
state: "absent"
返回值
常见返回值记录在 此处,以下是此模块特有的字段
键 |
描述 |
---|---|
该帐户是否已启用。 返回:始终 示例: |
|
用户关联的公司名称。 返回:始终 示例: |
|
用户的显示名称。 返回:始终 示例: |
|
用户的邮件别名。 返回:始终 示例: |
|
用户的手机号码。 返回:始终 示例: |
|
用户的 object_id。 返回:始终 示例: |
|
包含用户的 extensionAttributes1-15。 这些扩展属性也称为 Exchange 自定义属性 1-15。 对于已启用 onPremisesSync 的用户,此属性集的授权源是本地,并且是只读的。 对于仅限云的用户(其中 onPremisesSyncEnabled 为 false),可以在创建或更新用户对象期间设置这些属性。 对于先前从本地 Active Directory 同步的仅限云的用户,这些属性在 Microsoft Graph 中是只读的,但可以通过 Exchange 管理中心或 PowerShell 中的 Exchange Online V2 模块进行完全管理。 返回:始终 示例: |
|
一个字符串值,可用于对目录中的用户类型进行分类。 返回:始终 示例: |