你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

az ad app permission

管理应用程序的 OAuth2 权限。

命令

名称 说明 类型 Status
az ad app permission add

添加 API 权限。

核心 GA
az ad app permission admin-consent

通过管理员许可授予应用程序和委派的权限。

核心 GA
az ad app permission delete

删除 API 权限。

核心 GA
az ad app permission grant

向应用授予 API 委派权限。

核心 GA
az ad app permission list

列出应用程序请求的 API 权限。

核心 GA
az ad app permission list-grants

列出 Oauth2 权限授予。

核心 GA

az ad app permission add

添加 API 权限。

需要调用“az ad app permission grant”才能激活它。

若要获取资源应用的可用权限,请运行 az ad sp show --id <resource-appId>。 例如,若要获取 Microsoft Graph API 的可用权限,请运行 az ad sp show --id 00000003-0000-0000-c000-000000000000。 属性下 appRoles 的应用程序权限对应于 Role --api-permissions。 属性下的 oauth2Permissions 委托权限对应于 Scope --api-permissions。

有关 Microsoft Graph 权限的详细信息,请参阅 https://learn.microsoft.com/graph/permissions-reference

az ad app permission add --api
                         --api-permissions
                         --id

示例

添加 Microsoft Graph 委托的权限 User.Read

az ad app permission add --id {appId} --api 00000003-0000-0000-c000-000000000000 --api-permissions e1fe6dd8-ba31-4d61-89e7-88639da4683d=Scope

添加 Microsoft Graph 应用程序权限 Application.ReadWrite.All

az ad app permission add --id {appId} --api 00000003-0000-0000-c000-000000000000 --api-permissions 1bfefb4e-e0b5-418b-a88f-73c46d2cc8e9=Role

必需参数

--api

RequiredResourceAccess.resourceAppId - 应用程序需要访问的资源的唯一标识符。 这应等于在目标资源应用程序上声明的 appId。

--api-permissions

{id}={type} 的空间分隔列表。 {id} resourceAccess.id - 资源应用程序公开的 oauth2PermissionScopes 或 appRole 实例之一的唯一标识符。 {type} 是 resourceAccess.type - 指定 ID 属性引用 oauth2PermissionScopes 还是 appRole。 可能的值包括:范围(适用于 OAuth 2.0 权限范围)或角色(适用于应用角色)。

--id

标识符 URI、应用程序 ID 或对象 ID。

全局参数
--debug

提高日志记录详细程度以显示所有调试日志。

--help -h

显示此帮助消息并退出。

--only-show-errors

只显示错误,取消显示警告。

--output -o

输出格式。

接受的值: json, jsonc, none, table, tsv, yaml, yamlc
默认值: json
--query

JMESPath 查询字符串。 有关更多信息和示例,请参阅 http://jmespath.org/

--subscription

订阅的名称或 ID。 可以使用 az account set -s NAME_OR_ID 配置默认订阅。

--verbose

提高日志记录详细程度。 使用 --debug 获取完整的调试日志。

通过管理员许可授予应用程序和委派的权限。

必须以全局管理员身份登录。

az ad app permission admin-consent --id

通过管理员许可授予应用程序和委派的权限。 (自动生成)

az ad app permission admin-consent --id 00000000-0000-0000-0000-000000000000
--id

标识符 URI、应用程序 ID 或对象 ID。

全局参数
--debug

提高日志记录详细程度以显示所有调试日志。

--help -h

显示此帮助消息并退出。

--only-show-errors

只显示错误,取消显示警告。

--output -o

输出格式。

接受的值: json, jsonc, none, table, tsv, yaml, yamlc
默认值: json
--query

JMESPath 查询字符串。 有关更多信息和示例,请参阅 http://jmespath.org/

--subscription

订阅的名称或 ID。 可以使用 az account set -s NAME_OR_ID 配置默认订阅。

--verbose

提高日志记录详细程度。 使用 --debug 获取完整的调试日志。

az ad app permission delete

删除 API 权限。

az ad app permission delete --api
                            --id
                            [--api-permissions]

示例

删除 Microsoft Graph 权限。

az ad app permission delete --id eeba0b46-78e5-4a1a-a1aa-cafe6c123456 --api 00000003-0000-0000-c000-000000000000

删除 Microsoft Graph 委派的权限 User.Read

az ad app permission delete --id eeba0b46-78e5-4a1a-a1aa-cafe6c123456 --api 00000003-0000-0000-c000-000000000000 --api-permissions e1fe6dd8-ba31-4d61-89e7-88639da4683d

必需参数

--api

RequiredResourceAccess.resourceAppId - 应用程序需要访问的资源的唯一标识符。 这应等于在目标资源应用程序上声明的 appId。

--id

标识符 URI、应用程序 ID 或对象 ID。

可选参数

--api-permissions

指定 ResourceAccess.id - 资源应用程序公开的其中一个 OAuth2Permission 或 AppRole 实例的唯一标识符。 空格分隔的列表 <resource-access-id>

全局参数
--debug

提高日志记录详细程度以显示所有调试日志。

