Configurar Justificaciones de Acceso a Claves con Cloud HSM
En esta página se describe cómo configurar las justificaciones de acceso a claves con Cloud HSM para el paquete de controles de las regiones de Japón de Assured Workloads.
Durante los pasos para crear una carpeta de Assured Workloads para las regiones de Japón, tienes la opción de crear un proyecto y un conjunto de claves para tus claves criptográficas. Las claves de Cloud HSM se pueden añadir a este conjunto de claves y también puedes configurar una política de Justificaciones de Acceso a Claves para controlar el acceso a cada clave.
Antes de empezar
- La posibilidad de usar Key Access Justifications con claves de Cloud HSM solo está disponible para el paquete de control de regiones de Japón en Assured Workloads.
- Asegúrate de que tu administrador te haya concedido uno de los roles de Gestión de Identidades y Accesos (IAM) necesarios para crear y gestionar tanto tus políticas de Justificaciones de Acceso a Claves como las propias claves de HSM de Cloud.
Permisos de gestión de identidades y accesos necesarios
Para obtener los permisos que necesitas para crear y gestionar claves de Cloud HSM y sus políticas de justificación de acceso a claves, pide a tu administrador que te asigne el rol de gestión de identidades y accesos Administrador de Cloud KMS (roles/cloudkms.admin
) en el proyecto que contiene el conjunto de claves.
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene los permisos necesarios para crear y gestionar claves de Cloud HSM y sus políticas de justificación de acceso a claves. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Para crear y gestionar claves de Cloud HSM y sus políticas de justificación de acceso a claves, se necesitan los siguientes permisos:
-
cloudkms.cryptoKeys.create
-
cloudkms.cryptoKeys.update
-
cloudkms.cryptoKeys.get
También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.
Configurar una clave de Cloud HSM con justificaciones de acceso a claves
Para configurar Justificaciones de Acceso a Claves con una clave de Cloud HSM, puede incluir la política de acceso a la clave como parámetro al crear la clave o actualizar la clave con la política después de crearla.
Crear una clave y una política
REST
Crea una clave y una política con el método
cryptoKeys.create
:
POST https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys?crypto_key_id=KEY_NAME
En la solicitud, sustituye los siguientes valores de marcador de posición:
- PROJECT_ID: el ID del proyecto que contiene el llavero al que quieres añadir una clave. Por ejemplo,
919698201234
. - LOCATION: la ubicación del conjunto de claves. Por ejemplo,
us-west1
. - KEY_RING: el nombre del conjunto de claves que especificaste al crear el proyecto de gestión de claves y el conjunto de claves de la carpeta de Assured Workloads. Por ejemplo,
my-key-ring
. - KEY_NAME: el nombre de la clave HSM que quieras crear. Por ejemplo,
my-hsm-key
.
Cuerpo de la solicitud:
{ "purpose": "PURPOSE", "versionTemplate": { "protectionLevel": "HSM", "algorithm": "ALGORITHM" }, "keyAccessJustificationsPolicy": { "allowedAccessReasons": [ ALLOWED_ACCESS_REASONS ] } }
En el cuerpo de la solicitud, sustituye los siguientes valores de marcador de posición:
- PURPOSE: el propósito de la clave. Para ver una lista de los distintos propósitos de las claves, consulta Propósitos de las claves, por ejemplo,
ENCRYPT_DECRYPT
. - ALGORITHM: algoritmo criptográfico que se va a usar. Para ver una lista de los algoritmos disponibles, consulta Algoritmos de Cloud KMS. Por ejemplo,
GOOGLE_SYMMETRIC_ENCRYPTION
. - ALLOWED_ACCESS_REASONS: política de justificaciones de acceso a claves que define cero o más códigos de justificación permitidos para acceder a la clave de cifrado (por ejemplo,
["CUSTOMER_INITIATED_ACCESS", "GOOGLE_INITIATED_SYSTEM_OPERATION"]
).
En el siguiente ejemplo de solicitud y cuerpo de solicitud solo se permite el acceso a las justificaciones por algunos motivos:
POST https://cloudkms.googleapis.com/v1/projects/919698201234/locations/us-west1/keyRings/my-key-ring/cryptoKeys?crypto_key_id=my-hsm-key
{ "purpose": "ENCRYPT_DECRYPT", "versionTemplate": { "protectionLevel": "HSM", "algorithm": "GOOGLE_SYMMETRIC_ENCRYPTION" }, "keyAccessJustificationsPolicy": { "allowedAccessReasons": [ "CUSTOMER_INITIATED_ACCESS", "GOOGLE_INITIATED_SYSTEM_OPERATION" ] } }
Actualizar la política de una clave
REST
Para actualizar una clave de Cloud KMS, usa el método cryptoKeys.patch
:
PATCH https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME?update_mask=keyAccessJustificationsPolicy
En la solicitud, sustituye los siguientes valores de marcador de posición:
- PROJECT_ID: el ID del proyecto que contiene el conjunto de claves de la clave. Por ejemplo,
919698201234
. - LOCATION: la ubicación del conjunto de claves. Por ejemplo,
us-west1
. - KEY_RING: el nombre del conjunto de claves que especificaste al crear el proyecto de gestión de claves y el conjunto de claves de la carpeta de Assured Workloads. Por ejemplo,
my-key-ring
. - KEY_NAME: el nombre de la clave HSM que quieras actualizar. Por ejemplo,
my-hsm-key
.
Cuerpo de la solicitud:
{ "purpose": "PURPOSE", "versionTemplate": { "protectionLevel": "HSM", "algorithm": "ALGORITHM" }, "keyAccessJustificationsPolicy": { "allowedAccessReasons": [ ALLOWED_ACCESS_REASONS ] } }
En el cuerpo de la solicitud, sustituye los siguientes valores de marcador de posición:
- PURPOSE: el propósito de la clave. Para ver una lista de los distintos propósitos de las claves, consulta Propósitos de las claves, por ejemplo,
ENCRYPT_DECRYPT
. - ALGORITHM: algoritmo criptográfico que se va a usar. Para ver una lista de los algoritmos disponibles, consulta Algoritmos de Cloud KMS. Por ejemplo,
GOOGLE_SYMMETRIC_ENCRYPTION
. - ALLOWED_ACCESS_REASONS: política de justificaciones de acceso a claves que define cero o más códigos de justificación permitidos para acceder a la clave de cifrado (por ejemplo,
["CUSTOMER_INITIATED_ACCESS", "GOOGLE_INITIATED_SYSTEM_OPERATION"]
).
En el siguiente ejemplo de solicitud y cuerpo de solicitud solo se permite el acceso a las justificaciones por algunos motivos:
PATCH https://cloudkms.googleapis.com/v1/projects/919698201234/locations/us-west1/keyRings/my-key-ring/cryptoKeys/my-hsm-key?keyAccessJustificationsPolicy
{ "purpose": "ENCRYPT_DECRYPT", "versionTemplate": { "protectionLevel": "HSM", "algorithm": "GOOGLE_SYMMETRIC_ENCRYPTION" }, "keyAccessJustificationsPolicy": { "allowedAccessReasons": [ "CUSTOMER_INITIATED_ACCESS", "GOOGLE_INITIATED_SYSTEM_OPERATION" ] } }
Obtener la política de Justificaciones de Acceso a Claves de una clave
REST
Para obtener metadatos sobre una clave de Cloud KMS, usa el método cryptoKeys.get
:
GET https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME
En los parámetros de la solicitud, sustituya los siguientes marcadores de posición por sus propios valores:
- PROJECT_ID: ID del proyecto que contiene el llavero de la clave. Por ejemplo,
919698201234
. - LOCATION: la ubicación del conjunto de claves. Por ejemplo,
us-west1
. - KEY_RING: el nombre del conjunto de claves que especificaste al crear el proyecto de gestión de claves y el conjunto de claves de la carpeta de Assured Workloads. Por ejemplo,
my-key-ring
. - KEY_NAME: el nombre de la clave HSM que quieres obtener. Por ejemplo,
my-hsm-key
.
En la siguiente solicitud de ejemplo se obtienen metadatos sobre una clave de Cloud KMS:
GET https://cloudkms.googleapis.com/v1/projects/919698201234/locations/us-west1/keyRings/my-key-ring/cryptoKeys/my-hsm-key
El cuerpo de la respuesta contiene metadatos sobre tu clave, incluido el keyAccessJustificationsPolicy
.
Por ejemplo:
{ "purpose": "ENCRYPT_DECRYPT", "versionTemplate": { "protectionLevel": "HSM", "algorithm": "GOOGLE_SYMMETRIC_ENCRYPTION" }, "keyAccessJustificationsPolicy": { "allowedAccessReasons": [ "CUSTOMER_INITIATED_ACCESS", "GOOGLE_INITIATED_SYSTEM_OPERATION" ] } }
Siguientes pasos
- También puedes definir la política predeterminada de justificaciones de acceso a claves (vista previa).