Migración desde la directiva de acceso de almacén a un modelo de permisos de control de acceso basado en rol de Azure

Azure Key Vault ofrece dos sistemas de autorización: el control de acceso basado en rol de Azure (Azure RBAC) y un modelo de directiva de acceso. Azure RBAC es el sistema de autorización predeterminado y recomendado para Azure Key Vault. Para ver una comparación de los dos métodos de autorización, consulte Control de acceso basado en rol de Azure (Azure RBAC) frente a las directivas de acceso.

Este artículo proporciona la información necesaria para migrar de un almacén de claves de autorización de directiva de acceso a un modelo Azure RBAC.

Directivas de acceso para la asignación de roles de Azure

Azure RBAC tiene varios roles integrados de Azure que se pueden asignar a usuarios, grupos, entidades de servicio e identidades administradas. Si los roles integrados no satisfacen las necesidades específicas de la organización, puede crear roles personalizados de Azure propios.

Roles integrados de Key Vault para la administración de acceso a secretos, certificados y claves:

  • Administrador de Key Vault
  • Lector de Key Vault
  • Agente de certificados de Key Vault
  • Usuario de certificado de Key Vault
  • Agente criptográfico de Key Vault
  • Usuario criptográfico de Key Vault
  • Usuario de cifrado de servicio criptográfico de Key Vault
  • Responsable de secretos de Key Vault
  • Usuario de secretos de Key Vault

Para más información sobre los roles integrados existentes, vea Roles integrados de Azure.

Se pueden asignar directivas de acceso de almacén con permisos seleccionados individualmente o con plantillas de permisos predefinidas.

Plantillas de permisos predefinidas de directiva de acceso:

  • Administración de claves, secretos y certificados
  • Administración de claves y secretos
  • Administración de secretos y certificados
  • Administración de claves
  • Administración de secretos
  • Administración de certificados
  • Conector de SQL Server
  • Azure Data Lake Storage o Azure Storage
  • Azure Backup
  • Clave de cliente de Exchange Online
  • Clave de cliente de SharePoint Online
  • BYOK para información de Azure

Plantillas de directiva de acceso para la asignación de roles de Azure

Plantilla de directiva de acceso Operations Rol de Azure
Administración de claves, secretos y certificados Claves: todas las operaciones
Certificados: todas las operaciones
Secretos: todas las operaciones
Administrador de Key Vault
Administración de claves y secretos Claves: todas las operaciones
Secretos: todas las operaciones
Agente criptográfico de Key Vault
Responsable de secretos de Key Vault
Administración de secretos y certificados Certificados: todas las operaciones
Secretos: todas las operaciones
Agente de certificados de Key Vault
Responsable de secretos de Key Vault
Administración de claves Claves: todas las operaciones Agente criptográfico de Key Vault
Administración de secretos Secretos: todas las operaciones Responsable de secretos de Key Vault
Administración de certificados Certificados: todas las operaciones Agente de certificados de Key Vault
Conector de SQL Server Claves: obtener, enumerar, encapsular clave y desencapsular clave Usuario de cifrado de servicio criptográfico de Key Vault
Azure Data Lake Storage o Azure Storage Claves: obtener, enumerar y desencapsular clave N/D
Rol personalizado obligatorio
Azure Backup Claves: obtener, enumerar y copia de seguridad
Secretos: obtener, enumerar y copia de seguridad
N/D
Rol personalizado obligatorio
Clave de cliente de Exchange Online Claves: obtener, enumerar, encapsular clave y desencapsular clave Usuario de cifrado de servicio criptográfico de Key Vault
Clave de cliente de Exchange Online Claves: obtener, enumerar, encapsular clave y desencapsular clave Usuario de cifrado de servicio criptográfico de Key Vault
BYOK para información de Azure Claves: obtener, descifrar y firmar N/D
Rol personalizado obligatorio

Nota:

La configuración de certificados de Azure App Service mediante Azure Portal no es compatible con el modelo de permisos RBAC de Key Vault. Puede usar Azure PowerShell, la CLI de Azure, implementaciones de plantillas de ARM con asignación de roles de usuario de certificado de Key Vault para la identidad global de App Service, por ejemplo, "Microsoft Azure App Service" en la nube pública.

Asignación de ámbitos de asignación

Azure RBAC para Key Vault permite la asignación de roles en los siguientes ámbitos:

  • Grupo de administración
  • Subscription
  • Resource group
  • Recurso de Key Vault
  • Clave, secreto y certificado individuales

El modelo de permisos de la directiva de acceso de almacén está limitado a asignar directivas solo en el nivel de recursos de Key Vault.

En general, se recomienda tener un almacén de claves por aplicación y administrar el acceso al nivel de almacén de claves. Hay escenarios en los que la administración del acceso en otros ámbitos puede simplificar la administración del acceso.

  • Infraestructura, operadores y administradores de seguridad: la administración de grupos de almacenes de claves al nivel de grupo de administración, suscripción o grupo de recursos con directivas de acceso de almacén requiere mantener directivas para cada almacén de claves. Azure RBAC permite crear una asignación de roles en el grupo de administración, la suscripción o el grupo de recursos. Esa asignación se aplicará a todos los almacenes de claves creados en el mismo ámbito. En este escenario, se recomienda usar Privileged Identity Management con acceso Just-in-Time a fin de proporcionar acceso permanente.

  • Aplicaciones: hay escenarios en los que la aplicación necesita compartir el secreto con otra aplicación. Mediante el uso de directivas de acceso de almacén, es necesario crear un almacén de claves independiente para evitar que se conceda acceso a todos los secretos. Azure RBAC permite asignar, en su lugar, un rol con el ámbito de un secreto individual mediante un almacén de claves único.

