Rutina Set-AzKeyVaultAccessPolicy uděluje nebo upravuje stávající oprávnění pro uživatele, aplikaci nebo skupinu zabezpečení, aby prováděla zadané operace s trezorem klíčů. Neupravuje oprávnění, která mají jiní uživatelé, aplikace nebo skupiny zabezpečení v trezoru klíčů.
Pokud nastavujete oprávnění pro skupinu zabezpečení, tato operace ovlivní jenom uživatele v této skupině zabezpečení.
Všechny následující adresáře musí být stejné Azure adresáři:
Výchozí adresář předplatného Azure, ve kterém se nachází trezor klíčů.
Adresář Azure, který obsahuje uživatele nebo skupinu aplikací, ke které udělujete oprávnění.
Příklady scénářů, kdy tyto podmínky nejsou splněny, a tato rutina nebude fungovat:
Autorizace uživatele z jiné organizace pro správu trezoru klíčů
Každá organizace má svůj vlastní adresář.
Váš účet Azure má více adresářů.
Pokud zaregistrujete aplikaci v jiném adresáři, než je výchozí adresář, nemůžete tuto aplikaci autorizovat k používání trezoru klíčů.
Aplikace musí být ve výchozím adresáři.
Všimněte si, že i když je pro tuto rutinu zadat skupinu prostředků volitelnou, měli byste to udělat, abyste měli lepší výkon.
Rutina může volat následující Graph API Microsoftu podle vstupních parametrů:
GET /directoryObjects/{id}
GET /users/{id}
GET /users
GET /servicePrincipals/{id}
GET /servicePrincipals
GET /groups/{id}
Note
Při použití instančního objektu k udělení oprávnění zásad přístupu je nutné použít -BypassObjectIdValidation parametr.
Příklady
Příklad 1: Udělení oprávnění uživateli pro trezor klíčů a úprava oprávnění
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 :
První příkaz udělí uživateli ve vašem Microsoft Entra ID oprávnění PattiFuller@contoso.com k provádění operací s klíči a tajnými klíči s trezorem klíčů s názvem Contoso03Vault. Výsledkem parametru PassThru je aktualizovaný objekt vrácený rutinou.
Druhý příkaz upraví oprávnění udělená PattiFuller@contoso.com v prvním příkazu, aby teď umožňoval získání tajných kódů kromě nastavení a odstranění. Po tomto příkazu zůstanou oprávnění k operacím klíčů beze změny.
Poslední příkaz dále upraví stávající oprávnění, PattiFuller@contoso.com aby odebrala všechna oprávnění k operacím klíčů. Oprávnění k operacím tajných kódů zůstávají po tomto příkazu beze změny.
Příklad 2: Udělení oprávnění pro instanční objekt aplikace ke čtení a zápisu tajných kódů
Tento příkaz uděluje oprávnění pro aplikaci pro trezor klíčů s názvem Contoso03Vault.
Parametr ServicePrincipalName určuje aplikaci. Aplikace musí být zaregistrovaná ve vašem Microsoft Entra ID. Hodnota parametru ServicePrincipalName musí být buď instančním názvem aplikace, nebo identifikátor GUID ID aplikace.
Tento příklad určuje název http://payroll.contoso.cominstančního objektu a příkaz udělí aplikaci oprávnění ke čtení a zápisu tajných kódů.
Příklad 3: Udělení oprávnění pro aplikaci pomocí ID objektu
Tento příkaz udělí oprávnění k načtení tajných kódů z trezoru klíčů Contoso03Vault Microsoft. Poskytovatel výpočetních prostředků
Příklad 6: Udělení oprávnění skupině zabezpečení
Get-AzADGroup
Set-AzKeyVaultAccessPolicy -VaultName 'myownvault' -ObjectId (Get-AzADGroup -SearchString 'group2')[0].Id -PermissionsToKeys get, set -PermissionsToSecrets get, set
První příkaz použije rutinu Get-AzADGroup k získání všech služba Active Directory skupin. Ve výstupu se zobrazí 3 vrácené skupiny s názvem group1, group2 a group3. Více skupin může mít stejný název, ale vždy má jedinečné ID objektu. Pokud se vrátí více než jedna skupina se stejným názvem, pomocí ObjectId ve výstupu identifikujte skupinu, kterou chcete použít.
Potom použijete výstup tohoto příkazu s Set-AzKeyVaultAccessPolicy k udělení oprávnění skupině 2 pro váš trezor klíčů s názvem myownvault. V tomto příkladu jsou uvedené skupiny s názvem group2 vložené na stejném příkazovém řádku.
Ve vráceném seznamu může být více skupin s názvem group2.
Tento příklad vybere první, který je označen indexem [0] ve vráceném seznamu.
Příklad 7: Udělení Azure Information Protection přístupu ke klíči tenanta spravovanému zákazníkem (BYOK)
Tento příkaz autorizuje Azure Information Protection použít klíč spravovaný zákazníkem (scénář Přineste si vlastní klíč nebo BYOK) jako klíč tenanta Azure Information Protection.
Při spuštění tohoto příkazu zadejte vlastní název trezoru klíčů, ale musíte zadat parametr ServicePrincipalName a zadat oprávnění v příkladu.
Umožňuje zadat ID objektu bez ověření, že objekt existuje v Microsoft Entra ID.
Tento parametr použijte pouze v případě, že chcete udělit přístup k trezoru klíčů ID objektu, které odkazuje na delegovanou skupinu zabezpečení z jiného Azure tenanta.
Určuje e-mailovou adresu uživatele, kterému má udělit oprávnění.
Tato e-mailová adresa musí existovat v adresáři přidruženém k aktuálnímu předplatnému a musí být jedinečná.
Povolí Microsoft. Poskytovatel výpočetních prostředků, který načítá tajné kódy z tohoto trezoru klíčů, když se na tento trezor klíčů odkazuje při vytváření prostředků, například při vytváření virtuálního počítače.
Určuje pole oprávnění certifikátu k udělení uživateli nebo instančnímu objektu.
Funkce All udělí všechna oprávnění s výjimkou vyprázdnění přijatelné hodnoty pro tento parametr:
Určuje pole oprávnění operace klíče k udělení uživateli nebo instančnímu objektu.
Funkce All udělí všechna oprávnění s výjimkou vyprázdnění přijatelné hodnoty pro tento parametr:
Určuje pole oprávnění operace tajného kódu k udělení uživateli nebo instančnímu objektu.
Funkce All udělí všechna oprávnění s výjimkou vyprázdnění přijatelné hodnoty pro tento parametr:
Určuje oprávnění spravovaného účtu úložiště a operace definice SaS k udělení uživateli nebo instančnímu objektu.
Funkce All udělí všechna oprávnění s výjimkou vyprázdnění přijatelné hodnoty pro tento parametr:
Určuje název instančního objektu aplikace, ke které se mají udělit oprávnění.
Zadejte ID aplikace, označované také jako ID klienta, zaregistrované pro aplikaci v Microsoft Entra ID. Aplikace s názvem instančního objektu, který určuje tento parametr, musí být zaregistrovaná v adresáři Azure, který obsahuje vaše aktuální předplatné.
ID předplatného.
Ve výchozím nastavení se rutiny spouští v předplatném, které je nastavené v aktuálním kontextu. Pokud uživatel určí jiné předplatné, spustí se aktuální rutina v předplatném určeném uživatelem.
Přepsání předplatných se projeví jenom během životního cyklu aktuální rutiny. Nezmění předplatné v kontextu a nemá vliv na následné rutiny.
Určuje hlavní název uživatele uživatele, kterému má udělit oprávnění.
Tento hlavní název uživatele musí existovat v adresáři přidruženém k aktuálnímu předplatnému.
Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.
Zdroj tohoto obsahu najdete na GitHubu, kde můžete také vytvářet a kontrolovat problémy a žádosti o přijetí změn. Další informace najdete v našem průvodci pro přispěvatele.