La separación de obligaciones es el concepto de garantizar que una principal no tenga todos los permisos necesarios para completar una acción maliciosa. En Cloud Key Management Service, esto podría ser una acción como usar una clave para acceder y desencriptar datos a los que el usuario no tiene una razón válida para acceder.
La separación de obligaciones es un control empresarial que se suele usar en organizaciones más grandes, y cuyo propósito es ayudar a evitar incidentes y errores de seguridad o privacidad. Se considera una práctica recomendada.
En Cloud KMS, la separación de obligaciones requiere una distinción estricta entre los siguientes roles:
- Administradores de claves: Son principales autorizados para administrar los ciclos de vida de las claves, incluidos la creación, el borrado, la rotación y los cambios de estado. Por ejemplo, los usuarios con el rol de administrador de Cloud KMS.
- Usuarios clave: Son las entidades principales autorizadas para usar claves, incluidas la encriptación, la desencriptación, la firma o la verificación de firmas. Por ejemplo, los usuarios con el rol de Encriptador/Desencriptador de CryptoKey de Cloud KMS.
Cuando usas claves de Cloud KMS para las claves de encriptación administradas por el cliente, te recomendamos que la cuenta de servicio sea la única principal autorizada para usar la clave para la encriptación y la desencriptación. Para obtener más información sobre cómo las integraciones de CMEK controlan el acceso a los recursos, consulta Cómo los servicios integrados en CMEK controlan el acceso a los recursos.
Si deseas crear una protección para aplicar esta recomendación, puedes usar políticas de denegación de IAM para quitar los permisos de encriptación y desencriptación de los principales que no sean cuentas de servicio. Para obtener más información sobre cómo usar los roles de IAM de forma segura, consulta Usa IAM de forma segura.
Administración de claves
La gobernanza de claves describe quién en una organización es responsable de administrar el ciclo de vida de tus recursos de Cloud KMS y mantener los mecanismos de protección para controlar cómo se usa Cloud KMS. Los enfoques clave de administración se encuentran en un espectro que va desde la administración centralizada hasta la administración delegada:
- Administración centralizada: Un equipo de seguridad o de plataforma exclusivo es responsable de administrar el ciclo de vida de todas las claves criptográficas en toda la organización. Este modelo suele ser elegido por empresas altamente reguladas con requisitos de cumplimiento estrictos.
- Administración delegada: Un equipo de seguridad central usa rieles de protección para exigir estándares de encriptación, pero delega la responsabilidad de las operaciones del ciclo de vida de las claves a los propietarios de las aplicaciones dentro de sus proyectos. Estas medidas de protección pueden incluir políticas de la organización que usen restricciones administradas y personalizadas, y políticas de concesión y denegación de IAM. Esto elimina los cuellos de botella operativos centrales.
Almacenamiento de claves
El almacenamiento de claves describe dónde se crean los recursos de Cloud KMS dentro de una organización. Existen dos enfoques principales para el almacenamiento de claves: almacenamiento de claves en un proyecto dedicado y almacenamiento de claves en el mismo proyecto.
Almacenamiento de claves en un proyecto dedicado: Un proyecto de claves dedicado contiene claves que se usan para varias aplicaciones. Por lo general, cada carpeta de entorno tiene su propio proyecto de claves. Puedes usar Autokey con el almacenamiento de claves en un proyecto dedicado.
Almacenamiento de claves en el mismo proyecto: Las claves se almacenan en el mismo proyecto deCloud de Confiance que los recursos que protegen. A veces, esto se describe como "la clave sigue a los datos". Puedes usar Autokey con el almacenamiento de claves en el mismo proyecto.
Alinea la administración y el almacenamiento
En la siguiente matriz, se proporcionan ejemplos de cómo se pueden combinar estos modelos de almacenamiento y gobernanza para satisfacer las diferentes necesidades de la organización:
| Modelo de administración | Almacenamiento de claves en un proyecto dedicado | Almacenamiento de claves en el mismo proyecto |
|---|---|---|
| Control centralizado | Enfoque completamente centralizado Uso recomendado: Organizaciones con requisitos reglamentarios estrictos que exigen el aislamiento de los límites del proyecto Impacto operativo: Alta complejidad de configuración. Requiere una automatización sólida (como una "fábrica de proyectos") para evitar demoras operativas en los equipos de desarrollo. |
Propiedad administrada Uso recomendado: Organizaciones que requieren supervisión central de la seguridad, pero desean maximizar la velocidad de los desarrolladores. Impacto operativo: Baja complejidad de configuración. La seguridad centralizada aplica la política con protecciones, mientras que las llaves se encuentran junto a los recursos que protegen para facilitar la administración. |
| Administración delegada | No recomendado La introducción de la complejidad de IAM en varios proyectos anula el propósito de delegar la administración de claves en los equipos de aplicaciones. |
DevOps autónomo Uso recomendado: Organizaciones descentralizadas y de alta velocidad con una sólida cultura de DevOps. Impacto operativo: La complejidad de la configuración es mínima. Los equipos de aplicaciones tienen autonomía total sobre los recursos y las claves dentro de los límites de su proyecto. |
Almacenamiento de claves en el mismo proyecto
Para aplicar la separación de obligaciones en la administración de claves del mismo proyecto, es necesario mantener los roles de IAM estrictamente separados. Por ejemplo, puedes usar políticas de denegación de IAM para quitar los permisos de encriptación y desencriptación de tus administradores de claves.
Puedes habilitar Autokey con almacenamiento de claves en el mismo proyecto en un proyecto o una carpeta para permitir la creación automatizada de claves en el mismo proyecto que el recurso que protege la clave. Para obtener más información, consulta Cómo habilitar Autokey con almacenamiento de claves en el mismo proyecto.
Almacenamiento de claves en un proyecto dedicado
En el modelo de almacenamiento de claves de proyectos dedicados, un equipo de seguridad central administra los proyectos de claves dedicados, que tienen permisos de administración de claves en el proyecto de claves, pero tienen acceso restringido a los proyectos que contienen los recursos protegidos por esas claves.
Puedes habilitar Autokey con almacenamiento de claves en un proyecto dedicado en una carpeta para permitir la creación automatizada de claves con el modelo de almacenamiento de claves centralizado. Para obtener más información, consulta Configura Autokey con almacenamiento de claves de proyectos dedicados.
Automatización y supervisión del cumplimiento
Cloud de Confiance proporciona las siguientes herramientas para automatizar y supervisar tus límites de seguridad:
- Autokey de Cloud KMS: Autokey admite el almacenamiento de claves en un proyecto dedicado y el almacenamiento de claves en el mismo proyecto. En ambos casos, automatiza la separación de tareas otorgando automáticamente el rol de uso de la clave al agente de servicio requerido, no a la persona que solicita la clave. Autokey está diseñado para admitir canalizaciones de infraestructura como código que no necesitan privilegios elevados para la creación de claves.
- Security Command Center: Supervisa los resultados de Separación de roles de KMS para detectar cualquier principal, incluido un propietario del proyecto o una cuenta de servicio de Google, que posea permisos administrativos y criptográficos en una sola clave.
- Métricas de encriptación de CMEK: Usa el panel Métricas de encriptación para verificar la alineación con las prácticas de separación de funciones en toda la organización.