De forma predeterminada, Google Cloud encripta los datos cuando están en reposo automáticamente con claves de encriptación que administra Google. Si tienes requisitos normativos o de cumplimiento específicos relacionados con las claves que protegen los datos, puedes usar claves de encriptación administradas por el cliente (CMEK) para la encriptación a nivel de la aplicación de Looker (núcleo de Google Cloud).
Para obtener más información sobre las CMEK en general, incluso cuándo y por qué habilitarlas, consulta la documentación de Cloud Key Management Service.
En esta página, se explica cómo configurar una instancia de Looker (Google Cloud Core) para usar CMEK.
¿Cómo interactúa Looker (Google Cloud Core) con las CMEK?
Looker (núcleo de Google Cloud) usa una sola clave CMEK (a través de una jerarquía de claves secundarias) para ayudar a proteger los datos sensibles que administra la instancia de Looker (núcleo de Google Cloud). Durante el inicio, cada proceso dentro de la instancia de Looker realiza una llamada inicial a Cloud Key Management Service (KMS) para desencriptar la clave. Durante el funcionamiento normal (después del inicio), toda la instancia de Looker realiza una sola llamada a KMS aproximadamente cada cinco minutos para verificar que la clave siga siendo válida.
¿Qué tipos de instancias de Looker (Google Cloud Core) admiten CMEK?
Las instancias de Looker (Google Cloud Core) admiten CMEK cuando se cumplen dos criterios:
- Los pasos de configuración de las CMEK que se describen en esta página se completan antes de que se crea la instancia de Looker (Google Cloud Core). No puedes habilitar las claves de encriptación administradas por el cliente en instancias existentes.
- Las ediciones de instancias deben ser Enterprise o Insertar.
Flujo de trabajo para crear una instancia de Looker (Google Cloud Core) con CMEK
En esta página, se explican los siguientes pasos para configurar las CMEK para una instancia de Looker (Google Cloud Core).
- Configura tu entorno.
- Solo para usuarios de Google Cloud CLI, Terraform y la API: Crea una cuenta de servicio para cada proyecto que requiera claves de encriptación administradas por el cliente, si aún no se configuró una cuenta de servicio de Looker para el proyecto.
- Crea un llavero de claves y una clave, y establece la ubicación de la clave. La ubicación es la región de Google Cloud en la que deseas crear la instancia de Looker (Google Cloud Core).
- Solo para usuarios de Google Cloud CLI, Terraform y la API: Copia o escribe el ID de la clave (KMS_KEY_ID) y la ubicación de la clave, junto con el ID (KMS_KEYRING_ID) del llavero de claves. Necesitarás esta información cuando le otorgues a la cuenta de servicio acceso a la clave.
- Solo para usuarios de Google Cloud CLI, Terraform y la API: otorga acceso a la clave a la cuenta de servicio.
- Ve a tu proyecto y crea una instancia de Looker (Google Cloud Core) con las siguientes opciones:
- Selecciona la misma ubicación que usa la clave de encriptación administrada por el cliente.
- Establece la edición en Empresarial o Insertar.
- Habilita la configuración de la clave administrada por el cliente.
- Agrega la clave de encriptación administrada por el cliente por nombre o por ID.
Una vez que se completen todos estos pasos, tu instancia de Looker (Google Cloud Core) se habilitará con CMEK.
Antes de comenzar
Si aún no lo hiciste, asegúrate de que tu entorno esté configurado para que puedas seguir las instrucciones de esta página. Sigue los pasos de esta sección para asegurarte de que la configuración sea correcta.
- En la Google Cloud consola, en la página del selector de proyectos, selecciona o crea un Google Cloud proyecto. Nota: Si no planeas conservar los recursos que creaste durante este procedimiento, crea un proyecto en lugar de seleccionar uno existente. Cuando termines estos pasos, podrás borrar el proyecto, lo que quitará los recursos asociados con él.
- Asegúrate de tener habilitada la facturación para tu Google Cloud proyecto. Obtén información para verificar si la facturación está habilitada en un proyecto.
- Instala Google Cloud CLI.
Para inicializar la CLI de gcloud, ejecuta el siguiente comando:
gcloud init
Habilita la API de Cloud Key Management Service.
Habilita la API de Looker (Google Cloud Core).
Roles obligatorios
Para comprender los roles necesarios para configurar CMEK, visita la página Control de acceso con IAM de la documentación de Cloud Key Management Service.
Para crear una instancia de Looker (Google Cloud Core), asegúrate de tener el rol de IAM de administrador de Looker para el proyecto en el que se crea tu instancia de Looker (Google Cloud Core). Para habilitar CMEK para la instancia en la consola de Google Cloud, asegúrate de tener el rol de IAM de encriptador/desencriptador de CryptoKey de Cloud KMS en la clave que se usa para CMEK.
Si necesitas otorgarle a la cuenta de servicio de Looker acceso a una clave de Cloud KMS, debes tener el rol de IAM de administrador de Cloud KMS en la clave que se usa.
Crea una cuenta de servicio
Si usas Google Cloud CLI, Terraform o la API para crear tu instancia de Looker (núcleo de Google Cloud) y aún no se creó una cuenta de servicio de Looker para el Google Cloud proyecto en el que residirá, debes crear una cuenta de servicio para ese proyecto. Si vas a crear más de una instancia de Looker (núcleo de Google Cloud) en el proyecto, la misma cuenta de servicio se aplicará a todas las instancias de Looker (núcleo de Google Cloud) en ese proyecto, y la creación de la cuenta de servicio se debe realizar solo una vez. Si usas la consola para crear una instancia, Looker (Google Cloud Core) crea automáticamente la cuenta de servicio y le otorga acceso a la clave de CMEK cuando configuras la opción Usar una clave de encriptación administrada por el cliente.
Para permitir que un usuario administre cuentas de servicio, otorga una de las siguientes funciones:
- Usuario de cuenta de servicio (
roles/iam.serviceAccountUser
): Incluye permisos para enumerar cuentas de servicio, obtener detalles sobre ellas, o bien actuar en nombre de una. - Administrador de cuenta de servicio (
roles/iam.serviceAccountAdmin
): Incluye permisos para enumerar cuentas de servicio y obtener detalles sobre ellas. También incluye permisos para crear, actualizar y borrar cuentas de servicio.
Por el momento, solo puedes usar los comandos de Google Cloud CLI para crear el tipo de cuenta de servicio que necesitas para las claves de encriptación administradas por el cliente. Si usas la consola de Google Cloud, Looker (Google Cloud Core) crea automáticamente esta cuenta de servicio.
gcloud
Ejecuta el siguiente comando para crear la cuenta de servicio:
gcloud beta services identity create \ --service=looker.googleapis.com \ --project=PROJECT_ID
Reemplaza PROJECT_ID
por el proyecto en el que reside la instancia de Looker (Google Cloud Core).
Este comando crea la cuenta de servicio y muestra su nombre. Debes usar este nombre de cuenta de servicio durante el procedimiento que se muestra en la página sobre cómo otorgar acceso a la clave a la cuenta de servicio.
Después de crear la cuenta de servicio, espera unos minutos para que se propague.
Crea un llavero de claves y una clave
Puedes crear la clave en el mismo Google Cloud proyecto que la instancia de Looker (Google Cloud Core) o en otro proyecto de usuario. La ubicación del llavero de claves de Cloud KMS debe coincidir con la región en la que deseas crear la instancia de Looker (Google Cloud Core). Una clave multirregional o de región global no funcionará. La solicitud para crear instancias de Looker (Google Cloud Core) falla si las regiones no coinciden.
Sigue las instrucciones de las páginas de documentación Crea un llavero de claves y Crea una clave para crear un llavero de claves y una clave que cumplan con los siguientes dos criterios:
- El campo Ubicación del llavero de claves debe coincidir con la región que establecerás para la instancia de Looker (Google Cloud Core).
- El campo Propósito de la clave debe ser Encriptación/desencriptación simétrica.
Consulta la sección Rota tu clave para obtener información sobre cómo rotar la clave y crear versiones de clave nuevas.
Copia o anota el KMS_KEY_ID
y el KMS_KEYRING_ID
.
Si usas Google Cloud CLI, Terraform o la API para configurar tu instancia de Looker (núcleo de Google Cloud), sigue las instrucciones de la página de documentación Cómo obtener un ID de recurso de Cloud KMS para ubicar los IDs de recursos del llavero y la clave que acabas de crear. Copia o escribe el ID (KMS_KEY_ID) y la ubicación de la clave, junto con el ID (KMS_KEYRING_ID) del llavero de claves. Necesitarás esta información cuando le otorgues a la cuenta de servicio acceso a la clave.
Otorga a la cuenta de servicio acceso a la clave.
Solo debes realizar este procedimiento si se cumplen las siguientes condiciones:
- Estás usando Google Cloud CLI, Terraform o la API.
- La cuenta de servicio aún no tiene acceso a la clave. Por ejemplo, si ya hay una instancia de Looker (Google Cloud Core) en el mismo proyecto que usa la misma clave, no es necesario que otorgues acceso. Como alternativa, si otra persona ya otorgó acceso a la clave, no es necesario que lo hagas.
Debes tener el rol de IAM de administrador de Cloud KMS en la clave que se usa para otorgar acceso a la cuenta de servicio.
Para otorgar acceso a la cuenta de servicio, haz lo siguiente:
gcloud
gcloud kms keys add-iam-policy-binding KMS_KEY_ID \ --location=REGION \ --keyring=KMS_KEYRING_ID \ --member=serviceAccount:SERVICE_ACCOUNT_NAME \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter
Reemplaza lo siguiente:
- KMS_KEY_ID: El ID de la clave de KMS
- REGION: Es la región en la que se crea Looker (Google Cloud Core) y la ubicación del llavero.
- KMS_KEYRING_ID: El ID del llavero de claves de KMS
- SERVICE_ACCOUNT_NAME: Es el nombre de la cuenta de servicio que se muestra cuando la creaste.
Después de otorgarle el rol de IAM a la cuenta de servicio, espera unos minutos para que se propague el permiso.
Crea una instancia de Looker (Google Cloud Core) con CMEK
Para crear una instancia con claves de encriptación administradas por el cliente en la Google Cloud consola, primero sigue los pasos que se indican en la sección Crea un llavero y una clave, que se mostró anteriormente, para crear un llavero y una clave en la misma región que usarás para tu instancia de Looker (Google Cloud core). A continuación, usa la siguiente configuración y sigue las instrucciones para crear una instancia de Looker (Google Cloud Core).
Para crear una instancia de Looker (Google Cloud Core) con la configuración de CMEK, selecciona una de las siguientes opciones:
Console
- Asegúrate de tener el rol de IAM de Encriptador/Desencriptador de CryptoKey de Cloud KMS en la clave que se usa para la CMEK.
- En la sección Edición de la página Crear una instancia, debes seleccionar una edición Embebida o Empresarial para usar CMEK.
- En la sección Encriptación de la página Crear una instancia, selecciona el botón de selección Clave de encriptación administrada por el cliente (CMEK). Se mostrará un campo desplegable Selecciona una clave administrada por el cliente.
- En el campo Selecciona una clave administrada por el cliente, establece la clave que deseas usar. La clave debe estar en un llavero que tenga una ubicación establecida en la misma región que la instancia de Looker (Google Cloud Core) que estás creando, o la creación de la instancia fallará. Puedes seleccionar la clave con uno de los siguientes dos métodos:
- Selecciona el nombre de la clave de la lista desplegable: Las claves disponibles en tu proyecto de Google Cloud aparecen en una lista desplegable. Una vez que hayas seleccionado la clave, haz clic en Aceptar.
- Ingresa el ID de recurso de la clave: Haz clic en el texto ¿No ves tu clave? Ingresa el ID de recurso de la clave, que aparece en la parte inferior del menú desplegable.Aparecerá el cuadro de diálogo Ingresa el ID de recurso de la clave, en el que puedes ingresar el ID de la clave. Una vez que hayas ingresado el ID, selecciona Guardar.
- Una vez que selecciones una clave, aparecerá un mensaje en el que se te pedirá que otorgues permiso a tu cuenta de servicio para usarla. Haz clic en el botón Otorgar.
- Si la cuenta de servicio no tiene permiso para encriptar y desencriptar con la clave seleccionada, aparecerá un mensaje. Si esto sucede, haz clic en Otorgar para otorgar a la cuenta de servicio el rol de IAM de Encriptador/Desencriptador de CryptoKey de Cloud KMS en la clave de KMS seleccionada.
- Una vez que hayas terminado de configurar tu instancia de Looker (Google Cloud Core), haz clic en Crear.
gcloud
gcloud looker instances create INSTANCE_NAME \ --project=PROJECT_ID \ --oauth-client-id=OAUTH_CLIENT_ID\ --oauth-client-secret=OAUTH_CLIENT_SECRET \ --kms-key=KMS_KEY_ID --region=REGION \ --edition=EDITION [--consumer-network=CONSUMER_NETWORK --private-ip-enabled --reserved-range=RESERVED_RANGE] [--no-public-ip-enabled] [--public-ip-enabled]
Reemplaza lo siguiente:
INSTANCE_NAME
: Es un nombre para tu instancia de Looker (Google Cloud Core). No está asociado con la URL de la instancia.PROJECT_ID
: El nombre del Google Cloud proyecto en el que creas la instancia de Looker (Google Cloud Core).OAUTH_CLIENT_ID
yOAUTH_CLIENT_SECRET
: el ID de cliente de OAuth y el secreto de OAuth que creaste cuando configuraste tu cliente de OAuth. Después de crear la instancia, ingresa su URL en la sección URIs de redireccionamiento autorizados del cliente de OAuth.- KMS_KEY_ID: El ID de la clave de KMS
REGION
: Es la región en la que se aloja tu instancia de Looker (Google Cloud Core). Las regiones disponibles se enumeran en la página de documentación Ubicaciones de Looker (Google Cloud Core).EDITION
: Para habilitar CMEK,EDITION
debe sercore-embed-annual
ocore-enterprise-annual
.CONSUMER_NETWORK
: Tu red de VPC o VPC compartida. Se debe establecer si creas una instancia de IP privada.RESERVED_RANGE
: Es el rango de direcciones IP dentro de la VPC en la que Google aprovisionará una subred para tu instancia de Looker (Google Cloud core). Se debe establecer si creas una instancia de IP privada.
Puedes incluir las siguientes marcas:
--private-ip-enabled
habilita la IP privada.--public-ip-enabled
habilita la IP pública.--no-public-ip-enabled
inhabilita la IP pública.
Terraform
Usa el siguiente recurso de Terraform para aprovisionar una instancia de Looker (Google Cloud Core) Enterprise con una conexión de red privada:
Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.
Tu instancia de Looker (Google Cloud Core) ahora está habilitada con CMEK.
Visualiza la información de claves de una instancia con CMEK habilitadas
Una vez que crees correctamente una instancia de Looker (Google Cloud Core), puedes verificar si las CMEK están habilitadas.
Para ver si CMEK está habilitada, selecciona una de las siguientes opciones:
Console
- En la Google Cloud consola, ve a la página Instancias de Looker.
- Haz clic en el nombre de una instancia para abrir su página Detalles. Si una instancia tiene habilitada la CMEK, una fila Encriptación indica la encriptación que se usa para la instancia. En el campo Clave de encriptación administrada por el cliente (CMEK), se muestra el identificador de clave.
gcloud
gcloud looker instances describe INSTANCE_NAME --region=REGION --format config
Reemplaza lo siguiente:
INSTANCE_NAME
: Es un nombre para tu instancia de Looker (Google Cloud Core). No está asociado con la URL de la instancia.- REGION: Es la región en la que se creó la instancia.
Este comando debería mostrar un kmsKeyName
, un kmsKeyNameVersion
y un kmsKeyState
para confirmar que la instancia se configuró con CMEK.
Usa Cloud External Key Manager (Cloud EKM)
Para proteger los datos en instancias de Looker (núcleo de Google Cloud), puedes usar las claves que administras dentro de un socio de administración de claves externo compatible. Para obtener más información, consulta la página de documentación de Cloud External Key Manager, incluida la sección Consideraciones.
Cuando tengas todo listo para crear una clave de Cloud EKM, consulta la sección Cómo funciona de la página de documentación de Cloud External Key Manager. Después de crear una clave, proporciona el nombre de la clave cuando crees una instancia de Looker (Google Cloud Core).
Google no controla la disponibilidad de las claves en un sistema externo de administración de claves.
Rota la clave
Te recomendamos que rotes la clave para mejorar la seguridad. Cada vez que se rota la clave, se crea una versión nueva. Para obtener más información sobre la rotación de claves, consulta la página de documentación Rotación de claves.
Si rotas la clave que se usa para proteger tu instancia de Looker (Google Cloud Core), la versión de clave anterior seguirá siendo necesaria para acceder a las copias de seguridad o exportaciones que se hayan realizado cuando se usaba esa versión de clave. Por esa razón, Google recomienda mantener habilitada la versión de clave anterior durante al menos 45 días después de la rotación para garantizar que se pueda acceder a esos elementos. Las versiones de clave se conservan de forma predeterminada hasta que se inhabilitan o destruyen.
Inhabilita y vuelve a habilitar versiones de claves
Consulta las siguientes páginas de documentación:
Si se inhabilita una versión de clave que se usa para ayudar a proteger una instancia de Looker (Google Cloud Core), esta debe dejar de funcionar, borrar los datos sensibles no encriptados que pueda tener en la memoria y esperar hasta que la clave vuelva a estar disponible. El proceso es el siguiente:
- La versión de clave que se usa para ayudar a proteger una instancia de Looker (Google Cloud Core) está inhabilitada.
- En aproximadamente 15 minutos, la instancia de Looker (núcleo de Google Cloud) detecta que se revocó la versión de la clave, deja de funcionar y borra todos los datos encriptados de la memoria.
- Después de que la instancia deja de funcionar, las llamadas a las APIs de Looker muestran un mensaje de error.
- Después de que la instancia deja de funcionar, la IU de Looker (Google Cloud Core) muestra un mensaje de error.
- Si vuelves a habilitar la versión de clave, debes activar manualmente un reinicio de la instancia.
Si inhabilitas una versión de clave y no quieres esperar a que la instancia de Looker (Google Cloud Core) se detenga por sí sola, puedes activar manualmente un reinicio de la instancia para que la instancia de Looker (Google Cloud Core) detecte la versión de clave revocada de inmediato.
Destruye versiones de claves
Consulta la siguiente página de documentación:
Si se destruye una versión de clave que se usa para ayudar a proteger una instancia de Looker (Google Cloud Core), esta se vuelve inaccesible. La instancia se debe borrar, y no podrás acceder a sus datos.
Solucionar problemas
En esta sección, se describen los procedimientos que debes intentar cuando recibes un mensaje de error durante la configuración o el uso de instancias habilitadas con CMEK.
Las operaciones del administrador de Looker (núcleo de Google Cloud), como la creación o la actualización, pueden fallar por errores de Cloud KMS y funciones o permisos faltantes. Entre los motivos más comunes de las fallas se incluyen una versión de clave de Cloud KMS faltante, una versión de clave de Cloud KMS inhabilitada o destruida, permisos de IAM insuficientes para acceder a la versión de clave de Cloud KMS o la ubicación de la versión de clave de Cloud KMS en una región diferente a la de la instancia de Looker (núcleo de Google Cloud). Usa la siguiente tabla de solución de problemas para diagnosticar y resolver problemas comunes.
Tabla de solución de problemas de claves de encriptación administradas por el cliente
Mensaje de error | Posibles causas | Estrategias para solucionar problemas |
No se encontró la cuenta de servicio por proyecto ni por producto. | El nombre de la cuenta de servicio es incorrecto. | Asegúrate de haber creado una cuenta de servicio para el proyecto de usuario correcto. |
No se puede otorgar acceso a la cuenta de servicio. | La cuenta de usuario no tiene permiso para otorgar acceso a esta versión de clave. | Agrega el rol de Administrador de la organización a tu usuario o cuenta de servicio. |
Se destruye la versión de clave de Cloud KMS | La versión de clave está destruida. | Si la versión de clave se destruye, no podrás usarla para encriptar o desencriptar datos. Se debe borrar la instancia de Looker (Google Cloud Core). |
Se inhabilita la versión de la clave de Cloud KMS | La versión de clave está inhabilitada. | Vuelve a habilitar la versión de la clave de Cloud KMS. |
Permiso insuficiente para usar la clave de Cloud KMS | Falta el rol cloudkms.cryptoKeyEncrypterDecrypter en el usuario o la cuenta de servicio que usas para ejecutar operaciones en instancias de Looker (núcleo de Google Cloud), o la versión de la clave de Cloud KMS no existe.
|
Agrega la función Si el rol ya se encuentra en tu cuenta, consulta la sección Crea un llavero de claves y una clave para aprender a crear una versión de clave nueva. Luego, vuelve a completar los pasos para crear la instancia. |
No se encontró la clave de Cloud KMS | La versión de clave no existe. | Crea una versión de clave nueva y vuelve a completar los pasos para crear la instancia. Consulta la sección Crea un llavero de claves y una clave. |
La instancia de Looker (Google Cloud Core) y la versión de clave de Cloud KMS se encuentran en regiones diferentes. | La versión de clave de Cloud KMS y la instancia de Looker (núcleo de Google Cloud) deben estar en la misma región. No funciona si la versión de clave de Cloud KMS se encuentra en una región global o multirregión. | Crea una versión de clave en la misma región donde deseas crear instancias y vuelve a completar los pasos para crear instancias. Consulta la sección Crea un llavero de claves y una clave. |
¿Qué sigue?
- Administra una instancia de Looker (Google Cloud Core) desde la Google Cloud consola
- Configuración del administrador de Looker (Google Cloud Core)