2015-07-07 20 views
7

Utilizzando keyvault Azure Ho creato un ResourceGroup, keyvault e la chiave seguendo questa guida:Utilizzando Azure keyvault, non riesce a trovare l'oggetto in Azure inquilino Active Directory

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

Ho installato il client di applicazioni in Active Directory. Tuttavia quando provo ad usare:

Set-AzureKeyVaultAccessPolicy 

per concedere le autorizzazioni per l'applicazione client ottengo un errore affermando:

"Impossibile trovare l'oggetto di Active Directory 'clientid' in tenant 'tenantId' Assicurarsi che l'utente dell'entità servizio dell'applicazione che si sta autorizzando sia registrato nella directory attiva di Azure della sottoscrizione corrente. "

Il clientId è corretto poiché è stato copiato dalla pagina di configurazione dell'applicazione nel portale. L'ID tenant è l'ID tenant per la sottoscrizione corrente .. ma non per la directory attiva.

Il problema sembra essere che l'ID tenant per Active Directory è diverso dall'ID tenant per l'abbonamento che sto utilizzando. Come si modifica l'ID tenant della mia Active Directory nel portale di Azure in modo che corrisponda all'ID del titolare dell'abbonamento?

+0

Penso che questo è un problema per gli abbonamenti che hanno più di un directory attiva. La directory attiva "primaria" funzionerà, ma gli altri no. Questo sembra un bug, perché significa che non puoi usare Key Vault con le directory attive al di fuori di quella principale a cui è collegato il tuo abbonamento. –

risposta

3

L'ID tenant fa riferimento all'identificatore univoco della directory di Azure AD. Ogni abbonamento di Azure è associato a una directory (o "titolare").

Sembra che tu abbia creato l'applicazione in una directory diversa dalla directory associata alla sottoscrizione di Azure in cui hai creato il Key Vault.

Quando si registrano le applicazioni, quando si accede alla sezione "Active Directory" del portale di Azure Management, assicurarsi di scegliere la stessa directory di quella a cui si è abbonati (la sottoscrizione in cui è stato creato Azure Key Vault) è associato.

+0

Grazie, penso di vedere l'annuncio sbagliato. Il problema è che non riesco a vedere nessun altro. Lo esaminerò ulteriormente e aggiornerò una volta che avrò scoperto cosa sta succedendo. – Banford

+0

Ciò può accadere se si tratta di una sottoclasse EA invece di "account consumer/microsoft". –

2

Ci sono due cose sbagliate con la documentazione si possono trovare sul https://docs.microsoft.com/en-us/azure/key-vault/key-vault-get-started#a-idauthorizeaauthorize-the-application-to-use-the-key-or-secret

1) Il parametro -ServicePrincipalName non dovrebbe (come l'esempio nel collegamento suggerisce) essere l'ID client (GUID), ma le applicazioni AD Identificatore Uri (puoi trovarlo nella pagina delle proprietà dell'app AD)

2) Se non hai creato l'app AD utilizzando il portale, ma l'hai creata dagli script di Azure Resource Manager di Powershell, non è stato creato un principal di servizio per la tua app AD ancora. È necessario farlo utilizzando il cmdlet New-AzureRmADServicePrincipal, prima di eseguire Set-AzureRmKeyVaultAccessPolicy.

In totale, si dovrebbe quindi avere

$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 

È inoltre possibile trovare la discussione regarind questo su https://social.msdn.microsoft.com/Forums/azure/en-US/ae8d2782-ecf7-4d35-9859-d4455e65a668/setazurermkeyvaultaccesspolicy-cannot-find-the-active-directory-object-in-tenant-?forum=AzureKeyVault

Problemi correlati