Cómo establecer valores predeterminados para los buckets de observabilidad

Si tienes requisitos normativos o de cumplimiento para almacenar tus datos en ubicaciones específicas o usar claves de encriptación administradas por el cliente (CMEK), te recomendamos que configures las políticas de la organización y los parámetros de configuración predeterminados para los buckets de observabilidad. Las políticas de la organización y la configuración predeterminada de los buckets de observabilidad te permiten especificar la ubicación de almacenamiento y el modelo de encriptación de esos buckets. Estos buckets pueden usar 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.

Hay dos formas diferentes en que el sistema usa la configuración predeterminada:

  • Cuando el sistema crea automáticamente un bucket de observabilidad, usa la configuración predeterminada para determinar la ubicación y la clave de encriptación del bucket. Si no definiste la configuración predeterminada, el sistema selecciona la ubicación y el bucket usa la encriptación predeterminada de Google.

  • Cuando inicias la creación de un bucket de observabilidad emitiendo una solicitud a la API, proporcionas la ubicación. Sin embargo, el sistema usa automáticamente la clave de Cloud KMS definida por la configuración predeterminada para encriptar los datos, a menos que los argumentos de la solicitud a la API especifiquen la clave.

Debido a que el elemento superior de un bucket de observabilidad siempre es un proyecto, cuando creas un bucket, el sistema primero busca la configuración predeterminada a nivel del proyecto. Si no existen, el sistema busca en los ancestros del elemento superior para encontrar la configuración predeterminada. Por ejemplo, si defines la configuración predeterminada para una carpeta, esta se aplicará a los descendientes de la carpeta, excepto a aquellos que tengan una configuración predeterminada establecida.

También puedes usar las políticas de la organización para restringir las ubicaciones de los buckets de observabilidad nuevos, exigir el uso de CMEK o restringir qué claves de Cloud KMS se pueden usar para la encriptación. Si configuras políticas de la organización que requieren el uso de CMEK, debes establecer la configuración predeterminada 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 registro. Para obtener información sobre cómo establecer una ubicación predeterminada o exigir CMEK para los buckets de registros, consulta Establece la configuración predeterminada 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, te recomendamos que configures las siguientes políticas de la organización:

  • Una 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 buckets de observabilidad, este conjunto de ubicaciones debe incluir al menos una ubicación de buckets de observabilidad admitida.

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

  • 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 a 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 sea una ubicación de buckets de observabilidad compatible. Si alguna de las verificaciones falla, 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 ya no se permita la ubicación de almacenamiento predeterminada, debes 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 elemento superior de un bucket de observabilidad debe ser un proyecto. Es decir, el sistema no puede crear un bucket de observabilidad en una carpeta ni en una organización. Sin embargo, si configuras los parámetros predeterminados de los buckets de observabilidad para una organización o una carpeta, esos parámetros predeterminados se aplicarán a todos los proyectos que sean descendientes de esa organización o carpeta.

En la siguiente tabla, se enumeran 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 el principal) tiene una ubicación de almacenamiento predeterminada de
Cómo determina el sistema la ubicación de un bucket de observabilidad nuevo
No No

El sistema selecciona la ubicación de 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 en la ubicación de almacenamiento predeterminada que se define en la configuración predeterminada del proyecto. Si el proyecto no define una ubicación de almacenamiento predeterminada, el sistema usará la ubicación de almacenamiento predeterminada definida para un ancestro.

Sí Sí

El sistema establece la ubicación en la ubicación de almacenamiento predeterminada que se define 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 ancestro.

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 enumeran las reglas que usa el sistema para determinar si un bucket de observabilidad nuevo usa CMEK y, de ser así, el valor de la clave de Cloud KMS. Para encriptar un bucket de observabilidad, una clave de Cloud KMS debe estar en la ubicación del bucket y estar permitida por las políticas de la organización. 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 exigir CMEK
El proyecto (o el ancestro) tiene una clave de Cloud KMS predeterminada de
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 buckets de observabilidad nuevos porque la política de la organización requiere CMEK, pero no se define una clave de Cloud KMS predeterminada.

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 antecesores. De lo contrario, el sistema selecciona una ubicación y crea 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 ancestro una clave predeterminada que se encuentre en la ubicación del bucket nuevo.

Ocurre 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 bucket de observabilidad nuevo.
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 antecesores. 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 ancestro una clave predeterminada que se encuentre en la ubicación del bucket nuevo.