--help -h

显示此帮助消息并退出。

--only-show-errors

只显示错误,取消显示警告。

--output -o

输出格式。

接受的值: json, jsonc, none, table, tsv, yaml, yamlc
默认值: json
--query

JMESPath 查询字符串。 有关更多信息和示例,请参阅 http://jmespath.org/

--subscription

订阅的名称或 ID。 可以使用 az account set -s NAME_OR_ID 配置默认订阅。

--verbose

提高日志记录详细程度。 使用 --debug 获取完整的调试日志。

az ad app permission grant

向应用授予 API 委派权限。

运行此命令时,应用必须存在服务主体。 若要创建相应的服务主体,请使用 az ad sp create --id {appId}。 对于应用程序权限,请使用“广告应用权限管理员许可”。

az ad app permission grant --api,
                           --id,
                           --scope
                           [--consent-type {AllPrincipals, Principal}]
                           [--principal-id]

示例

向本机应用程序授予访问 TTL 为 2 年的现有 API 的权限

az ad app permission grant --id e042ec79-34cd-498f-9d9f-1234234 --api a0322f79-57df-498f-9d9f-12678 --scope Directory.Read.All

必需参数

--api, --resource-id

有权访问的资源服务主体的 ID。 这标识客户端有权尝试代表已登录用户调用的 API。

--id, --client-id

有权在访问 API 时代表已登录用户执行操作的应用程序的客户端服务主体的 ID。

--scope

委托权限的声明值的空格分隔列表,这些声明值应包含在资源应用程序(API)的访问令牌中。 例如,openid User.Read GroupMember.Read.All。 每个声明值都应与 API 定义的委托权限之一的值字段匹配,这些权限列在资源服务主体的 oauth2PermissionScopes 属性中。

可选参数

--consent-type

指示是否授予客户端应用程序模拟所有用户或仅特定用户的授权。 “AllPrincipals”表示授权模拟所有用户。 “Principal”表示模拟特定用户的授权。 管理员可以代表所有用户授予同意。 在某些情况下,对于某些委派的权限,非管理员用户可能有权代表自己同意。

接受的值: AllPrincipals, Principal
默认值: AllPrincipals
--principal-id

当 consentType 为“Principal”时,客户端有权访问资源的用户的 ID。 如果 consentType 为“AllPrincipals”,则此值为 null。 consentType 为“Principal”时是必需的。

全局参数
--debug

提高日志记录详细程度以显示所有调试日志。

--help -h

显示此帮助消息并退出。

--only-show-errors

只显示错误,取消显示警告。

--output -o

输出格式。

接受的值: json, jsonc, none, table, tsv, yaml, yamlc
默认值: json
--query

JMESPath 查询字符串。 有关更多信息和示例,请参阅 http://jmespath.org/

--subscription

订阅的名称或 ID。 可以使用 az account set -s NAME_OR_ID 配置默认订阅。

--verbose

提高日志记录详细程度。 使用 --debug 获取完整的调试日志。

az ad app permission list

列出应用程序请求的 API 权限。

az ad app permission list --id

示例

列出应用程序的 OAuth2 权限。

az ad app permission list --id e042ec79-34cd-498f-9d9f-1234234

必需参数

--id

关联的应用程序的标识符 URI、应用程序 ID 或对象 ID。

全局参数
--debug

提高日志记录详细程度以显示所有调试日志。

--help -h

显示此帮助消息并退出。

--only-show-errors

只显示错误,取消显示警告。

--output -o

输出格式。

接受的值: json, jsonc, none, table, tsv, yaml, yamlc
默认值: json
--query

JMESPath 查询字符串。 有关更多信息和示例,请参阅 http://jmespath.org/

--subscription

订阅的名称或 ID。 可以使用 az account set -s NAME_OR_ID 配置默认订阅。

--verbose

提高日志记录详细程度。 使用 --debug 获取完整的调试日志。

az ad app permission list-grants

列出 Oauth2 权限授予。

az ad app permission list-grants [--filter]
                                 [--id]
                                 [--show-resource-name {false, true}]

示例

列出向服务主体授予的 oauth2 权限

az ad app permission list-grants --id e042ec79-34cd-498f-9d9f-1234234123456

可选参数

--filter

OData 筛选器,例如 --filter “displayname eq 'test' and servicePrincipalType eq 'Application'”。

--id

标识符 URI、应用程序 ID 或对象 ID。

--show-resource-name -r

显示资源的显示名称。

接受的值: false, true
全局参数
--debug

提高日志记录详细程度以显示所有调试日志。

--help -h

显示此帮助消息并退出。

--only-show-errors

只显示错误,取消显示警告。

--output -o

输出格式。

接受的值: json, jsonc, none, table, tsv, yaml, yamlc
默认值: json
--query

JMESPath 查询字符串。 有关更多信息和示例,请参阅 http://jmespath.org/

--subscription

订阅的名称或 ID。 可以使用 az account set -s NAME_OR_ID 配置默认订阅。

--verbose

提高日志记录详细程度。 使用 --debug 获取完整的调试日志。