Accorde ou modifie des autorisations existantes pour un utilisateur, une application ou un groupe de sécurité pour effectuer des opérations avec un coffre de clés.
L’applet de commande Set-AzKeyVaultAccessPolicy accorde ou modifie les autorisations existantes pour un utilisateur, une application ou un groupe de sécurité pour effectuer les opérations spécifiées avec un coffre de clés. Elle ne modifie pas les autorisations dont disposent d’autres utilisateurs, applications ou groupes de sécurité sur le coffre de clés.
Si vous définissez des autorisations pour un groupe de sécurité, cette opération affecte uniquement les utilisateurs de ce groupe de sécurité.
Les répertoires suivants doivent tous être le même répertoire Azure :
Répertoire par défaut de l’abonnement Azure dans lequel réside le coffre de clés.
Répertoire Azure qui contient l’utilisateur ou le groupe d’applications auquel vous accordez des autorisations.
Exemples de scénarios lorsque ces conditions ne sont pas remplies et que cette applet de commande ne fonctionne pas :
Autoriser un utilisateur d’une autre organisation à gérer votre coffre de clés.
Chaque organisation a son propre annuaire.
Votre compte Azure a plusieurs répertoires.
Si vous inscrivez une application dans un répertoire autre que le répertoire par défaut, vous ne pouvez pas autoriser cette application à utiliser votre coffre de clés.
L’application doit se trouver dans le répertoire par défaut.
Notez que bien que la spécification du groupe de ressources soit facultative pour cette applet de commande, vous devez le faire pour de meilleures performances.
L’applet de commande peut appeler sous l’API Microsoft Graph en fonction des paramètres d’entrée :
GET /directoryObjects/{id}
GET /users/{id}
GET /users
GET /servicePrincipals/{id}
GET /servicePrincipals
GET /groups/{id}
Note
Lorsque vous utilisez un principal de service pour accorder des autorisations de stratégie d’accès, vous devez utiliser le -BypassObjectIdValidation paramètre.
Exemples
Exemple 1 : Accorder des autorisations à un utilisateur pour un coffre de clés et modifier les autorisations
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 :
La première commande accorde des autorisations pour un utilisateur dans votre ID Microsoft Entra, PattiFuller@contoso.compour effectuer des opérations sur les clés et les secrets avec un coffre de clés nommé Contoso03Vault. Le paramètre PassThru entraîne le retour de l’objet mis à jour par l’applet de commande.
La deuxième commande modifie les autorisations qui ont été accordées PattiFuller@contoso.com dans la première commande pour autoriser l’obtention de secrets en plus de définir et de les supprimer. Les autorisations pour les opérations de clé restent inchangées après cette commande.
La commande finale modifie ensuite les autorisations existantes pour PattiFuller@contoso.com supprimer toutes les autorisations des opérations de clé. Les autorisations pour les opérations secrètes restent inchangées après cette commande.
Exemple 2 : Accorder des autorisations à un principal de service d’application pour lire et écrire des secrets
Cette commande accorde des autorisations pour une application pour un coffre de clés nommé Contoso03Vault.
Le paramètre ServicePrincipalName spécifie l’application. L’application doit être inscrite dans votre ID Microsoft Entra. La valeur du paramètre ServicePrincipalName doit être le nom du principal de service de l’application ou le GUID de l’ID d’application.
Cet exemple spécifie le nom http://payroll.contoso.comdu principal de service et la commande accorde aux applications les autorisations de lecture et d’écriture des secrets.
Exemple 3 : Accorder des autorisations pour une application à l’aide de son ID d’objet
Cette commande accorde les autorisations d’application pour lire et écrire des secrets.
Cet exemple spécifie l’application à l’aide de l’ID d’objet du principal de service de l’application.
Exemple 4 : Accorder des autorisations pour un nom d’utilisateur principal
Cette commande accorde les autorisations pour que les secrets soient récupérés à partir du coffre de clés Contoso03Vault par le fournisseur de ressources Microsoft.Compute.
Exemple 6 : Accorder des autorisations à un groupe de sécurité
Get-AzADGroup
Set-AzKeyVaultAccessPolicy -VaultName 'myownvault' -ObjectId (Get-AzADGroup -SearchString 'group2')[0].Id -PermissionsToKeys get, set -PermissionsToSecrets get, set
La première commande utilise l’applet de commande Get-AzADGroup pour obtenir tous les groupes Active Directory. Dans la sortie, vous voyez 3 groupes retournés, nommés group1, group2 et group3. Plusieurs groupes peuvent avoir le même nom, mais ont toujours un ObjectId unique. Lorsque plusieurs groupes portant le même nom sont retournés, utilisez l’ObjectId dans la sortie pour identifier celui que vous souhaitez utiliser.
Vous utilisez ensuite la sortie de cette commande avec Set-AzKeyVaultAccessPolicy pour accorder des autorisations à group2 pour votre coffre de clés, nommé myownvault. Cet exemple énumère les groupes nommés « group2 » inline dans la même ligne de commande.
Il peut y avoir plusieurs groupes dans la liste retournée nommée « group2 ».
Cet exemple sélectionne le premier, indiqué par l’index [0] dans la liste retournée.
Exemple 7 : Accorder à Azure Information Protection l’accès à la clé de locataire gérée par le client (BYOK)
Cette commande autorise Azure Information Protection à utiliser une clé gérée par le client (le scénario bring your own key ou « BYOK ») comme clé de locataire Azure Information Protection.
Lorsque vous exécutez cette commande, spécifiez votre propre nom de coffre de clés, mais vous devez spécifier le paramètre ServicePrincipalName et spécifier les autorisations dans l’exemple.
Vous permet de spécifier un ID d’objet sans valider l’existence de l’objet dans l’ID Microsoft Entra.
Utilisez ce paramètre uniquement si vous souhaitez accorder l’accès à votre coffre de clés à un ID d’objet qui fait référence à un groupe de sécurité délégué à partir d’un autre locataire Azure.
Spécifie l’adresse e-mail de l’utilisateur auquel accorder des autorisations.
Cette adresse e-mail doit exister dans le répertoire associé à l’abonnement actuel et être unique.
Permet au fournisseur de ressources Microsoft.Compute de récupérer les secrets de ce coffre de clés lorsque ce coffre de clés est référencé dans la création de ressources, par exemple lors de la création d’une machine virtuelle.
Permet à Azure Resource Manager d’obtenir des secrets à partir de ce coffre de clés lorsque ce coffre de clés est référencé dans un déploiement de modèle.
Spécifie l’ID d’objet de l’utilisateur ou du principal de service dans l’ID Microsoft Entra pour lequel accorder des autorisations. Sa valeur est au format GUID.
Spécifie un tableau d’autorisations de certificat à accorder à un utilisateur ou à un principal de service.
'All' accorde toutes les autorisations à l’exception de 'Purge' Les valeurs acceptables pour ce paramètre :
Spécifie un tableau d’autorisations d’opération de clé à accorder à un utilisateur ou un principal de service.
'All' accorde toutes les autorisations à l’exception de 'Purge' Les valeurs acceptables pour ce paramètre :
Spécifie un tableau d’autorisations d’opération secrète à accorder à un utilisateur ou un principal de service.
'All' accorde toutes les autorisations à l’exception de 'Purge' Les valeurs acceptables pour ce paramètre :
Spécifie le compte de stockage managé et les autorisations d’opération de définition saS pour accorder à un utilisateur ou à un principal de service.
'All' accorde toutes les autorisations à l’exception de 'Purge' Les valeurs acceptables pour ce paramètre :
Spécifie le nom du principal de service de l’application à laquelle accorder des autorisations.
Spécifiez l’ID d’application, également appelé ID client, inscrit pour l’application dans Microsoft Entra ID. L’application portant le nom du principal de service spécifié par ce paramètre doit être inscrite dans le répertoire Azure qui contient votre abonnement actuel.
ID de l’abonnement.
Par défaut, les applets de commande sont exécutées dans l’abonnement défini dans le contexte actuel. Si l’utilisateur spécifie un autre abonnement, l’applet de commande actuelle est exécutée dans l’abonnement spécifié par l’utilisateur.
La substitution d’abonnements prend effet uniquement pendant le cycle de vie de l’applet de commande actuelle. Il ne modifie pas l’abonnement dans le contexte et n’affecte pas les applets de commande suivantes.
Spécifie le nom d’utilisateur principal de l’utilisateur auquel accorder des autorisations.
Ce nom d’utilisateur principal doit exister dans le répertoire associé à l’abonnement actuel.
Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.
La source de ce contenu se trouve sur GitHub, où vous pouvez également créer et examiner les problèmes et les demandes de tirage. Pour plus d’informations, consultez notre guide du contributeur.