azure.azcollection.azure_rm_adapplication 模块 – 管理 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_adapplication。
azure.azcollection 1.6.0 中的新增功能
概要
- 管理 Azure Active Directory 应用程序。 
要求
执行此模块的主机需要以下要求。
- python >= 2.7 
- 执行此模块的主机必须通过 galaxy 安装 azure.azcollection 集合 
- 集合的 requirements.txt 中列出的所有 python 包都必须通过 pip 安装在执行 azure.azcollection 中模块的主机上 
- 完整的安装说明可在 https://galaxy.ansible.com/azure/azcollection 找到 
参数
| 参数 | 注释 | 
|---|---|
| Active Directory 用户名。在使用 Active Directory 用户而不是服务主体进行身份验证时使用。 | |
| Azure AD 授权 URL。在使用用户名/密码进行身份验证并且拥有自己的 ADFS 授权时使用。 | |
| 应用程序上的一个属性,用于指示应用程序是否接受其他 IDP 或不接受或部分接受。 选项 
 | |
| 选择与 Azure 服务通信时要使用的 API 配置文件。对于公共云, 默认值:  | |
| 应用程序 ID。 | |
| 声明您想与应用程序关联的角色。 | |
| 指定此应用程序角色是否可以分配给用户和组 _allowed_member_types=User_。 分配给其他应用程序的 _allowed_member_types=Application_。 或同时  | |
| 应用程序角色的描述。 分配应用程序角色时显示此信息。 如果应用程序角色充当应用程序权限,则在同意体验期间。 | |
| 显示在应用程序角色分配和同意体验中的权限的显示名称。 | |
| 在创建或更新应用程序角色时,必须将其设置为 true(这是默认值)。 要删除角色,必须先将其设置为 false。 在这一点上,在随后的调用中,可以删除此角色。 选项 
 | |
| 指定要在身份令牌和访问令牌中包含的角色声明值,这些令牌对分配的用户或服务主体进行身份验证。 长度不能超过 120 个字符。 允许的字符包括 ! 任何其他字符(包括空格字符)都不允许。 | |
| 控制用于身份验证的凭据来源。 也可以通过  设置为  设置为  设置为  设置为  设置为  
 选项 
 | |
| 控制 Azure 端点的证书验证行为。默认情况下,所有模块都会验证服务器证书,但在使用 HTTPS 代理或针对 Azure Stack 时,可能需要通过传递  选项 
 | |