Ocurre 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 bucket de observabilidad nuevo.

Visualiza 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 de un recurso, que es una organización, una carpeta o un proyecto.

Para recuperar la configuración predeterminada de los buckets de observabilidad, debes emitir 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 ancestro.

Antes de comenzar

Configura tu proyecto, tus roles de IAM y selecciona la interfaz que planeas usar.

Configura tu proyecto y tus roles

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

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

  3. 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 de visualizador de observabilidad (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 se requiere para ver la configuración predeterminada de los buckets de observabilidad de una organización, carpeta o proyecto.

    También puedes obtener este permiso con roles personalizados o con otros roles predefinidos.

Selecciona la interfaz que planeas usar

gcloud

Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada. Después de acceder, inicializa Google Cloud CLI con el siguiente comando:

gcloud init

Terraform

Para usar las muestras de Terraform de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.

  1. Instala Google Cloud CLI.

  2. Configura gcloud CLI para usar tu identidad federada.

    Para obtener más información, consulta Accede a gcloud CLI con tu identidad federada.

  3. Crea credenciales de autenticación locales para tu cuenta de usuario:

    gcloud auth application-default login

    Si se devuelve un error de autenticación, confirma que accediste a 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 y, luego, accede a 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 establece la ubicación de ese comando en global. Los datos de la 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 las 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 pasar al comando el ID del proyecto, la carpeta o la organización que deseas consultar:
  • --project=PROJECT_ID, en el que PROJECT_ID contiene el ID de tu proyecto.
  • --folder=FOLDER_ID, en el que FOLDER_ID contiene el ID de tu carpeta.
  • --organization=ORGANIZATION_ID, en el que 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 observability settings describe:

Linux, macOS o Cloud Shell

gcloud observability settings describe \
 --location=global --project=PROJECT_ID

Windows (PowerShell)

gcloud observability settings describe `
 --location=global --project=PROJECT_ID

Windows (cmd.exe)

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

Terraform

Puedes usar Terraform para establecer una ubicación de almacenamiento predeterminada para un recurso, que es 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 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.

    Si 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 emites un comando getSettings y configuras el parámetro de ruta en una organización, la respuesta es similar a una de las siguientes:

    • La ubicación de almacenamiento predeterminada se estableció en "us":

      default_storage_location: "us"
      service_account_id: service-org-ORGANIZATION_ID@gcp-sa-observability.
      
    • No se estableció ninguna ubicación de almacenamiento predeterminada:

      service_account_id: service-org-ORGANIZATION_ID@gcp-sa-observability.
      

Obtén la clave de Cloud KMS predeterminada 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 establecer la configuración predeterminada de los buckets de observabilidad con una clave de Cloud KMS.

En esta sección, se describe cómo obtener la clave de Cloud KMS predeterminada para un recurso y una 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 como 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, en el que PROJECT_ID contiene el ID de tu proyecto.
    • --folder=FOLDER_ID, donde FOLDER_ID contiene el ID de tu carpeta.
    • --organization=ORGANIZATION_ID, en el que ORGANIZATION_ID contiene el ID de tu organización.

Ejecuta el comando gcloud observability settings describe:

Linux, macOS o Cloud Shell

gcloud observability settings describe \
 --location=LOCATION --project=PROJECT_ID

Windows (PowerShell)

gcloud observability settings describe `
 --location=LOCATION --project=PROJECT_ID

Windows (cmd.exe)

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

Terraform

Puedes usar Terraform para establecer una clave predeterminada de Cloud Key Management Service para una ubicación y un recurso, que es 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 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.

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

    Por ejemplo, supongamos que emites el comando getSettings y configuras el parámetro de ruta en organizations/ORGANIZATION_ID/locations/LOCATION_ID/settings. En ese caso, la respuesta es 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 muestra una cuenta de servicio:

      service_account_id: service-org-ORGANIZATION_ID@gcp-sa-observability.
      
    • Cuando se configura 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.
      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 establecer la configuración predeterminada de los buckets de observabilidad para un recurso, que es una organización, una carpeta o un proyecto.

Si planeas exigir CMEK para un recurso y una ubicación, configura los parámetros predeterminados de los buckets de observabilidad para 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 la 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.

Exigir 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 estén en la ubicación us, establece la ubicación de almacenamiento predeterminada para 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 estén 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 que usen CMEK

Para exigir que todos los buckets de observabilidad nuevos creados por el sistema en tu organización estén en la ubicación us y usen CMEK, haz lo siguiente:

  1. Establece la configuración predeterminada de los buckets de observabilidad de tu organización y la ubicación us para especificar una clave de Cloud KMS.

  2. Establece la ubicación de almacenamiento predeterminada de tu organización en us.

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 necesaria para ver los parámetros de configuración predeterminados de los buckets de observabilidad.

  2. Si quieres obtener los permisos que necesitas para establecer la configuración predeterminada de los buckets de observabilidad de 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 de 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 de 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 exigir 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 para los buckets de observabilidad planeas actualizar. Este recurso puede ser una organización, una carpeta o un proyecto.

    Si estableces la configuración predeterminada para una organización o una carpeta, se aplicará a todos los subordinados de esa organización o carpeta. Si configuras los parámetros predeterminados de los buckets de observabilidad para un proyecto, solo se aplicarán a ese proyecto.

Otorga a la cuenta de servicio del recurso acceso a una clave

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 la desencriptación.

    Las claves de Cloud KMS son regionales. Por ejemplo, si planeas exigir que los buckets de observabilidad nuevos creados por el sistema estén en la ubicación us, necesitas 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 estén en la ubicación us y usen CMEK, emite una llamada getSettings a la ubicación global y establece el parámetro de ruta en una organización. Los datos de la respuesta incluyen la cuenta de servicio de la organización:

    service_account_id: service-org-ORGANIZATION_ID@gcp-sa-observability.
    
  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. \
    --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 otorgarás acceso.

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

    6. Haz clic en Agregar.

Configura la clave de Cloud KMS predeterminada 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 de una clave de Cloud KMS específica. Por ejemplo, es posible que 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 encuentra en la ubicación us.

En este paso, para ese recurso y para 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 establecer la configuración predeterminada de los buckets de observabilidad de tu organización y de 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 están en la ubicación en la que 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 estableces 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, en el que PROJECT_ID contiene el ID de tu proyecto.
    • --folder=FOLDER_ID, donde FOLDER_ID contiene el ID de tu carpeta.
    • --organization=ORGANIZATION_ID, en el que ORGANIZATION_ID contiene el ID de tu organización.

Ejecuta el comando gcloud observability settings update:

Linux, macOS o Cloud Shell

gcloud observability settings update \
 --kms-key-name=KMS_KEY_NAME \
 --update-mask=kmsKeyName \
 --location=LOCATION --project=PROJECT_ID

Windows (PowerShell)

gcloud observability settings update `
 --kms-key-name=KMS_KEY_NAME `
 --update-mask=kmsKeyName `
 --location=LOCATION --project=PROJECT_ID

Windows (cmd.exe)

gcloud observability settings update ^
 --kms-key-name=KMS_KEY_NAME ^
 --update-mask=kmsKeyName ^
 --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.

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 de Google Cloud que quieras configurar:

    Organización:

    Carpeta:

    Proyecto:

  2. Configura los siguientes campos:

    1. Establece el campo location en la ubicación de la clave de Cloud KMS predeterminada.
    2. Establece el campo kms_key_name en la clave de Cloud KMS.

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:

    Organización:

    Carpeta:

    Proyecto:

    Las variables de las expresiones anteriores tienen los siguientes significados:

    • 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 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 completamente calificado de tu clave.

  4. Haz clic en Ejecutar.

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

    Por ejemplo, supongamos que emites el comando updateSettings para establecer una clave de Cloud KMS y que configuras el parámetro de ruta en organizations/ORGANIZATION_ID/locations/LOCATION_ID/settings. En ese caso, la respuesta es similar a la siguiente:

    name: "organizations/ORGANIZATION_ID/locations/LOCATION_ID/settings"
    service_account_id: service-org-ORGANIZATION_ID@gcp-sa-observability.
    kms_key_name: "projects/KMS_PROJECT_ID/locations/LOCATION_ID/keyRings/KMS_KEY_RING/cryptoKeys/KMS_KEY_NAME"
    

Configura la ubicación de almacenamiento predeterminada de un recurso

En este paso, se describe cómo establecer una ubicación de almacenamiento predeterminada para un recurso, que es una organización, una carpeta o un proyecto. Todos los descendientes de la jerarquía de recursos usan automáticamente la ubicación de almacenamiento predeterminada, excepto aquellos para los que configuraste una ubicación de almacenamiento predeterminada.

Por ejemplo, si configuras la ubicación de almacenamiento predeterminada para una organización en la ubicación us, los buckets de observabilidad nuevos creados por el sistema en esa organización estarán en la ubicación us. Si quieres que una carpeta o un proyecto tengan una ubicación de almacenamiento predeterminada diferente, configura los parámetros predeterminados de los buckets de observabilidad para 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 establecer 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 de los buckets de observabilidad para la ubicación del recurso y 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 buckets de observabilidad nuevos. 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, en el que PROJECT_ID contiene el ID de tu proyecto.
    • --folder=FOLDER_ID, donde FOLDER_ID contiene el ID de tu carpeta.
    • --organization=ORGANIZATION_ID, en el que ORGANIZATION_ID contiene el ID de tu organización.

Ejecuta el comando gcloud observability settings update:

Linux, macOS o Cloud Shell

gcloud observability settings update \
 --default-storage-location=DEFAULT_STORAGE_LOCATION \
 --update-mask=defaultStorageLocation \
 --location=global --project=PROJECT_ID

Windows (PowerShell)

gcloud observability settings update `
 --default-storage-location=DEFAULT_STORAGE_LOCATION `
 --update-mask=defaultStorageLocation `
 --location=global --project=PROJECT_ID

Windows (cmd.exe)

gcloud observability settings update ^
 --default-storage-location=DEFAULT_STORAGE_LOCATION ^
 --update-mask=defaultStorageLocation ^
 --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.

Terraform

Para establecer una ubicación predeterminada, haz lo siguiente:

  1. Selecciona el recurso de Terraform adecuado según el recurso de Google Cloud que quieras 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.

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:

    Organización:

    Carpeta:

    Proyecto:

    Las variables de las expresiones anteriores tienen los siguientes significados:

    • 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 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 estén en la ubicación us y usen 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.

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

    Por ejemplo, si emites un comando updateSettings y configuras el parámetro de ruta en una organización y 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.
    

Actualiza la ubicación de almacenamiento predeterminada de un recurso

Para actualizar la ubicación de almacenamiento predeterminada de una organización, carpeta o 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 de Cloud KMS predeterminada 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 configuras la clave de Cloud KMS.

Anula la configuración de la clave de Cloud KMS predeterminada para un recurso y una ubicación

Para anular o borrar la clave de Cloud KMS de un recurso y una ubicación específicos, sigue el mismo procedimiento que se describe en Configura 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 bucket de observabilidad nuevo en un recurso usa CMEK y, de ser 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 de Cloud KMS predeterminada, el sistema busca en los principales del recurso una clave de Cloud KMS predeterminada:

  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 usará para encriptar los datos almacenados en el nuevo bucket de observabilidad.

    • Si no se encontró una clave de Cloud KMS, se produce una de las siguientes situaciones:

      • Cuando existen políticas de la organización que requieren CMEK, falla el aprovisionamiento del bucket de observabilidad nuevo.

      • Cuando no existen políticas de la organización, el bucket de observabilidad nuevo no usa CMEK.

Revoca el acceso a la clave para un recurso y una ubicación

Cuando configuras los parámetros predeterminados de los buckets de observabilidad para 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. Para quitar esta vinculación, ejecuta el comando gcloud kms keys remove-iam-policy-binding.

El cambio de rol puede tardar 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 de los archivos temporales de recuperación ante desastres cuando se rota la clave de Cloud KMS asociada con la organización o carpeta de Google Cloud . Los archivos de recuperación existentes siguen usando la versión de la clave con la que se crearon. Los archivos de recuperación nuevos usan la versión actual de la clave primaria.

Para obtener más información, consulta Rotación de claves.

Limitaciones

Las siguientes son limitaciones conocidas cuando configuras los parámetros predeterminados de los buckets de observabilidad para que tengan un parámetro de configuración de CMEK.

Degradación debido a la falta de disponibilidad de la clave

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 claves 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 el búfer las tres horas de datos más recientes. Es posible que se descarten los datos más antiguos que esta ventana variable de tres horas.
  • Para el almacenamiento permanente de datos, una clave de Cloud KMS debe estar disponible y accesible durante al menos 24 horas consecutivas en el período de 48 horas posterior a la escritura de los datos. Si la clave de Cloud KMS no está disponible ni se puede acceder a ella durante este período, es posible que los datos no se conserven por completo en el almacenamiento y se descarten.

¿Qué sigue?