您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

az ad sp

管理 Azure Active Directory 服务主体以实现自动化身份验证。

命令

az ad sp create

创建服务主体。

az ad sp create-for-rbac

创建一个服务主体,并配置其对 Azure 资源的访问权限。

az ad sp credential

管理服务主体的凭据。

az ad sp credential delete

删除服务主体的凭据。

az ad sp credential list

列出服务主体的凭据。

az ad sp credential reset

重置服务主体凭据。

az ad sp delete

删除服务主体及其角色分配。

az ad sp list

列出服务主体。

az ad sp owner

管理服务主体所有者。

az ad sp owner list

列出服务主体所有者。

az ad sp show

获取服务主体的详细信息。

az ad sp update

更新服务主体。

az ad sp create

创建服务主体。

az ad sp create --id

示例

创建服务主体。 (自动生成)

az ad sp create --id 00000000-0000-0000-0000-000000000000

必需参数

--id

关联应用程序的标识符 uri、应用程序 id 或对象 id。

az ad sp create-for-rbac

创建一个服务主体,并配置其对 Azure 资源的访问权限。

输出包括必须保护的凭据。 请确保没有将这些凭据包含在代码中,也没有将凭据签入到源代码管理中。 或者,考虑使用托管标识(如可用)以避免使用凭据。

默认情况下,此命令将 "参与者" 角色分配给订阅范围内的服务主体。 若要降低受到泄露的服务主体的风险,请使用--skip-赋值,以避免创建角色分配,然后分配更具体的角色并将作用域缩小为资源组或资源组。 有关详细信息,请参阅 添加角色分配的步骤

警告:在未来版本中,默认情况下,此命令将不会创建 "参与者" 角色分配。 如果需要,请使用--role 参数显式创建角色分配。

az ad sp create-for-rbac [--cert]
                         [--create-cert]
                         [--keyvault]
                         [--name]
                         [--role]
                         [--scopes]
                         [--sdk-auth {false, true}]
                         [--skip-assignment {false, true}]
                         [--years]

示例

使用默认角色分配进行创建。

az ad sp create-for-rbac

使用自定义名称和默认分配创建。

az ad sp create-for-rbac -n "MyApp"

创建但不使用默认分配。

az ad sp create-for-rbac --skip-assignment

在指定范围内使用参与者角色分配进行创建。

az ad sp create-for-rbac -n "MyApp" --role Contributor --scopes /subscriptions/{SubID}/resourceGroups/{ResourceGroup1} /subscriptions/{SubID}/resourceGroups/{ResourceGroup2}

使用自签名证书创建。

az ad sp create-for-rbac --create-cert

使用自签名证书创建,并将其存储在 KeyVault 中。

az ad sp create-for-rbac --keyvault MyVault --cert CertName --create-cert

使用 KeyVault 中的现有证书创建。

az ad sp create-for-rbac --keyvault MyVault --cert CertName

可选参数

--cert

用于凭据的证书。

--create-cert

创建用于凭据的自签名证书。 仅当前操作系统用户对此证书具有读/写权限。

--keyvault

用于创建或检索证书的 KeyVault 的名称或 ID。

--name -n

要用作逻辑名称的 URI。 不需要存在。 如果不存在,CLI 将生成一个。

--role

服务主体的角色。

--scopes

应用于服务主体的角色分配的范围的空格分隔列表。 默认为当前订阅的根。 例如,/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333、/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup 或/subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM。

--sdk-auth

与 Azure SDK 身份验证文件兼容的输出结果。

接受的值: false, true
--skip-assignment

跳过创建默认分配,这允许服务主体访问当前订阅下的资源。 指定时,将忽略--scope。 稍后可以使用 az role assignment create 创建此服务主体的角色分配。

接受的值: false, true
--years

凭据有效的年数。 默认值:1年。

az ad sp delete

删除服务主体及其角色分配。

az ad sp delete --id

示例

删除服务主体及其角色分配。 (自动生成)

az ad sp delete --id 00000000-0000-0000-0000-000000000000

必需参数

--id

服务主体名称或对象 id。

az ad sp list

列出服务主体。

对于低延迟,默认情况下仅返回前100,除非提供筛选器参数或使用 "--all"。

az ad sp list [--all]
              [--display-name]
              [--filter]
              [--query-examples]
              [--show-mine]
              [--spn]

可选参数

--all

列出所有实体,如果在大组织下,将需要长时间延迟。

--display-name

对象的显示名称或其前缀。

--filter

OData 筛选器,例如--筛选 "displayname eq" test "和 servicePrincipalType eq" Application ""。

--query-examples

建议 JMESPath 字符串。 可以复制其中一个查询,然后将其粘贴在双引号内,以查看结果。 您可以添加一个或多个位置关键字,以便我们可以根据这些关键字提供建议。

--show-mine

列出当前用户拥有的实体。

--spn

服务主体名称。

az ad sp show

获取服务主体的详细信息。

az ad sp show --id
              [--query-examples]

示例

获取服务主体的详细信息。 (自动生成)

az ad sp show --id 00000000-0000-0000-0000-000000000000

必需参数

--id

服务主体名称或对象 id。

可选参数

--query-examples

建议 JMESPath 字符串。 可以复制其中一个查询,然后将其粘贴在双引号内,以查看结果。 您可以添加一个或多个位置关键字,以便我们可以根据这些关键字提供建议。

az ad sp update

更新服务主体。

az ad sp update --id
                [--add]
                [--force-string]
                [--remove]
                [--set]

示例

更新服务主体 (自动生成)

az ad sp update --id 00000000-0000-0000-0000-000000000000 --set groupMembershipClaims=All

必需参数

--id

服务主体名称或对象 id。

可选参数

--add

通过指定路径和键值对,将对象添加到对象列表中。 示例:--添加 listProperty <键 = 值、字符串或 JSON 字符串>。

--force-string

使用 "set" 或 "add" 时,保留字符串文本,而不是尝试转换为 JSON。

--remove

从列表中删除属性或元素。 示例:--remove property. list 或--Remove propertyToRemove。

--set

通过指定要设置的属性路径和值来更新对象。 示例:--set property1. property2 =.