New-AzureADServiceAppRoleAssignment
將應用程式角色指派給使用者、群組或其他服務主體。
Syntax
New-AzureADServiceAppRoleAssignment
-ObjectId <String>
[-InformationAction <ActionPreference>]
[-InformationVariable <String>]
-Id <String>
-PrincipalId <String>
-ResourceId <String>
[<CommonParameters>]
Description
New-AzureADServiceAppRoleAssignment Cmdlet 會將應用程式角色從資源服務主體指派給使用者、群組或其他服務主體。 指派給服務主體的應用程式角色也稱為應用程式許可權。
注意
此處描述的行為適用于 Connect-AzureAD
在沒有任何參數的情況下呼叫 ,或使用 Microsoft 擁有的應用程式身分識別。 若要深入瞭解使用客戶擁有的應用程式註冊或服務身分識別進行連線時的差異,請參閱 範例 4 。
範例
範例 1:將應用程式角色指派給另一個服務主體
PS C:\> Connect-AzureAD
PS C:\> New-AzureADServiceAppRoleAssignment -ObjectId $resource.ObjectId -ResourceId $resource.ObjectId -Id $appRole.Id -PrincipalId $client.ObjectId
在此範例中,用戶端服務主體會指派應用程式角色, (資源服務主體所定義的應用程式許可權) (例如 API) :
ObjectId
:資源服務主體的 ObjectId (例如 API) 。ResourceId
:資源服務主體的 ObjectId (例如 API) 。Id
:) 資源服務主體上定義的應用程式角色識別碼 (,) 指派給用戶端服務主體。 如果資源應用程式上未定義任何應用程式角色,您可以使用00000000-0000-0000-0000-000000000000
。PrincipalId
:您要指派應用程式角色之用戶端服務主體的 ObjectId。
注意
此範例適用于在沒有任何參數的情況下呼叫 時 Connect-AzureAD
。 請參閱 範例 4 ,以瞭解使用客戶擁有的應用程式註冊或服務身分識別連線時,如何使用此 Cmdlet。
範例 2:將應用程式角色指派給使用者
PS C:\> Connect-AzureAD
PS C:\> New-AzureADServiceAppRoleAssignment -ObjectId $resource.ObjectId -ResourceId $resource.ObjectId -Id $appRole.Id -PrincipalId $user.ObjectId
在此範例中,系統會將資源應用程式所定義的應用程式角色指派給使用者:
ObjectId
:應用程式服務主體的 ObjectId。ResourceId
:應用程式服務主體的 ObjectId。Id
:應用程式服務主體上定義的應用程式角色識別碼 () 指派給使用者。 如果資源應用程式未定義任何應用程式角色,您可以使用00000000-0000-0000-0000-000000000000
來指出應用程式已指派給使用者。PrincipalId
:您要指派應用程式角色之使用者的 ObjectId。
注意
此範例適用于在沒有任何參數的情況下呼叫 時 Connect-AzureAD
。 請參閱 範例 4 ,以瞭解使用客戶擁有的應用程式註冊或服務身分識別連線時,如何使用此 Cmdlet。
範例 3:將應用程式角色指派給群組
PS C:\> Connect-AzureAD
PS C:\> New-AzureADServiceAppRoleAssignment -ObjectId $resource.ObjectId -ResourceId $resource.ObjectId -Id $appRole.Id -PrincipalId $group.ObjectId
在此範例中,群組會指派資源應用程式所定義的應用程式角色。 所有屬於指派群組直接成員的使用者都會被視為獲指派應用程式角色:
ObjectId
:應用程式服務主體的 ObjectId。ResourceId
:應用程式服務主體的 ObjectId。Id
:應用程式服務主體上定義的應用程式角色識別碼 () 指派給群組。 如果資源應用程式上未定義任何應用程式角色,您可以使用00000000-0000-0000-0000-000000000000
來指出應用程式已指派給群組。PrincipalId
:您要指派應用程式角色之群組的 ObjectId。
注意
此範例適用于在沒有任何參數的情況下呼叫 時 Connect-AzureAD
。 請參閱 範例 4 ,以瞭解使用客戶擁有的應用程式註冊或服務身分識別連線時,如何使用此 Cmdlet。
範例 4:使用客戶擁有的應用程式或服務身分識別進行連線時
PS C:\> Connect-AzureAD -TenantId $tenantOrDomain -ApplicationId $appId -CertificateThumbprint $thumb
PS C:\> New-AzureADServiceAppRoleAssignment -ObjectId $client.ObjectId -ResourceId $resource.ObjectId -Id $appRole.Id -PrincipalId $client.ObjectId
使用客戶擁有的應用程式註冊或服務身分識別連線到 Azure AD PowerShell 模組時,此 Cmdlet 的行為會變更,包括:
- 以服務主體身分連線時,以及
- 搭配針對客戶擁有的應用程式註冊或服務身分識別取得的存取權杖使用
AadAccessToken
參數時。
在這些情況下,此 Cmdlet 僅用於將應用程式角色指派給另一個服務主體,由 ObjectId
和 PrincipalId
參數識別:
ObjectId
:您要指派應用程式角色之用戶端服務主體的 ObjectId。ResourceId
:資源服務主體的 ObjectId (例如 API) 。Id
:) 資源服務主體上定義的應用程式角色識別碼 (,) 指派給用戶端服務主體。 如果資源應用程式上未定義任何應用程式角色,您可以使用00000000-0000-0000-0000-000000000000
。PrincipalId
:您要指派應用程式角色之用戶端服務主體的 ObjectId。
使用客戶擁有的應用程式或服務身分識別進行連線時,請分別使用 New-AzureADUserAppRoleAssignment 和 New-AzureADGroupAppRoleAssignment 來建立使用者和群組的應用程式角色指派。
參數
-Id
指定要指派的資源服務主體上定義 (應用程式角色的識別碼) 。 如果資源應用程式上未定義任何應用程式角色,您可以使用 00000000-0000-0000-0000-000000000000
來指出資源應用程式或服務的指派,而不需指定應用程式角色。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InformationAction
指定此 Cmdlet 如何回應資訊事件。 此參數可接受的值為:
- 繼續
- 忽略
- 詢問
- SilentlyContinue
- Stop
- 暫止
Type: | ActionPreference |
Aliases: | infa |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InformationVariable
指定資訊變數。
Type: | String |
Aliases: | iv |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ObjectId
指定資源服務主體的 ObjectId (,例如要指派給使用者、群組或其他服務主體的應用程式或 API) 。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PrincipalId
指定要指派應用程式角色之使用者、群組或其他服務主體的 ObjectId。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ResourceId
指定資源服務主體的 ObjectId (,例如要指派給使用者、群組或其他服務主體的應用程式或 API) 。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
備註
請參閱 New-AzureADServiceAppRoleAssignment 至 Microsoft Graph PowerShell 的移轉指南。
相關連結
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應