簡體   English   中英

使用Azure KeyVault,無法在Azure Active Directory租戶中找到對象

[英]Using Azure KeyVault, cannot find object in Azure Active Directory tenant

使用Azure KeyVault我按照本指南設置了ResourceGroup,KeyVault和Key:

https://azure.microsoft.com/en-gb/documentation/articles/key-vault-get-started/

我在Active Directory中設置了應用程序客戶端。 但是當我嘗試使用時:

Set-AzureKeyVaultAccessPolicy

授予服務主體帳戶權限時出現以下錯誤:

“無法在租戶' tenantId '中找到Active Directory對象' clientId '。請確保您授權的應用程序服務主體的用戶已在當前訂閱的Azure Active目錄中注冊。”

clientId是正確的,因為它是從門戶網站中的應用程序配置頁面復制的。 租戶ID是當前訂閱的租戶ID,但不是活動目錄的租戶ID。

問題似乎是Active Directory的租戶ID與我正在使用的訂閱的租戶ID不同。 如何更改Azure門戶中Active Directory的租戶ID以匹配訂閱租戶ID?

租戶ID是指Azure AD目錄的唯一標識符。 每個Azure訂閱都與目錄(或“租戶”)相關聯。

聽起來您已將應用程序創建在與您在其中創建密鑰保管庫的Azure訂閱關聯的目錄的不同目錄中。

注冊應用程序時,當您轉到Azure管理門戶的“Active Directory”部分時,請確保選擇與您訂閱的目錄(創建Azure密鑰庫的訂閱)相關聯的目錄。

您可以在https://docs.microsoft.com/en-us/azure/key-vault/key-vault-get-started#a-idauthorizeaauthorize-the-application-to-找到的文檔有兩個問題。 使用最關鍵還是秘密

1)-ServicePrincipalName參數不應該(如鏈接中的示例所示)是客戶端ID(Guid),而是AD應用標識符Uri(您可以在AD App的屬性頁面上找到它)

2)如果您未使用門戶創建AD應用程序,但是已從Powershell Azure Resource Manager腳本創建AD應用程序,則尚未為您的AD應用程序創建服務主體。 在運行Set-AzureRmKeyVaultAccessPolicy之前,必須使用New-AzureRmADServicePrincipal cmdlet執行此操作。

總的來說,你應該擁有

$app =  New-AzureRmADApplication -DisplayName "Test" -HomePage "http://myapp.contoso.com" -IdentifierUris "http://myapp.contoso.com" -Password "password" 

New-AzureRmADServicePrincipal -ApplicationId $app.ApplicationId

Set-AzureRmKeyVaultAccessPolicy -VaultName "vaultname" -ServicePrincipalName "http://myapp.contoso.com" -PermissionsToSecrets Get 

你也可以在https://social.msdn.microsoft.com/Forums/azure/en-US/ae8d2782-ecf7-4d35-9859-d4455e65a668/setazurermkeyvaultaccesspolicy-cannot-find-the-active-directory上找到討論的問題。 -object-的租客?論壇= AzureKeyVault

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM