En este documento, se describe cómo configurar una organización, una carpeta o un proyecto para que tus buckets de observabilidad satisfagan tus requisitos de cumplimiento o reglamentarios. Las políticas de la organización y la configuración predeterminada para los buckets de observabilidad te permiten especificar la ubicación de almacenamiento y si esos buckets usan la encriptación predeterminada de Google o las claves de encriptación administradas por el cliente (CMEK).
En el caso de las organizaciones, las carpetas y los proyectos, la configuración predeterminada de los buckets de observabilidad te permite configurar lo siguiente:
- Una ubicación de almacenamiento predeterminada
- Para cada ubicación, una clave predeterminada de Cloud Key Management Service
Cuando se configuran para un proyecto, estos parámetros solo se aplican a los buckets de observabilidad nuevos que se crean en ese proyecto. Cuando se configuran para una carpeta o una organización, estos parámetros se aplican a los nuevos buckets de observabilidad que se crean en proyectos que son descendientes de la carpeta o la organización, excepto en aquellos proyectos en los que configuraste parámetros predeterminados.
También puedes usar políticas de la organización para restringir las ubicaciones de los buckets de observabilidad nuevos, exigir el uso de CMEK o restringir las claves de Cloud KMS que se pueden usar para la encriptación. Si configuras políticas de la organización que requieren el uso de CMEK, debes configurar los parámetros de configuración predeterminados para los buckets de observabilidad. De lo contrario, fallará el aprovisionamiento de los buckets de observabilidad creados por el sistema.
Este documento no se aplica a los buckets de registros, que almacenan datos de registros. Para obtener información sobre cómo establecer una ubicación predeterminada o requerir CMEK para los buckets de registros, consulta Configura los parámetros de configuración predeterminados de los recursos para Cloud Logging.
Políticas de la organización aplicables
Para controlar dónde se crean tus buckets de observabilidad y quién administra las claves de encriptación de esos buckets, es posible que desees configurar las siguientes políticas de la organización:
Política con un ID de restricción
constraints/gcp.resourceLocations. Esta política define el conjunto de ubicaciones en las que se pueden crear recursos nuevos. Para usar los buckets de observabilidad, este conjunto de ubicaciones debe incluir al menos una ubicación de buckets de observabilidad admitida.Es una política
Denycon el ID de restricciónconstraints/gcp.restrictNonCmekServices. Esta política requiere que los recursos nuevos se encripten con CMEK.Es una política con el ID de restricción
constraints/gcp.restrictCmekCryptoKeyProjects. Esta política limita las claves de Cloud Key Management Service que se usan para la encriptación.
Puedes crear políticas de la organización que se apliquen a nivel de la organización, la carpeta o el proyecto. Para obtener más información, consulta Crea y edita políticas.
Cómo afectan las políticas de la organización la configuración de una ubicación predeterminada
Cuando emites un comando para establecer una ubicación predeterminada, Google Cloud Observability verifica que las políticas de la organización permitan la ubicación especificada y que esta sea una ubicación admitida para los buckets de observabilidad. Si falla alguna de las verificaciones, también fallará el comando para establecer la ubicación predeterminada.
Si modificas la lista de ubicaciones permitidas por las políticas de la organización de modo que la ubicación de almacenamiento predeterminada ya no esté permitida, deberás actualizar ese parámetro de configuración por separado. También es posible que debas configurar una clave de Cloud KMS predeterminada para la ubicación predeterminada actualizada.
Cómo interactúan las políticas de la organización y la configuración predeterminada
El bucket de observabilidad principal debe ser un proyecto. Es decir, el sistema no puede crear un bucket de observabilidad en una carpeta o en una organización. Sin embargo, si configuras parámetros predeterminados para los buckets de observabilidad de una organización o una carpeta, esos parámetros se aplicarán a todos los proyectos que sean descendientes de esa organización o carpeta.
En la siguiente tabla, se indican las reglas que usa el sistema para determinar la ubicación de un bucket de observabilidad nuevo:
| Usa la política de la organización para restringir la ubicación |
El proyecto (o un proyecto superior) tiene una ubicación de almacenamiento predeterminada |
Cómo determina el sistema la ubicación de un nuevo bucket de observabilidad |
|---|---|---|
| No | No | El sistema selecciona la ubicación entre las ubicaciones admitidas para los buckets de observabilidad. |
| Sí | No | El sistema selecciona la ubicación de la intersección de las ubicaciones que permiten las políticas de la organización y las que admiten los buckets de observabilidad. Si la intersección está vacía, el sistema no crea el bucket de observabilidad. |
| No | Sí | El sistema establece la ubicación de almacenamiento predeterminada definida en la configuración predeterminada del proyecto. Si el proyecto no define una ubicación de almacenamiento predeterminada, el sistema usa la ubicación de almacenamiento predeterminada definida para un elemento superior. |
| Sí | Sí | El sistema establece la ubicación de almacenamiento predeterminada definida en la configuración predeterminada del proyecto. Si el proyecto no define una ubicación de almacenamiento predeterminada, el sistema usa la ubicación de almacenamiento predeterminada del proyecto superior. Si las políticas de la organización no permiten la ubicación de almacenamiento predeterminada, el sistema no crea el bucket de observabilidad. |
En la siguiente tabla, se indican las reglas que usa el sistema para determinar si un bucket de observabilidad nuevo usa CMEK y, si es así, el valor de la clave de Cloud KMS. Para encriptar un bucket de observabilidad, debe haber una clave de Cloud KMS en la ubicación del bucket y las políticas de la organización deben permitirla. Si no especificas una política de la organización con la restricción gcp.restrictCmekCryptoKeyProjects, se permiten todas las claves:
| Usa la política de la organización para requerir CMEK |
El proyecto (o un proyecto superior) tiene una clave de Cloud KMS predeterminada |
Cómo determina el sistema qué clave de Cloud KMS usar |
|---|---|---|
| No | No | El bucket de observabilidad no usa CMEK. |
| Sí | No | El sistema no crea nuevos buckets de observabilidad porque la política de la organización requiere CMEK, pero no se definió una clave predeterminada de Cloud KMS. |
| No | Sí | Para identificar una clave de encriptación, el sistema primero determina si se estableció una ubicación de almacenamiento predeterminada para el proyecto o para uno de sus elementos superiores. De lo contrario, el sistema seleccionará una ubicación y creará el bucket de observabilidad. El bucket no usa una CMEK. Si se encuentra una ubicación de almacenamiento predeterminada, el sistema busca en la configuración predeterminada del proyecto una clave de Cloud KMS predeterminada. Si la configuración predeterminada del proyecto no especifica una clave adecuada, el sistema busca en la configuración predeterminada del elemento superior una clave predeterminada que se encuentre en la ubicación del bucket nuevo. Se produce una de las siguientes situaciones:
|
| Sí | Sí | Para identificar una clave de encriptación, el sistema primero determina si se estableció una ubicación de almacenamiento predeterminada para el proyecto o para uno de sus elementos superiores. Si no se establece una ubicación de almacenamiento predeterminada, el sistema no crea el nuevo bucket de observabilidad. Si se encuentra una ubicación de almacenamiento predeterminada, el sistema busca en la configuración predeterminada del proyecto una clave de Cloud KMS predeterminada. Si la configuración predeterminada del proyecto no especifica una clave adecuada, el sistema busca en la configuración predeterminada del elemento superior una clave predeterminada que se encuentre en la ubicación del bucket nuevo. Se produce una de las siguientes situaciones:
|
Consulta la configuración predeterminada de los buckets de observabilidad
En esta sección, se describe cómo puedes ver la configuración predeterminada de los buckets de observabilidad para un recurso, que es una organización, una carpeta o un proyecto.
Para recuperar la configuración predeterminada de los buckets de observabilidad, debes ejecutar varios comandos. El primer comando devuelve la ubicación de almacenamiento predeterminada. El segundo comando devuelve la clave de Cloud KMS para esa ubicación.
Los comandos que se describen en esta sección son para un recurso específico. Las respuestas de estos comandos se limitan a los valores configurados por el usuario para ese recurso. Estos comandos no devuelven la configuración que el recurso podría usar, pero que está configurada para un elemento superior.
Antes de comenzar
Configura tu proyecto y tus roles de IAM, y selecciona la interfaz que planeas usar.
Configura tu proyecto y tus roles
- Accede a tu cuenta de Google Cloud . Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Para obtener el permiso que necesitas para ver la configuración predeterminada de los buckets de observabilidad de una organización, carpeta o proyecto, pídele a tu administrador que te otorgue el rol de IAM Observability Viewer (
roles/observability.viewer) en la organización, carpeta o proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.Este rol predefinido contiene el permiso
observability.settings.get, que es necesario para ver la configuración predeterminada de los buckets de observabilidad de una organización, una carpeta o un proyecto.También puedes obtener este permiso con roles personalizados o con otros roles predefinidos.
Selecciona la interfaz que planeas usar
gcloud
En la consola de Google Cloud , activa Cloud Shell.
En la parte inferior de la consola de Google Cloud , se inicia una sesión de Cloud Shell que muestra una ventana emergente con una línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.
Terraform
Para usar las muestras de Terraform de esta página en un entorno de desarrollo local, instala e inicializa la gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
-
Instala Google Cloud CLI.
-
Si usas un proveedor de identidad (IdP) externo, primero debes acceder a gcloud CLI con tu identidad federada.
-
Si usas un shell local, crea credenciales de autenticación locales para tu cuenta de usuario:
gcloud auth application-default login
No es necesario que lo hagas si usas Cloud Shell.
Si se devuelve un error de autenticación y usas un proveedor de identidad (IdP) externo, confirma que accediste a la gcloud CLI con tu identidad federada.
Para obtener más información, consulta Configura ADC para un entorno de desarrollo local en la documentación de autenticación de Google Cloud .
REST
Para usar las muestras de la API de REST incluidas en esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la gcloud CLI.
Instala Google Cloud CLI.
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
Para obtener más información, consulta Autentícate para usar REST en la documentación de autenticación de Google Cloud .
Obtén la ubicación de almacenamiento predeterminada de un recurso
Para obtener la ubicación de almacenamiento predeterminada de un recurso, envía un comando a un extremo específico del recurso y configura la ubicación de ese comando como global. Los datos de respuesta incluyen la ubicación de almacenamiento predeterminada y el nombre de una cuenta de servicio. Si necesitas CMEK para el recurso, esta cuenta de servicio se usa para recuperar claves de Cloud KMS.
gcloud
Antes de usar cualquiera de los datos de comando a continuación, haz los siguientes reemplazos:
Usa una de las siguientes opciones para pasarle al comando el ID del proyecto, la carpeta o la organización que deseas consultar:--project=PROJECT_ID, donde PROJECT_ID contiene el ID de tu proyecto.--folder=FOLDER_ID, donde FOLDER_ID contiene el ID de tu carpeta.--organization=ORGANIZATION_ID, donde ORGANIZATION_ID contiene el ID de tu organización.
Ejecuta el comando
gcloud beta observability settings describe:
Linux, macOS o Cloud Shell
gcloud beta observability settings describe \ --location=global --project=PROJECT_ID
Windows (PowerShell)
gcloud beta observability settings describe ` --location=global --project=PROJECT_ID
Windows (cmd.exe)
gcloud beta observability settings describe ^ --location=global --project=PROJECT_ID
A continuación, se ilustra la respuesta del comando:
Parsed [location] resource: projects/my-project/locations/global defaultStorageLocation: eu name: projects/my-project/locations/global/settings serviceAccountId: service-12345@gcp-sa-observability.iam.gserviceaccount.com
Terraform
Puedes usar Terraform para establecer una ubicación de almacenamiento predeterminada para un recurso, que puede ser un proyecto, una carpeta o una organización. No puedes usar Terraform para informar la ubicación de almacenamiento predeterminada de un recurso.
REST
Para el recurso cuya configuración predeterminada deseas mostrar, selecciona el extremo adecuado y, luego, en el Explorador de APIs, especifica el parámetro de ruta:
Organización:
- Extremo de API:
organizations.locations.getSettings Parámetro de ruta:
organizations/ORGANIZATION_ID/locations/global/settings
Carpeta:
- Extremo de API:
folders.locations.getSettings Parámetro de ruta:
folders/FOLDER_ID/locations/global/settings
Proyecto:
Extremo de API:
projects.locations.getSettingsParámetro de ruta:
projects/PROJECT_ID/locations/global/settings
Las variables de las expresiones anteriores tienen el siguiente significado:
- ORGANIZATION_ID: Es el identificador numérico único de la organización. Para obtener información sobre cómo obtener este identificador, consulta Obtén el ID de tu organización.
- FOLDER_ID: Es el identificador numérico único de la carpeta. Para obtener información sobre cómo usar las carpetas, consulta Crea y administra carpetas.
- PROJECT_ID: Es el identificador del proyecto.
- Extremo de API:
Haz clic en Ejecutar.
Cuando se ejecuta de forma correcta, la respuesta es un objeto
Settings. Si el campodefault_storage_locationestá vacío, no se establece una ubicación de almacenamiento predeterminada.Por ejemplo, si ejecutas un comando
getSettingsy configuras el parámetro de ruta de acceso en una organización, la respuesta será similar a una de las siguientes:Ubicación de almacenamiento predeterminada establecida en
"us":default_storage_location: "us" service_account_id: service-org-ORGANIZATION_ID@gcp-sa-observability.iam.gserviceaccount.comNo se estableció una ubicación de almacenamiento predeterminada:
service_account_id: service-org-ORGANIZATION_ID@gcp-sa-observability.iam.gserviceaccount.com
Obtén la clave predeterminada de Cloud KMS para un recurso y una ubicación
Las claves de Cloud KMS son recursos regionales. Solo se pueden usar para encriptar o desencriptar datos que se almacenan en la misma ubicación que la clave. Para cada ubicación compatible con los buckets de observabilidad y para cada organización, carpeta o proyecto, puedes configurar los parámetros predeterminados de los buckets de observabilidad con una clave de Cloud KMS.
En esta sección, se describe cómo obtener la clave predeterminada de Cloud KMS para el recurso y la ubicación.
gcloud
Antes de usar cualquiera de los datos de comando a continuación, haz los siguientes reemplazos:
- LOCATION: Es la ubicación de la clave de Cloud KMS para tu recurso. El recurso es un proyecto, una carpeta o una organización. Si configuras la ubicación en
global, el comando devuelve la ubicación de almacenamiento predeterminada para el recurso. - Usa una de las siguientes opciones para pasar al comando el ID del proyecto, la carpeta o la organización que deseas consultar:
--project=PROJECT_ID, donde PROJECT_ID contiene el ID de tu proyecto.--folder=FOLDER_ID, donde FOLDER_ID contiene el ID de tu carpeta.--organization=ORGANIZATION_ID, donde ORGANIZATION_ID contiene el ID de tu organización.
Ejecuta el comando
gcloud beta observability settings describe:
Linux, macOS o Cloud Shell
gcloud beta observability settings describe \ --location=LOCATION --project=PROJECT_ID
Windows (PowerShell)
gcloud beta observability settings describe ` --location=LOCATION --project=PROJECT_ID
Windows (cmd.exe)
gcloud beta observability settings describe ^ --location=LOCATION --project=PROJECT_ID
A continuación, se ilustra la respuesta del comando:
Parsed [location] resource: projects/my-project/locations/us kmsKeyName: projects/my-project/locations/us/keyRings/test/cryptoKeys/test-key name: projects/my-project/locations/us/settings serviceAccountId: service-12345@gcp-sa-observability.iam.gserviceaccount.com
Terraform
Puedes usar Terraform para establecer una clave predeterminada de Cloud Key Management Service para una ubicación y un recurso, que puede ser un proyecto, una carpeta o una organización. No puedes usar Terraform para informar la ubicación de almacenamiento predeterminada de un recurso.
REST
Para el recurso cuya configuración predeterminada deseas mostrar, selecciona el extremo adecuado y, luego, en el Explorador de APIs, especifica el parámetro de ruta:
Organización:
Extremo de API:
organizations.locations.getSettingsParámetro de ruta:
organizations/ORGANIZATION_ID/locations/LOCATION_ID/settings
Carpeta:
- Extremo de API:
folders.locations.getSettings Parámetro de ruta:
folders/FOLDER_ID/locations/LOCATION_ID/settings
Proyecto:
- Extremo de API:
projects.locations.getSettings Parámetro de ruta:
projects/PROJECT_ID/locations/LOCATION_ID/settings
Las variables de las expresiones anteriores tienen el siguiente significado:
- ORGANIZATION_ID: Es el identificador numérico único de la organización. Para obtener información sobre cómo obtener este identificador, consulta Obtén el ID de tu organización.
- FOLDER_ID: Es el identificador numérico único de la carpeta. Para obtener información sobre cómo usar las carpetas, consulta Crea y administra carpetas.
- PROJECT_ID: Es el identificador del proyecto.
- LOCATION_ID: Es la ubicación cuya configuración de CMEK deseas ver.
Haz clic en Ejecutar.
Cuando se ejecuta de forma correcta, la respuesta es un objeto
Settings.Por ejemplo, supongamos que ejecutas el comando
getSettingsy configuras el parámetro de ruta de acceso enorganizations/ORGANIZATION_ID/locations/LOCATION_ID/settings. En ese caso, la respuesta será similar a una de las siguientes:Cuando no se establece una clave de Cloud KMS para la organización y la ubicación, la respuesta solo enumera una cuenta de servicio:
service_account_id: service-org-ORGANIZATION_ID@gcp-sa-observability.iam.gserviceaccount.comCuando se establece la clave de Cloud KMS para la organización y la ubicación, la respuesta incluye una cuenta de servicio y el nombre de la clave de Cloud KMS:
name: "organizations/ORGANIZATION_ID/locations/LOCATION_ID/settings" service_account_id: service-org-ORGANIZATION_ID@gcp-sa-observability.iam.gserviceaccount.com kms_key_name: "projects/my-kms-project/locations/LOCATION_ID/keyRings/my-key-ring/cryptoKeys/my-key"
Establece la configuración predeterminada para los buckets de observabilidad
En esta sección, se describe cómo puedes configurar los parámetros predeterminados para los buckets de observabilidad de un recurso, que puede ser una organización, una carpeta o un proyecto.
Si planeas requerir la CMEK para un recurso y una ubicación, configura los parámetros de configuración predeterminados para los buckets de observabilidad de ese par antes de establecer la ubicación de almacenamiento predeterminada. Cuando configuras los parámetros predeterminados para un recurso y una ubicación, especificas la clave de Cloud KMS que se usará.
Estas instrucciones son para el Explorador de APIs, que te permite emitir comandos de API desde una página de documentación. Sin embargo, también puedes emitir un comando curl.
Configuración de ejemplo
En esta sección, se enumeran los casos de uso comunes.
Exige que los buckets nuevos se encuentren en una ubicación específica
Para exigir que los nuevos buckets de observabilidad creados por el sistema en tu organización se encuentren en la ubicación us, establece la ubicación de almacenamiento predeterminada de tu organización en us.
Para anular la configuración a nivel de la organización y exigir que los nuevos buckets de observabilidad creados por el sistema en la carpeta secundaria llamada my-eu-projects se encuentren en la región eu, establece la ubicación de almacenamiento predeterminada para la carpeta my-eu-projects en eu.
Exige que los buckets nuevos estén en una ubicación específica y usen CMEK
Para exigir que todos los buckets de observabilidad nuevos creados por el sistema en tu organización se encuentren en la ubicación us y usen CMEK, haz lo siguiente:
Configura los parámetros de configuración predeterminados para los buckets de observabilidad de tu organización y la ubicación de
uspara especificar una clave de Cloud KMS.Establece
uscomo la ubicación de almacenamiento predeterminada para tu organización.
Antes de comenzar
Si solo planeas configurar la ubicación de almacenamiento predeterminada, no necesitas ningún rol de Cloud KMS.
Completa la configuración obligatoria para ver los parámetros de configuración predeterminados de los buckets de observabilidad.
-
Para obtener los permisos que necesitas para establecer la configuración predeterminada de los buckets de observabilidad para una organización, carpeta o proyecto, pídele a tu administrador que te otorgue los siguientes roles de IAM en la organización, carpeta o proyecto:
- Editor de Observability (
roles/observability.editor) - Administrador de Cloud KMS (
roles/cloudkms.admin)
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Estos roles predefinidos contienen los permisos necesarios para establecer la configuración predeterminada de los buckets de observabilidad para una organización, una carpeta o un proyecto. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para establecer la configuración predeterminada de los buckets de observabilidad para una organización, una carpeta o un proyecto:
-
observability.settings.get -
observability.settings.update -
cloudkms.cryptoKeys.getIamPolicy -
cloudkms.cryptoKeys.setIamPolicy
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
- Editor de Observability (
Si planeas requerir el uso de CMEK, asegúrate de tener una clave de Cloud KMS en la ubicación requerida. Si es necesario, crea un llavero de claves de Cloud KMS y una clave de Cloud KMS.
Determina el recurso cuya configuración predeterminada de los buckets de observabilidad planeas actualizar. Este recurso puede ser una organización, una carpeta o un proyecto.
Si configuras parámetros de configuración predeterminados para una organización o una carpeta, se aplicarán a todos los elementos subordinados de esa organización o carpeta. Si configuras parámetros predeterminados para los buckets de observabilidad de un proyecto, estos se aplicarán solo a ese proyecto.
Otorga acceso a una clave a la cuenta de servicio del recurso
Para el recurso cuya configuración predeterminada planeas establecer, otorga un rol a su cuenta de servicio:
Identifica la clave de Cloud KMS que deseas usar para la encriptación y desencriptación.
Las claves de Cloud KMS son regionales. Por ejemplo, si planeas exigir que los buckets de observabilidad nuevos creados por el sistema se encuentren en la ubicación
us, necesitarás una clave de Cloud KMS en la ubicaciónus.Identifica la cuenta de servicio de tu recurso.
Por ejemplo, si deseas que todos los buckets de observabilidad nuevos creados por el sistema en tu organización se encuentren en la ubicación
usy usen CMEK, emite una llamadagetSettingsa la ubicaciónglobaly establece el parámetro de ruta de acceso en una organización. Los datos de la respuesta enumeran la cuenta de servicio de la organización:service_account_id: service-org-ORGANIZATION_ID@gcp-sa-observability.iam.gserviceaccount.comOtorga a la cuenta de servicio que identificaste en el paso anterior el rol de Encriptador/Desencriptador de CryptoKey de Cloud KMS (
roles.cloudkms.cryptoKeyEncrypterDecrypter) para la clave de Cloud KMS que deseas usar para encriptar y desencriptar datos.Esta vinculación de rol es para una clave de Cloud KMS específica.
gcloud
Ejecuta el comando
gcloud kms keys add-iam-policy-binding:gcloud kms keys add-iam-policy-binding KMS_KEY_NAME \ --project=KMS_PROJECT_ID \ --member=serviceAccount:SERVICE_ACCT_NAME@gcp-sa-observability.iam.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter \ --location=LOCATION_ID \ --keyring=KMS_KEY_RINGAntes de ejecutar el comando anterior, realiza los siguientes reemplazos:
- KMS_KEY_NAME: El nombre de la clave.
- KMS_PROJECT_ID: Es el identificador alfanumérico único, compuesto por el nombre de tu proyecto de Google Cloud y un número asignado de forma aleatoria, del proyecto de Google Cloud que ejecuta Cloud KMS. Para obtener información sobre cómo obtener este identificador, consulta Identifica proyectos.
- SERVICE_ACCT_NAME: Es el nombre de la cuenta de servicio de tu recurso, que identificaste en el paso anterior.
- LOCATION_ID: Es la ubicación de tu clave de Cloud KMS.
- KMS_KEY_RING: Es el nombre del llavero de claves de Cloud KMS.
Console
- En la consola de Google Cloud , ve a la página Administración de claves.
- Selecciona el nombre del llavero de claves que contiene la clave.
Selecciona la casilla de verificación de la clave.
La pestaña de Permisos estará disponible.
En el cuadro de diálogo Agregar miembros, especifica la dirección de correo electrónico de la cuenta de servicio de Google Cloud Observability a la que le otorgas acceso.
En el menú Seleccionar un rol, elige Encriptador/desencriptador de CryptoKey de Cloud KMS.
Haz clic en Agregar.
Configura la clave predeterminada de Cloud KMS para un recurso y una ubicación
En el paso anterior, otorgaste a la cuenta de servicio de un recurso los permisos para encriptar y desencriptar datos para una clave específica de Cloud KMS.
Por ejemplo, es posible que le hayas otorgado a la cuenta de servicio de una organización un rol de IAM que le permita acceder a una clave de Cloud KMS que se encuentre en la ubicación us.
En este paso, para ese recurso y la ubicación de la clave de Cloud KMS, actualizas la configuración predeterminada de los buckets de observabilidad con la información de la clave.
Por ejemplo, en este paso, puedes configurar los parámetros predeterminados para los buckets de observabilidad de tu organización y para la ubicación us, en la clave de Cloud KMS que también se encuentra en la ubicación us.
Como paso siguiente, establece la ubicación de almacenamiento predeterminada. Si no estableces una ubicación de almacenamiento predeterminada, tus buckets de observabilidad no se encriptarán con tu clave de Cloud KMS predeterminada, incluso si esos buckets se encuentran en la ubicación donde se define la clave.
gcloud
Antes de usar cualquiera de los datos de comando a continuación, haz los siguientes reemplazos:
- KMS_KEY_NAME: Es el nombre de la clave de Cloud KMS.
- LOCATION: Es la ubicación de la clave de Cloud KMS para tu recurso. El recurso es un proyecto, una carpeta o una organización. Si configuras la ubicación en
global, el comando devuelve la ubicación de almacenamiento predeterminada para el recurso. - Usa una de las siguientes opciones para pasar al comando el ID del proyecto, la carpeta o la organización que deseas consultar:
--project=PROJECT_ID, donde PROJECT_ID contiene el ID de tu proyecto.--folder=FOLDER_ID, donde FOLDER_ID contiene el ID de tu carpeta.--organization=ORGANIZATION_ID, donde ORGANIZATION_ID contiene el ID de tu organización.
Ejecuta el comando
gcloud beta observability settings update:
Linux, macOS o Cloud Shell
gcloud beta observability settings update \ --kms-key-name=KMS_KEY_NAME \ --update-mask=kms-key-name \ --location=LOCATION --project=PROJECT_ID
Windows (PowerShell)
gcloud beta observability settings update ` --kms-key-name=KMS_KEY_NAME ` --update-mask=kms-key-name ` --location=LOCATION --project=PROJECT_ID
Windows (cmd.exe)
gcloud beta observability settings update ^ --kms-key-name=KMS_KEY_NAME ^ --update-mask=kms-key-name ^ --location=LOCATION --project=PROJECT_ID
El comando de actualización inicia una operación de larga duración. A continuación, se ilustra la respuesta del comando:
Parsed [location] resource: projects/my-project/locations/us Request issued for: [us] Waiting for operation [projects/my-project/locations/us/operations/operation-1775247021184-64e93e8161585-1a55612f-73382a5a] to complete...done. Updated location [us]. '@type': type.googleapis.com/google.cloud.observability.v1.Settings kmsKeyName: projects/my-project/locations/us/keyRings/test/cryptoKeys/test-key name: projects/my-project/locations/us/settings serviceAccountId: service-12345@gcp-sa-observability.iam.gserviceaccount.com
Terraform
Para establecer una clave predeterminada de Cloud Key Management Service para una ubicación y un recurso, haz lo siguiente:
Selecciona el recurso de Terraform adecuado según el recurso Google Cloudque deseas configurar:
Organización:
- Usa el recurso de Terraform
google_observability_organization_settings. - Configura el campo
organizationcon el ID de la organización.
Carpeta:
- Usa el recurso de Terraform
google_observability_folder_settings. - Configura el campo
foldercomo el ID de la carpeta.
Proyecto:
- Usa el recurso de Terraform
google_observability_project_settings. - Establece el campo
projecten el ID del proyecto.
- Usa el recurso de Terraform
Configura los siguientes campos:
- Configura el campo
locationen la ubicación de la clave predeterminada de Cloud KMS. - Establece el campo
kms_key_nameen la clave de Cloud KMS.
- Configura el campo
Después de actualizar el archivo
main.tf, actualiza tu instalación de Terraform:terraform -init upgradeLa actualización es necesaria porque los recursos de Terraform requeridos son beta.
REST
Para el recurso cuya configuración predeterminada deseas establecer, selecciona el extremo adecuado y, luego, en el Explorador de APIs, especifica el parámetro de ruta de acceso:
Organización:
- Extremo de API:
organizations.locations.updateSettings Parámetro de ruta:
organizations/ORGANIZATION_ID/locations/LOCATION_ID/settings
Carpeta:
- Extremo de API:
folders.locations.updateSettings Parámetro de ruta:
folders/FOLDER_ID/locations/LOCATION_ID/settings
Proyecto:
- Extremo de API:
projects.locations.updateSettings Parámetro de ruta:
projects/PROJECT_ID/locations/LOCATION_ID/settings
Las variables de las expresiones anteriores tienen el siguiente significado:
- ORGANIZATION_ID: Es el identificador numérico único de la organización. Para obtener información sobre cómo obtener este identificador, consulta Obtén el ID de tu organización.
- FOLDER_ID: Es el identificador numérico único de la carpeta. Para obtener información sobre cómo usar las carpetas, consulta Crea y administra carpetas.
- PROJECT_ID: Es el identificador del proyecto.
- LOCATION_ID: Es la ubicación de tu clave de Cloud KMS.
- Extremo de API:
Configura el campo updateMask de la siguiente manera:
updateMask=kmsKeyNameConfigura el cuerpo de la solicitud de la siguiente manera:
{ "kmsKeyName"="projects/KMS_PROJECT_ID/locations/LOCATION_ID/keyRings/KMS_KEY_RING/cryptoKeys/KMS_KEY_NAME" }Antes de ingresar los valores, realiza los siguientes reemplazos:
- KMS_PROJECT_ID: Es el identificador alfanumérico único, compuesto por el nombre de tu proyecto de Google Cloud y un número asignado de forma aleatoria, del proyecto de Google Cloud que ejecuta Cloud KMS. Para obtener información sobre cómo obtener este identificador, consulta Identifica proyectos.
- LOCATION_ID: Es la ubicación de tu clave de Cloud KMS.
- KMS_KEY_RING: Es el nombre del llavero de claves de Cloud KMS.
- KMS_KEY_NAME: El nombre de la clave.
El valor de
"kmsKeyName"es el nombre completo de tu clave.Haz clic en Ejecutar.
Cuando se ejecuta de forma correcta, la respuesta es un objeto
Settings.Por ejemplo, supongamos que ejecutas el comando
updateSettingspara establecer una clave de Cloud KMS y que configuras el parámetro de ruta de acceso enorganizations/ORGANIZATION_ID/locations/LOCATION_ID/settings. En ese caso, la respuesta será similar a la siguiente:name: "organizations/ORGANIZATION_ID/locations/LOCATION_ID/settings" service_account_id: service-org-ORGANIZATION_ID@gcp-sa-observability.iam.gserviceaccount.com kms_key_name: "projects/KMS_PROJECT_ID/locations/LOCATION_ID/keyRings/KMS_KEY_RING/cryptoKeys/KMS_KEY_NAME"
Cómo establecer la ubicación de almacenamiento predeterminada para un recurso
En este paso, se describe cómo establecer una ubicación de almacenamiento predeterminada para un recurso, que puede ser una organización, una carpeta o un proyecto. Todos los elementos secundarios de la jerarquía de recursos usan automáticamente la ubicación de almacenamiento predeterminada, excepto aquellos en los que configuraste una ubicación de almacenamiento predeterminada.
Por ejemplo, si configuras la ubicación de almacenamiento predeterminada de una organización en la ubicación us, los nuevos buckets de observabilidad creados por el sistema en esa organización estarán en la ubicación us. Si deseas que una carpeta o un proyecto tengan una ubicación de almacenamiento predeterminada diferente, configura los parámetros de configuración predeterminados para los buckets de observabilidad de la carpeta o el proyecto.
Si deseas que los buckets de observabilidad creados por el sistema en un recurso usen CMEK, completa los siguientes pasos antes de configurar la ubicación de almacenamiento predeterminada para el recurso:
- Otorga a la cuenta de servicio del recurso el rol de IAM que le permite encriptar y desencriptar datos. Este rol es para una clave de Cloud KMS específica, y esa clave se encuentra en una ubicación específica.
- Configura los parámetros predeterminados para los buckets de observabilidad del recurso y la ubicación de la clave con la información de la clave de Cloud KMS.
gcloud
Antes de usar cualquiera de los datos de comando a continuación, haz los siguientes reemplazos:
- DEFAULT_STORAGE_LOCATION: Es la ubicación de almacenamiento predeterminada para tu proyecto, carpeta u organización. Esta ubicación se aplica a los nuevos buckets de observabilidad. Debes ingresar una ubicación de bucket de observabilidad compatible.
- Usa una de las siguientes opciones para pasar al comando el ID del proyecto, la carpeta o la organización que deseas consultar:
--project=PROJECT_ID, donde PROJECT_ID contiene el ID de tu proyecto.--folder=FOLDER_ID, donde FOLDER_ID contiene el ID de tu carpeta.--organization=ORGANIZATION_ID, donde ORGANIZATION_ID contiene el ID de tu organización.
Ejecuta el comando
gcloud beta observability settings update:
Linux, macOS o Cloud Shell
gcloud beta observability settings update \ --default-storage-location=DEFAULT_STORAGE_LOCATION \ --update-mask=default-storage-location \ --location=global --project=PROJECT_ID
Windows (PowerShell)
gcloud beta observability settings update ` --default-storage-location=DEFAULT_STORAGE_LOCATION ` --update-mask=default-storage-location ` --location=global --project=PROJECT_ID
Windows (cmd.exe)
gcloud beta observability settings update ^ --default-storage-location=DEFAULT_STORAGE_LOCATION ^ --update-mask=default-storage-location ^ --location=global --project=PROJECT_ID
El comando de actualización inicia una operación de larga duración. A continuación, se ilustra la respuesta del comando:
Parsed [location] resource: projects/my-project/locations/global Request issued for: [global] Waiting for operation [projects/my-project/locations/global/operations/operation-1775247065869-64e93eabfee29-f7d39a96-5e23c6c7] to complete...done. Updated location [global]. '@type': type.googleapis.com/google.cloud.observability.v1.Settings defaultStorageLocation: us name: projects/my-project/locations/global/settings serviceAccountId: service-12345@gcp-sa-observability.iam.gserviceaccount.com
Terraform
Para establecer una ubicación predeterminada, haz lo siguiente:
Selecciona el recurso de Terraform adecuado según el recurso Google Cloudque deseas configurar:
Organización:
- Usa el recurso de Terraform
google_observability_organization_settings. - Configura el campo
organizationcon el ID de la organización.
Carpeta:
- Usa el recurso de Terraform
google_observability_folder_settings. - Configura el campo
foldercomo el ID de la carpeta.
Proyecto:
- Usa el recurso de Terraform
google_observability_project_settings. - Establece el campo
projecten el ID del proyecto.
- Usa el recurso de Terraform
Configura los siguientes campos:
- Configura el campo
locationcomoglobal. - Establece el campo
default_storage_locationen una ubicación compatible.
- Configura el campo
Después de actualizar el archivo
main.tf, actualiza tu instalación de Terraform:terraform -init upgradeLa actualización es necesaria porque los recursos de Terraform requeridos son beta.
REST
Para establecer la ubicación de almacenamiento predeterminada de tu organización, carpeta o proyecto, haz lo siguiente:
Para el recurso cuya configuración predeterminada deseas establecer, selecciona el extremo adecuado y, luego, en el Explorador de APIs, especifica el parámetro de ruta de acceso:
Organización:
- Extremo de API:
organizations.locations.updateSettings Parámetro de ruta:
organizations/ORGANIZATION_ID/locations/global/settings
Carpeta:
- Extremo de API:
folders.locations.updateSettings Parámetro de ruta:
folders/FOLDER_ID/locations/global/settings
Proyecto:
- Extremo de API:
projects.locations.updateSettings Parámetro de ruta:
projects/PROJECT_ID/locations/global/settings
Las variables de las expresiones anteriores tienen el siguiente significado:
- ORGANIZATION_ID: Es el identificador numérico único de la organización. Para obtener información sobre cómo obtener este identificador, consulta Obtén el ID de tu organización.
- FOLDER_ID: Es el identificador numérico único de la carpeta. Para obtener información sobre cómo usar las carpetas, consulta Crea y administra carpetas.
- PROJECT_ID: Es el identificador del proyecto.
- Extremo de API:
Configura el campo updateMask de la siguiente manera:
updateMask=defaultStorageLocationConfigura el cuerpo de la solicitud de la siguiente manera:
{ "defaultStorageLocation"="DEFAULT_STORAGE_LOCATION" }Reemplaza DEFAULT_STORAGE_LOCATION por una ubicación de bucket de observabilidad compatible.
Por ejemplo, supongamos que deseas que todos los buckets de observabilidad nuevos creados por el sistema en tu organización se encuentren en la ubicación
usy usen la CMEK. En los pasos anteriores, otorgaste a la cuenta de servicio de la organización un rol de IAM que le permite encriptar y desencriptar datos con una clave de Cloud KMS que se encuentra en la ubicaciónus. Para completar la configuración, establece DEFAULT_STORAGE_LOCATION enus.Haz clic en Ejecutar.
Cuando se ejecuta de forma correcta, la respuesta es un objeto
Settings.Por ejemplo, si emites un comando
updateSettings, estableces el parámetro de ruta de acceso en una organización y estableces la ubicación de almacenamiento predeterminada enus, la respuesta será similar a la siguiente:default_storage_location: "us" service_account_id: service-org-ORGANIZATION_ID@gcp-sa-observability.iam.gserviceaccount.com
Actualiza la ubicación de almacenamiento predeterminada de un recurso
Para actualizar la ubicación de almacenamiento predeterminada de una organización, una carpeta o un proyecto, sigue el mismo procedimiento que cuando estableces la ubicación de almacenamiento predeterminada.
Administra tus claves de Cloud KMS
En las siguientes secciones, se describe cómo cambiar, inhabilitar o revocar el acceso a una clave de Cloud KMS.
Actualiza la clave predeterminada de Cloud KMS para un recurso y una ubicación
Para actualizar la clave de Cloud KMS de un recurso y una ubicación específicos, sigue el mismo procedimiento que cuando configuraste la clave de Cloud KMS.
Cómo anular la configuración de la clave de Cloud KMS predeterminada para una ubicación y un recurso
Para anular o borrar la clave de Cloud KMS de una ubicación y un recurso específicos, sigue el mismo procedimiento que se describe en Cómo establecer la clave de Cloud KMS predeterminada para una ubicación. Sin embargo, cuando configures el cuerpo de la solicitud, establece el valor de la clave en una cadena vacía.
{
"kmsKeyName"=""
}
El sistema usa el siguiente algoritmo para determinar si un nuevo bucket de observabilidad en un recurso usa CMEK y, si es así, qué clave usar:
El sistema busca en la configuración predeterminada del recurso una clave de Cloud KMS para la ubicación especificada. Si el recurso no tiene una clave predeterminada de Cloud KMS, el sistema busca una clave predeterminada de Cloud KMS en los recursos superiores del recurso:
Una vez que se completa la búsqueda, el sistema realiza una de las siguientes acciones:
Si se encontró una clave de Cloud KMS, se usa para encriptar los datos almacenados en el nuevo bucket de observabilidad.
Si no se encontró una clave de Cloud KMS, sucede una de las siguientes situaciones:
Cuando existen políticas de la organización que requieren CMEK, falla el aprovisionamiento del nuevo bucket de observabilidad.
Cuando no existen políticas de la organización, el nuevo bucket de observabilidad no usa CMEK.
Revoca el acceso a la clave para un recurso y una ubicación
Cuando configuras los parámetros de configuración predeterminados para los buckets de observabilidad de un recurso y una ubicación con una clave de Cloud KMS, debes otorgar a la cuenta de servicio del recurso el rol de Encriptador/Desencriptador de CryptoKey de Cloud KMS (roles.cloudkms.cryptoKeyEncrypterDecrypter) para la clave.
Si no quieres que un recurso tenga acceso a una clave, quita la vinculación de IAM para esa clave. Puedes quitar esta vinculación ejecutando el comando gcloud kms keys remove-iam-policy-binding.
Es posible que el cambio de rol tarde varias horas en propagarse por completo.
Comportamiento de la rotación de claves
Google Cloud Observability no rota automáticamente la clave de encriptación para los archivos temporales de recuperación ante desastres cuando se rota la clave de Cloud KMS asociada a la organización o la carpeta de Google Cloud . Los archivos de recuperación existentes continúan usando la versión de clave con la que se crearon. Los archivos de recuperación nuevos usan la versión de clave primaria actual.
Para obtener más información, consulta Rotación de claves.
Limitaciones
Las siguientes son limitaciones conocidas cuando configuras tus parámetros predeterminados para que los buckets de observabilidad tengan un parámetro de configuración de CMEK.
Degradación debido a la no disponibilidad de la llave
Google Cloud Observability usa la API de Cloud KMS para acceder a las claves de Cloud KMS y a las claves de Cloud EKM. Es posible que ambos tipos de llaves dejen de estar disponibles.
Si una clave deja de estar disponible, ocurre lo siguiente:
- No puedes consultar los datos almacenados.
- Google Cloud Observability almacena en búfer los datos de las últimas tres horas. Es posible que se descarten los datos anteriores a este período de tres horas.
- Para el almacenamiento permanente de datos, una clave de Cloud KMS debe estar disponible y ser accesible durante al menos 24 horas consecutivas en el período de 48 horas después de que se escribieron los datos. Si la clave de Cloud KMS no está disponible ni es accesible durante este período, es posible que los datos no se conserven por completo en el almacenamiento y se descarten.
¿Qué sigue?
- Soluciona problemas relacionados con los discretos de observabilidad.
- Administra los buckets de observabilidad.