az ad app permission

管理應用程式的 OAuth2 許可權。

命令

名稱 Description 類型 狀態
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 - 指定標識符屬性參考 oauth2PermissionScopes 或 appRole。 可能的值包括:範圍(適用於 OAuth 2.0 許可權範圍)或角色(適用於應用程式角色)。

--id

標識碼 URI、應用程式識別碼或物件識別碼。

全域參數
--debug

增加記錄詳細資訊,以顯示所有偵錯記錄。

--help -h

顯示此說明訊息並結束。

--only-show-errors

只顯示錯誤,隱藏警告。

--output -o

輸出格式。

接受的值: json, jsonc, none, table, tsv, yaml, yamlc
預設值: json
--query

JMESPath 查詢字串。 如需詳細資訊和範例,請參閱 http://jmespath.org/

--subscription

訂用帳戶的名稱或識別碼。 您可以使用 來設定預設訂用 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、應用程式識別碼或物件識別碼。

全域參數
--debug

增加記錄詳細資訊,以顯示所有偵錯記錄。

--help -h

顯示此說明訊息並結束。

--only-show-errors

只顯示錯誤,隱藏警告。

--output -o

輸出格式。

接受的值: json, jsonc, none, table, tsv, yaml, yamlc
預設值: json
--query

JMESPath 查詢字串。 如需詳細資訊和範例,請參閱 http://jmespath.org/

--subscription

訂用帳戶的名稱或識別碼。 您可以使用 來設定預設訂用 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、應用程式識別碼或物件識別碼。

選擇性參數

--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

訂用帳戶的名稱或識別碼。 您可以使用 來設定預設訂用 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]

範例

授與原生應用程式,其許可權可存取具有 2 年 TTL 的現有 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

授權存取的資源服務主體標識碼。 這會識別客戶端授權代表登入使用者呼叫的 API。

--id, --client-id

存取 API 時,授權代表已登入使用者採取行動之應用程式的用戶端服務主體標識碼。

--scope

委派許可權的宣告值以空格分隔的清單,這些宣告值應該包含在資源應用程式的存取令牌中(API)。 例如,openid User.Read GroupMember.Read.All。 每個宣告值都應該符合 API 所定義之其中一個委派許可權的值字段,這些許可權列在資源服務主體的 oauth2PermissionScopes 屬性中。

選擇性參數

--consent-type

指出是否授與用戶端應用程式的授權,以模擬所有使用者或只授與特定使用者。 'AllPrincipals' 表示模擬所有用戶的授權。 「主體」表示模擬特定用戶的授權。 系統管理員可以代表所有使用者同意。 在某些情況下,可能會授權非系統管理員使用者代表自己同意某些委派的許可權。

接受的值: AllPrincipals, Principal
預設值: AllPrincipals
--principal-id

當 consentType 為「主體」時,代表用戶端存取資源的使用者標識符。 如果 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

訂用帳戶的名稱或識別碼。 您可以使用 來設定預設訂用 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、應用程式識別碼或物件識別碼。

全域參數
--debug

增加記錄詳細資訊,以顯示所有偵錯記錄。

--help -h

顯示此說明訊息並結束。

--only-show-errors

只顯示錯誤,隱藏警告。

--output -o

輸出格式。

接受的值: json, jsonc, none, table, tsv, yaml, yamlc
預設值: json
--query

JMESPath 查詢字串。 如需詳細資訊和範例,請參閱 http://jmespath.org/

--subscription

訂用帳戶的名稱或識別碼。 您可以使用 來設定預設訂用 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、應用程式識別碼或物件識別碼。

--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

訂用帳戶的名稱或識別碼。 您可以使用 來設定預設訂用 az account set -s NAME_OR_ID帳戶。

--verbose

增加記錄詳細資訊。 使用 --debug 來取得完整偵錯記錄。