Cmdleten Set-AzKeyVaultAccessPolicy beviljar eller ändrar befintliga behörigheter för en användare, ett program eller en säkerhetsgrupp för att utföra de angivna åtgärderna med ett nyckelvalv. Den ändrar inte de behörigheter som andra användare, program eller säkerhetsgrupper har i nyckelvalvet.
Om du anger behörigheter för en säkerhetsgrupp påverkar den här åtgärden endast användare i den säkerhetsgruppen.
Följande kataloger måste alla vara samma Azure-katalog:
Standardkatalogen för Den Azure-prenumeration där nyckelvalvet finns.
Den Azure-katalog som innehåller den användare eller programgrupp som du beviljar behörighet till.
Exempel på scenarier när dessa villkor inte uppfylls och den här cmdleten inte fungerar är:
Ge en användare från en annan organisation behörighet att hantera ditt nyckelvalv.
Varje organisation har en egen katalog.
Ditt Azure-konto har flera kataloger.
Om du registrerar ett program i en annan katalog än standardkatalogen kan du inte tillåta att programmet använder ditt nyckelvalv.
Programmet måste finnas i standardkatalogen.
Observera att även om det är valfritt att ange resursgruppen för den här cmdleten bör du göra det för bättre prestanda.
Cmdleten kan anropa under Microsoft Graph API enligt indataparametrar:
GET /directoryObjects/{id}
GET /users/{id}
GET /users
GET /servicePrincipals/{id}
GET /servicePrincipals
GET /groups/{id}
Anmärkning
När du använder tjänstens huvudnamn för att bevilja åtkomstprincipbehörigheter måste du använda parametern -BypassObjectIdValidation .
Exempel
Exempel 1: Bevilja behörigheter till en användare för ett nyckelvalv och ändra behörigheterna
Set-AzKeyVaultAccessPolicy -VaultName 'Contoso03Vault' -UserPrincipalName 'PattiFuller@contoso.com' -PermissionsToKeys create,import,delete,list -PermissionsToSecrets set,delete -PassThru
Vault Name : Contoso03Vault
Resource Group Name : myrg
Location : westus
Resource ID : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/myrg/providers
/Microsoft.KeyVault/vaults/contoso03vault
Vault URI : https://contoso03vault.vault.azure.net/
Tenant ID : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
SKU : Standard
Enabled For Deployment? : True
Enabled For Template Deployment? : False
Enabled For Disk Encryption? : False
Soft Delete Enabled? : True
Access Policies :
Tenant ID : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
Object ID : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
Application ID :
Display Name : User Name (username@microsoft.com)
Permissions to Keys : create, import, delete, list
Permissions to Secrets : set, delete
Permissions to Certificates :
Permissions to (Key Vault Managed) Storage :
Tags :
Set-AzKeyVaultAccessPolicy -VaultName 'Contoso03Vault' -UserPrincipalName 'PattiFuller@contoso.com' -PermissionsToSecrets set,delete,get -PassThru
Vault Name : Contoso03Vault
Resource Group Name : myrg
Location : westus
Resource ID : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/myrg/providers
/Microsoft.KeyVault/vaults/contoso03vault
Vault URI : https://contoso03vault.vault.azure.net/
Tenant ID : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
SKU : Standard
Enabled For Deployment? : True
Enabled For Template Deployment? : False
Enabled For Disk Encryption? : False
Soft Delete Enabled? : True
Access Policies :
Tenant ID : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
Object ID : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
Application ID :
Display Name : User Name (username@microsoft.com)
Permissions to Keys : create, import, delete, list
Permissions to Secrets : set, delete, get
Permissions to Certificates :
Permissions to (Key Vault Managed) Storage :
Tags :
Set-AzKeyVaultAccessPolicy -VaultName 'Contoso03Vault' -UserPrincipalName 'PattiFuller@contoso.com' -PermissionsToKeys @() -PassThru
Vault Name : Contoso03Vault
Resource Group Name : myrg
Location : westus
Resource ID : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/myrg/providers
/Microsoft.KeyVault/vaults/contoso03vault
Vault URI : https://contoso03vault.vault.azure.net/
Tenant ID : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
SKU : Standard
Enabled For Deployment? : True
Enabled For Template Deployment? : False
Enabled For Disk Encryption? : False
Soft Delete Enabled? : True
Access Policies :
Tenant ID : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
Object ID : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
Application ID :
Display Name : User Name (username@microsoft.com)
Permissions to Keys :
Permissions to Secrets : set, delete, get
Permissions to Certificates :
Permissions to (Key Vault Managed) Storage :
Tags :
Det första kommandot ger behörighet för en användare i ditt Microsoft Entra-ID, , PattiFuller@contoso.comatt utföra åtgärder på nycklar och hemligheter med ett nyckelvalv med namnet Contoso03Vault.
Parametern PassThru resulterar i att det uppdaterade objektet returneras av cmdleten.
Det andra kommandot ändrar de behörigheter som har beviljats i PattiFuller@contoso.com det första kommandot för att nu tillåta att hemligheter hämtas förutom att ange och ta bort dem. Behörigheterna för nyckelåtgärder förblir oförändrade efter det här kommandot.
Det sista kommandot ändrar ytterligare befintliga behörigheter för PattiFuller@contoso.com att ta bort alla behörigheter till nyckelåtgärder. Behörigheterna för hemliga åtgärder förblir oförändrade efter det här kommandot.
Exempel 2: Bevilja behörigheter för ett huvudnamn för programtjänsten för att läsa och skriva hemligheter
Det här kommandot ger behörigheter för ett program för ett nyckelvalv med namnet Contoso03Vault.
Parametern ServicePrincipalName anger programmet. Programmet måste vara registrerat i ditt Microsoft Entra-ID. Värdet för parametern ServicePrincipalName måste vara antingen tjänstens huvudnamn för programmet eller program-ID:ts GUID.
Det här exemplet anger tjänstens huvudnamn http://payroll.contoso.comoch kommandot ger programmet behörighet att läsa och skriva hemligheter.
Exempel 3: Bevilja behörigheter för ett program med dess objekt-ID
Det här kommandot ger programmet behörighet att läsa och skriva hemligheter.
Det här exemplet anger programmet med hjälp av objekt-ID:t för programmets tjänsthuvudnamn.
Exempel 4: Bevilja behörigheter för ett huvudnamn för användaren
Det här kommandot ger behörighet för hemligheter som ska hämtas från Contoso03Vault-nyckelvalvet av Resursprovidern Microsoft.Compute.
Exempel 6: Bevilja behörigheter till en säkerhetsgrupp
Get-AzADGroup
Set-AzKeyVaultAccessPolicy -VaultName 'myownvault' -ObjectId (Get-AzADGroup -SearchString 'group2')[0].Id -PermissionsToKeys get, set -PermissionsToSecrets get, set
Det första kommandot använder cmdleten Get-AzADGroup för att hämta alla Active Directory-grupper. I utdata visas tre grupper som returneras, med namnet group1, group2 och group3. Flera grupper kan ha samma namn men har alltid ett unikt ObjectId. När fler än en grupp som har samma namn returneras använder du ObjectId i utdata för att identifiera den som du vill använda.
Sedan använder du utdata från det här kommandot med Set-AzKeyVaultAccessPolicy för att bevilja behörigheter till group2 för ditt nyckelvalv med namnet myownvault. I det här exemplet räknas grupperna med namnet "group2" upp på samma kommandorad.
Det kan finnas flera grupper i den returnerade listan med namnet "group2".
Det här exemplet väljer den första som anges av indexet [0] i den returnerade listan.
Exempel 7: Bevilja Azure Information Protection åtkomst till den kundhanterade klientnyckeln (BYOK)
Det här kommandot ger Azure Information Protection behörighet att använda en kundhanterad nyckel (scenariot Bring Your Own Key eller BYOK) som Azure Information Protection-klientnyckel.
När du kör det här kommandot anger du ditt eget nyckelvalvnamn, men du måste ange parametern ServicePrincipalName och ange behörigheterna i exemplet.
Gör att du kan ange ett objekt-ID utan att verifiera att objektet finns i Microsoft Entra-ID.
Använd endast den här parametern om du vill bevilja åtkomst till ditt nyckelvalv till ett objekt-ID som refererar till en delegerad säkerhetsgrupp från en annan Azure-klientorganisation.
Anger användarens e-postadress till den användare som ska bevilja behörigheter.
Den här e-postadressen måste finnas i katalogen som är associerad med den aktuella prenumerationen och vara unik.
Gör det möjligt för Microsoft.Compute-resursprovidern att hämta hemligheter från det här nyckelvalvet när det här nyckelvalvet refereras till när du skapar resurser, till exempel när du skapar en virtuell dator.
Anger en matris med certifikatbehörigheter som ska beviljas till en användare eller tjänstens huvudnamn.
"Alla" beviljar alla behörigheter utom "Rensa" De acceptabla värdena för den här parametern:
Anger en matris med behörigheter för nyckelåtgärder som ska beviljas till en användare eller tjänstens huvudnamn.
"Alla" beviljar alla behörigheter utom "Rensa" De acceptabla värdena för den här parametern:
Anger en matris med behörigheter för hemliga åtgärder som ska beviljas till en användare eller tjänstens huvudnamn.
"Alla" beviljar alla behörigheter utom "Rensa" De acceptabla värdena för den här parametern:
Anger behörigheter för hanterat lagringskonto och SaS-definitionsåtgärd som ska beviljas till en användare eller tjänstens huvudnamn.
"Alla" beviljar alla behörigheter utom "Rensa" De acceptabla värdena för den här parametern:
Anger tjänstens huvudnamn för programmet som behörighet ska beviljas.
Ange program-ID, även kallat klient-ID, som registrerats för programmet i Microsoft Entra-ID. Programmet med tjänstens huvudnamn som den här parametern anger måste registreras i Den Azure-katalog som innehåller din aktuella prenumeration.
ID:t för prenumerationen.
Som standard körs cmdletar i den prenumeration som anges i den aktuella kontexten. Om användaren anger en annan prenumeration körs den aktuella cmdleten i den prenumeration som användaren har angett.
Åsidosättande prenumerationer träder endast i kraft under livscykeln för den aktuella cmdleten. Den ändrar inte prenumerationen i kontexten och påverkar inte efterföljande cmdletar.
Anger användarens huvudnamn för den användare som ska bevilja behörigheter.
Det här användarens huvudnamn måste finnas i katalogen som är associerad med den aktuella prenumerationen.
Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.
Källan för det här innehållet finns på GitHub, där du även kan skapa och granska ärenden och pull-begäranden. Se vår deltagarguide för mer information.