Importante
Cuando se usa el modelo de permisos de Directiva de acceso, un usuario con el Contributor
, Key Vault Contributor
, o cualquier otro rol que incluya Microsoft.KeyVault/vaults/write
permisos para el plano de administración del almacén de claves puede concederse acceso al plano de datos estableciendo una directiva de acceso de Key Vault. Para evitar el acceso y la administración no autorizados de los almacenes de claves, las claves, los secretos y los certificados, es esencial limitar el acceso de rol colaborador a los almacenes de claves en el modelo de permisos de Directiva de acceso. Para mitigar este riesgo, se recomienda usar el Modelo de permisos de control de acceso basado en rol (RBAC) , que restringe la administración de permisos a los roles "Propietario" y "Administrador de acceso de usuario", lo que permite una separación clara entre las operaciones de seguridad y las tareas administrativas. Consulte la Guía de RBAC de Key Vault y ¿Qué es Azure RBAC? para más información.
Una directiva de acceso de Key Vault determina si una entidad de seguridad concreta, es decir, un usuario, una aplicación o un grupo de usuarios, puede realizar distintas operaciones en los secretos, las claves y los certificados de Key Vault. Las directivas de acceso se pueden asignar mediante Azure Portal, la CLI de Azure o Azure PowerShell.
Key Vault admite hasta 1024 entradas de directiva de acceso, donde cada entrada concede un conjunto de permisos distinto a una entidad de servicio particular: Debido a esta limitación, se recomienda asignar directivas de acceso a grupos de usuarios, siempre que sea posible, en lugar de a usuarios individuales. El uso de grupos facilita la administración de permisos para varias personas de la organización. Para obtener más información, consulta Administración del acceso a aplicaciones y recursos mediante grupos de Microsoft Entra.
Asignación de directivas de acceso
En Azure Portal, vaya al recurso Key Vault.
Seleccione Directivas de acceso y, luego, Crear:

Seleccione los permisos que quiera en Permisos de las claves, Permisos de los secretos y Permisos de los certificados.

En el panel de selección Principal, escriba el nombre del usuario, la aplicación o entidad de servicio en el campo de búsqueda y seleccione el resultado adecuado.

Si usa una identidad administrada para la aplicación, busque y seleccione el nombre de la propia aplicación Para obtener más información sobre las entidades de seguridad, consulte Autenticación de Key Vault.
Revise los cambios de la directiva de acceso y seleccione Crear para guardar la directiva de acceso.

De nuevo en la página Directivas de acceso, compruebe que aparece la directiva de acceso.

Para más información sobre cómo crear grupos en Microsoft Entra ID mediante la CLI de Azure, consulte az ad group create y az ad group member add.
Para ejecutar los comandos de la CLI de Azure en un entorno local, instale la CLI de Azure.
Para ejecutar comandos directamente en la nube, use Azure Cloud Shell.
Solo la CLI local: inicie sesión en Azure mediante az login
:
az login
El comando az login
abre una ventana del explorador que recopila sus credenciales, en caso de que sea necesario.
Obtención del identificador del objeto
Determine el identificador del objeto de la aplicación, el grupo o el usuario al que desea asignar la directiva de acceso:
Aplicaciones y otras entidades de servicio: use el comando az ad sp list para recuperar las entidades de servicio. Examine la salida del comando para determinar el identificador de objeto de la entidad de seguridad a la que desea asignar la directiva de acceso.
az ad sp list --show-mine
Grupos: use el comando az ad group list y filtre los resultados con el parámetro --display-name
:
az ad group list --display-name <search-string>
Usuarios: use el comando az ad user show y pase la dirección de correo electrónico del usuario en el parámetro --id
:
az ad user show --id <email-address-of-user>
Asignación de una directiva de acceso
Use el comando az keyvault set-policy para asignar los permisos que desee:
az keyvault set-policy --name myKeyVault --object-id <object-id> --secret-permissions <secret-permissions> --key-permissions <key-permissions> --certificate-permissions <certificate-permissions>
Reemplace <object-id>
por el identificador de objeto de la entidad de seguridad.
Solo necesita incluir --secret-permissions
, --key-permissions
y --certificate-permissions
al asignar permisos a esos tipos concretos. Los valores que se permiten para <secret-permissions>
, <key-permissions>
y <certificate-permissions>
se especifican en la documentación de az keyvault set-policy.
Para saber más sobre cómo crear grupos en Microsoft Entra ID mediante Azure PowerShell, consulta New-AzADGroup y Add-AzADGroupMember.
Para ejecutar los comandos localmente, instale Azure PowerShell si todavía no lo ha hecho.
Para ejecutar comandos directamente en la nube, use Azure Cloud Shell.
Solo PowerShell local:
Instale el módulo PowerShell de Azure Active Directory.
Inicie de sesión en Azure:
Connect-AzAccount
Obtención del identificador del objeto
Determine el identificador del objeto de la aplicación, el grupo o el usuario al que desea asignar la directiva de acceso:
Aplicaciones y otras entidades de servicio: use el cmdlet Get-AzADServicePrincipal con el parámetro -SearchString
para filtrar los resultados por el nombre de la entidad de servicio deseada:
Get-AzADServicePrincipal -SearchString <search-string>
Grupos: use el cmdlet Get-AzADGroup con el parámetro -SearchString
para filtrar los resultados por el nombre del grupo deseado:
Get-AzADGroup -SearchString <search-string>
En la salida, el identificador de objeto aparece como Id
.
Usuarios: use el cmdlet Get-AzADUser y pase la dirección de correo electrónico del usuario al parámetro -UserPrincipalName
.
Get-AzAdUser -UserPrincipalName <email-address-of-user>
En la salida, el identificador de objeto aparece como Id
.
Asignación de una directiva de acceso
Use el cmdlet Set-AzKeyVaultAccessPolicy para asignar la directiva de acceso:
Set-AzKeyVaultAccessPolicy -VaultName <key-vault-name> -ObjectId <Id> -PermissionsToSecrets <secrets-permissions> -PermissionsToKeys <keys-permissions> -PermissionsToCertificates <certificate-permissions
Solo necesita incluir -PermissionsToSecrets
, -PermissionsToKeys
y -PermissionsToCertificates
al asignar permisos a esos tipos concretos. Los valores permitidos para <secret-permissions>
, <key-permissions>
y <certificate-permissions>
se proporcionan en la documentación de Set-AzKeyVaultAccessPolicy: Parámetros.
Pasos siguientes