| Azure 客户端 ID。使用服务主体或托管标识 (msi) 进行身份验证时使用。 也可以通过  | |
| 对于除美国公共云以外的云环境,环境名称(由 Azure Python SDK 定义,例如  默认值:  | |
| 密码的描述。 | |
| 确定在尝试进行身份验证时是否执行实例发现。将其设置为 true 将完全禁用实例发现和权限验证。此功能旨在用于无法访问元数据端点的场景,例如私有云或 Azure Stack。实例发现过程需要从 https://login.microsoft.com/ 获取权限元数据以验证权限。将其设置为 **True** 将禁用权限验证。因此,务必确保配置的权限主机有效且值得信赖。 通过凭据文件配置文件或  选项 
 | |
| 应用程序的显示名称。 | |
| 凭据过期后的日期或日期时间(例如“2017-12-31”)。 默认值为当前时间一年后。 | |
| 用户可以登录并使用您的应用程序的 URL。 | |
| Azure AD 可为此应用程序使用的空格分隔的唯一 URI。 | |
| 与应用程序关联的密钥凭据的类型。 选项 
 | |
| 与应用程序关联的密钥凭据的用途。 选项 
 | |
| 与应用程序关联的密钥凭据的值。 | |
| 父参数。 | |
| 父参数。 | |
| 可以安装在用户设备或计算机上的应用程序。 选项 
 | |
| 是否允许 OAuth2 的隐式授权流程。 选项 
 | |
| 声明应用程序的可选声明。 | |
| JWT 访问令牌中返回的可选声明 | |
| 声明的其他属性。 如果此集合中存在属性,则它会修改名称属性中指定的可选声明的行为。 | |
| 如果值为 true,则客户端指定的声明对于确保最终用户请求的特定任务的顺利授权体验是必要的。 默认值为 false。 选项 
 | |
| 可选声明的名称。 | |
| 声明的来源(目录对象)。 有预定义的声明和来自扩展属性的用户定义的声明。 如果 source 值为 null,则该声明是预定义的可选声明。 如果 source 值为 user,则 name 属性中的值是用户对象中的扩展属性。 | |
| JWT ID 令牌中返回的可选声明 | |
| 声明的其他属性。 如果此集合中存在属性,则它会修改名称属性中指定的可选声明的行为。 | |
| 如果值为 true,则客户端指定的声明对于确保最终用户请求的特定任务的顺利授权体验是必要的。 默认值为 false。 选项 
 | |
| 可选声明的名称。 | |
| 声明的来源(目录对象)。 有预定义的声明和来自扩展属性的用户定义的声明。 如果 source 值为 null,则该声明是预定义的可选声明。 如果 source 值为 user,则 name 属性中的值是用户对象中的扩展属性。 | |
| SAML 令牌中返回的可选声明 | |
| 声明的其他属性。 如果此集合中存在属性,则它会修改名称属性中指定的可选声明的行为。 | |
| 如果值为 true,则客户端指定的声明对于确保最终用户请求的特定任务的顺利授权体验是必要的。 默认值为 false。 选项 
 | |
| 可选声明的名称。 | |
| 声明的来源(目录对象)。 有预定义的声明和来自扩展属性的用户定义的声明。 如果 source 值为 null,则该声明是预定义的可选声明。 如果 source 值为 user,则 name 属性中的值是用户对象中的扩展属性。 | |
| 应用程序密码,也称为“客户端密钥”。 | |
| 在 ~/.azure/credentials 文件中找到的安全配置文件。 | |
| 公共客户端重定向 URL。 Azure AD 将响应 OAuth 2.0 请求重定向到的空格分隔的 URI。 该值不需要是物理端点,但必须是有效的 URI。 | |
| 应用程序需要访问的资源范围和角色。 应采用清单 JSON 格式。 | |
| 应用程序角色的描述。 | |
| 资源应用程序公开的 oauth2PermissionScopes 或 appRole 实例之一的唯一标识符。 | |
| 指定 id 属性是引用 oauth2PermissionScopes 还是 appRole。 可能的值是 Scope 或 Role。 | |
| 应用程序需要访问的资源的唯一标识符。 这应该等于目标资源应用程序上声明的 appId。 | |
| Azure 客户端密钥。使用服务主体进行身份验证时使用。 | |
| 应用程序可用于任何 Azure AD 租户。 Microsoft Graph SDK 已弃用 *available_to_other_tenants*,替换为 *sign_in_audience*。 选项 
 | |
| SPA 重定向 URL。 Azure AD 将响应 OAuth 2.0 请求重定向到的空格分隔的 URI。 该值不需要是物理端点,但必须是有效的 URI。 | |
| 凭据生效的日期或日期时间,例如“2017-01-01”。 默认值为当前时间。 | |
| 声明 Active Directory 服务主体的状态。 使用  选项 
 | |
| 您的 Azure 订阅 ID。 | |
| Azure 租户 ID。使用服务主体进行身份验证时使用。 | |
| *x509_certificate_path* 中指定的私钥的指纹。 使用服务主体进行身份验证时使用。 如果定义了 *x509_certificate_path*,则为必需。 | |
| Web 重定向 URL。 Azure AD 将响应 OAuth 2.0 请求重定向到的空格分隔的 URI。 该值不需要是物理端点,但必须是有效的 URI。 | |
| 用于创建 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 中。这是一个包含 [default] 部分和以下密钥的 ini 文件:subscription_id、client_id、secret 和 tenant 或 subscription_id、ad_user 和 password。也可以添加其他配置文件。通过传递 profile 或在环境中设置 AZURE_PROFILE 来指定配置文件。 
另请参阅
另请参阅
- 使用 Azure CLI 登录
- 如何使用 - az login命令进行身份验证。
示例
- name: Create ad application
  azure_rm_adapplication:
    display_name: "{{ display_name }}"
- name: Create ad application with multi redirect urls
  azure_rm_adapplication:
    display_name: "{{ display_name }}"
    web_reply_urls:
      - https://web01.com
    spa_reply_urls:
      - https://spa01.com
      - https://spa02.com
    public_client_reply_urls:
      - https://public01.com
      - https://public02.com
- name: Create application with more parameter
  azure_rm_adapplication:
    display_name: "{{ display_name }}"
    sign_in_audience: AzureADandPersonalMicrosoftAccount
    credential_description: "for test"
    end_date: 2021-10-01
    start_date: 2021-05-18
    identifier_uris: fredtest02.com
- name: delete ad application
  azure_rm_adapplication:
    app_id: "{{ app_id }}"
    state: absent
返回值
常见的返回值已在 此处 记录,以下是此模块特有的字段
| Key | 描述 | 
|---|---|
| 应用程序 ID。 已返回:始终 示例:  | |
| 对象的显示名称或其前缀。 已返回:始终 示例:  | |
| 用户可以登录并使用您的应用程序的 URL。 已返回:始终 | |
| Azure AD 可为此应用程序使用的空格分隔的唯一 URI。 已返回:始终 示例:  | |
| 是否允许 OAuth2 的隐式授权流程。 已返回:始终 示例:  | |
| 应用程序的 Object ID 已返回:始终 示例:  | |
| 声明应用程序的可选声明。 已返回:始终 | |
| JWT 访问令牌中返回的可选声明 已返回:始终 示例:  | |
| JWT ID 令牌中返回的可选声明 已返回:始终 示例:  | |
| SAML 令牌中返回的可选声明 已返回:始终 示例:  | |
| 公共客户端重定向 URL。 Azure AD 将响应 OAuth 2.0 请求重定向到的空格分隔的 URI。 已返回:始终 示例:  | |
| 应用程序可用于任何 Azure AD 租户。 已返回:始终 示例:  | |
| SPA 重定向 URL。 Azure AD 将响应 OAuth 2.0 请求重定向到的空格分隔的 URI。 已返回:始终 示例:  | |
| Web 重定向 URL。 Azure AD 将响应 OAuth 2.0 请求重定向到的空格分隔的 URI。 已返回:始终 示例:  | 
