Cómo establecer valores predeterminados para los buckets de observabilidad

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 Deny con el ID de restricción constraints/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.

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

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.

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.

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

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:

  • No se encuentra una clave: El nuevo bucket de observabilidad no usa una CMEK.
  • Se encuentra una clave y se permite: El sistema crea el bucket de observabilidad.
  • Se encuentra una clave, pero no se permite: El sistema no crea el nuevo bucket de observabilidad.

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:

  • No se encuentra una clave: No se crea el nuevo bucket de observabilidad.
  • Se encuentra una clave y se permite: El sistema crea el bucket de observabilidad.
  • Se encuentra una clave, pero no se permite: El sistema no crea el nuevo bucket de observabilidad.

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

  1. 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.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. 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.

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.

  1. Instala Google Cloud CLI.

  2. Si usas un proveedor de identidad (IdP) externo, primero debes acceder a gcloud CLI con tu identidad federada.

  3. 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.
Establece `default_storage_location` en una [ubicación compatible](/stackdriver/docs/observability/observability-bucket-locations)

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

  1. 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:

    Carpeta:

    Proyecto:

    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.
  2. Haz clic en Ejecutar.

    Cuando se ejecuta de forma correcta, la respuesta es un objeto Settings. Si el campo default_storage_location está vacío, no se establece una ubicación de almacenamiento predeterminada.

    Por ejemplo, si ejecutas un comando getSettings y 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.com
      
    • No 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

  1. 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:

    Carpeta:

    Proyecto:

    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.
  2. Haz clic en Ejecutar.

    Cuando se ejecuta de forma correcta, la respuesta es un objeto Settings.

    Por ejemplo, supongamos que ejecutas el comando getSettings y configuras el parámetro de ruta de acceso en organizations/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.com
      
    • Cuando 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:

  1. Configura los parámetros de configuración predeterminados para los buckets de observabilidad de tu organización y la ubicación de us para especificar una clave de Cloud KMS.

  2. Establece us como 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.

  1. Completa la configuración obligatoria para ver los parámetros de configuración predeterminados de los buckets de observabilidad.

  2. 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:

    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.

  3. 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.

  4. 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:

  1. 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ón us.

  2. 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 us y usen CMEK, emite una llamada getSettings a la ubicación global y 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.com
    
  3. Otorga 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_RING
    

    Antes 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

    1. En la consola de Google Cloud , ve a la página Administración de claves.

      Ir a Administración de claves

    2. Selecciona el nombre del llavero de claves que contiene la clave.
    3. Selecciona la casilla de verificación de la clave.

      La pestaña de Permisos estará disponible.

    4. 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.

    5. En el menú Seleccionar un rol, elige Encriptador/desencriptador de CryptoKey de Cloud KMS.

    6. 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:

  1. Selecciona el recurso de Terraform adecuado según el recurso Google Cloudque deseas configurar:

    Organización:

    Carpeta:

    Proyecto:

  2. Configura los siguientes campos:

    1. Configura el campo location en la ubicación de la clave predeterminada de Cloud KMS.
    2. Establece el campo kms_key_name en la clave de Cloud KMS.
  3. Después de actualizar el archivo main.tf, actualiza tu instalación de Terraform:

    terraform -init upgrade
    

    La actualización es necesaria porque los recursos de Terraform requeridos son beta.

REST

  1. 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:

    Carpeta:

    Proyecto:

    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.
  2. Configura el campo updateMask de la siguiente manera:

    updateMask=kmsKeyName
    
  3. Configura 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.

  4. Haz clic en Ejecutar.

    Cuando se ejecuta de forma correcta, la respuesta es un objeto Settings.

    Por ejemplo, supongamos que ejecutas el comando updateSettings para establecer una clave de Cloud KMS y que configuras el parámetro de ruta de acceso en organizations/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:

  1. 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.
  2. 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:

  1. Selecciona el recurso de Terraform adecuado según el recurso Google Cloudque deseas configurar:

    Organización:

    Carpeta:

    Proyecto:

  2. Configura los siguientes campos:

    1. Configura el campo location como global.
    2. Establece el campo default_storage_location en una ubicación compatible.
  3. Después de actualizar el archivo main.tf, actualiza tu instalación de Terraform:

    terraform -init upgrade
    

    La 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:

  1. 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:

    Carpeta:

    Proyecto:

    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.
  2. Configura el campo updateMask de la siguiente manera:

    updateMask=defaultStorageLocation
    
  3. Configura 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 us y 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ón us. Para completar la configuración, establece DEFAULT_STORAGE_LOCATION en us.

  4. 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 en us, 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:

  1. 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:

  2. 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?