[英]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.