Pasos para migrar directivas de acceso de almacén a Azure RBAC

Existen muchas diferencias entre Azure RBAC y el modelo de permisos de la directiva de acceso de almacén. Para evitar interrupciones durante la migración, se recomiendan los pasos siguientes.

  1. Identificar y asignar roles: identifique roles integrados basados en la tabla de asignación anterior y cree roles personalizados cuando sea necesario. Asigne roles en ámbitos, en función de la guía de asignación de ámbitos. Para más información sobre cómo asignar roles al almacén de claves, consulte Proporcionar acceso a Key Vault con un control de acceso basado en rol de Azure.
  2. Validar la asignación de roles: las asignaciones de roles en Azure RBAC pueden tardar varios minutos en propagarse. Para obtener instrucciones sobre cómo comprobar las asignaciones de roles, vea Lista de las asignaciones de rol en un ámbito.
  3. Configurar la supervisión y las alertas en el almacén de claves: es importante habilitar las alertas de registro y configuración de las excepciones de acceso denegado. Para más información, vea Supervisión y alertas de Azure Key Vault.
  4. Establecer el modelo de permisos de control de acceso basado en rol de Azure en Key Vault: al habilitar el modelo de permisos de Azure RBAC, se invalidarán todas las directivas de acceso existentes. Si se produce un error, se puede volver a cambiar el modelo de permisos con todas las directivas de acceso existentes que queden intactas.

Nota:

El cambio del modelo de permiso requiere el permiso "Microsoft.Authorization/roleAssignments/write", que forma parte de los roles Propietario y Administrador de acceso de usuario. No se admiten roles de administrador de suscripciones clásicas como "Administrador de servicios" y "Coadministrador".

Nota:

Cuando el modelo de permisos de Azure RBAC está habilitado, se producirá un error en todos los scripts que intenten actualizar las directivas de acceso. Es importante actualizar esos scripts para que usen Azure RBAC.

Gobernanza de migración

Con el servicio Azure Policy, puede administrar la migración del modelo de permisos RBAC a través de los almacenes. Puede crear una definición de directiva personalizada para auditar los almacenes de claves existentes y exigir que todos los almacenes de claves nuevos usen el modelo de permisos RBAC de Azure.

Creación y asignación de la definición de directiva para el modelo de permisos RBAC de Azure de Key Vault

  1. Vaya al recurso de la directiva.
  2. Seleccione Asignaciones en Creación en el lado izquierdo de la página de Azure Policy.
  3. Seleccione Asignar directiva en la parte superior de la página. Este botón abre la página de asignación de la directiva.
  4. Escribe la siguiente información:
    • Defina el ámbito de la directiva eligiendo la suscripción y el grupo de recursos en el que se aplicará la directiva. Seleccione haciendo clic en el botón de tres puntos en el campo Ámbito.
    • Seleccione el nombre de la definición de directiva: "[versión preliminar]: Azure Key Vault debe usar el modelo de permisos RBAC"
    • Vaya a la pestaña Parámetros de la parte superior de la página y defina el efecto deseado de la directiva (auditoría, denegación o deshabilitado).
  5. Rellene los campos adicionales. Navegue por las pestañas haciendo clic en los botones Anterior y Siguiente en la parte inferior de la página.
  6. Seleccionar Revisar y crear.
  7. Seleccione Crear

Una vez asignada la directiva integrada, puede tardar hasta 24 horas en completar el examen. Después de completar el examen, puede ver los resultados de cumplimiento tal como se muestra a continuación.

RBAC policy compliance

Para obtener más información, vea

Directiva de acceso a la herramienta de comparación de RBAC de Azure

Importante

Esta herramienta es creada y mantenida por miembros de la comunidad de Microsoft y no cuenta con el apoyo formal de los servicios de atención al cliente. La herramienta se proporciona TAL CUAL sin garantía de ningún tipo.

Herramienta de PowerShell para comparar directivas de acceso de Key Vault con roles de RBAC asignados para ayudar con la migración de la directiva de acceso al modelo de permisos de RBAC. La intención de la herramienta es proporcionar una comprobación de integridad al migrar los Key Vault existentes al modelo de permisos RBAC para asegurarse de que los roles asignados con acciones de datos subyacentes abarcan las directivas de acceso existentes.

Solución de problemas

  • La asignación de roles no funciona después de varios minutos: hay situaciones en las que las asignaciones de roles pueden tardar más tiempo. Es importante escribir lógica de reintento en el código para cubrir esos casos.
  • Las asignaciones de roles desaparecieron cuando se eliminó Key Vault (eliminación temporal) y se recuperaron; actualmente, se trata de una limitación de la característica de eliminación temporal en todos los servicios de Azure. Es necesario volver a crear todas las asignaciones de roles después de la recuperación.

Más información