Modificare l'ID tenant per un insieme di credenziali delle chiavi dopo lo spostamento di una sottoscrizioneChange a key vault tenant ID after a subscription move

D: la sottoscrizione è stata spostata dal tenant A al tenant B. Come è possibile modificare l'ID tenant per l'insieme di credenziali delle chiavi esistente e impostare gli ACL corretti per le entità nel tenant B?Q: My subscription was moved from tenant A to tenant B. How do I change the tenant ID for my existing key vault and set correct ACLs for principals in tenant B?

Quando si crea un nuovo insieme di credenziali delle chiavi in una sottoscrizione, questo viene automaticamente associato all'ID tenant di Azure Active Directory predefinito per la sottoscrizione.When you create a new key vault in a subscription, it is automatically tied to the default Azure Active Directory tenant ID for that subscription. All'ID tenant vengono associate anche tutte le voci dei criteri di accesso.All access policy entries are also tied to this tenant ID. Quando si sposta la sottoscrizione di Azure dal tenant A al tenant B, gli insiemi di credenziali delle chiavi esistenti non sono accessibili dalle entità, ossia utenti e applicazioni, nel tenant B. Per risolvere questo problema è necessario:When you move your Azure subscription from tenant A to tenant B, your existing key vaults are inaccessible by the principals (users and applications) in tenant B. To fix this issue, you need to:

  • Modificare in tenant B l'ID tenant associato a tutti gli insiemi di credenziali delle chiavi esistenti nella sottoscrizione.Change the tenant ID associated with all existing key vaults in this subscription to tenant B.
  • Rimuovere tutte le voci dei criteri di accesso esistenti.Remove all existing access policy entries.
  • Aggiungere nuove voci dei criteri di accesso associate al tenant B.Add new access policy entries that are associated with tenant B.

Se ad esempio è presente un insieme di credenziali delle chiavi 'myvault' in una sottoscrizione che è stata spostata dal tenant A al tenant B, sarà possibile modificare l'ID tenant per questo insieme di credenziali delle chiavi e rimuovere i criteri di accesso precedenti come segue.For example, if you have key vault 'myvault' in a subscription that has been moved from tenant A to tenant B, here's how to change the tenant ID for this key vault and remove old access policies.

$Select-AzureRmSubscription -SubscriptionId YourSubscriptionID
$vaultResourceId = (Get-AzureRmKeyVault -VaultName myvault).ResourceId
$vault = Get-AzureRmResource –ResourceId $vaultResourceId -ExpandProperties
$vault.Properties.TenantId = (Get-AzureRmContext).Tenant.TenantId
$vault.Properties.AccessPolicies = @()
Set-AzureRmResource -ResourceId $vaultResourceId -Properties $vault.Properties

Prima dello spostamento, questo insieme di credenziali si trovava nel tenant A. Il valore originale di $vault.Properties.TenantId è quindi il tenant A, mentre (Get-AzureRmContext).Tenant.TenantId è il tenant B.Because this vault was in tenant A before the move, the original value of $vault.Properties.TenantId is tenant A, while (Get-AzureRmContext).Tenant.TenantId is tenant B.

Ora che l'insieme di credenziali è associato all'ID tenant corretto e le voci dei criteri di accesso precedenti sono state rimosse, impostare le nuove voci dei criteri di accesso con Set-AzureRmKeyVaultAccessPolicy.Now that your vault is associated with the correct tenant ID and old access policy entries are removed, set new access policy entries with Set-AzureRmKeyVaultAccessPolicy.

Passaggi successiviNext steps

In caso di domande sull'insieme di credenziali delle chiavi di Azure, visitare i forum sull'insieme di credenziali delle chiavi di Azure.If you have questions about Azure Key Vault, visit the Azure Key Vault Forums.