Configura los permisos de observabilidad

En este documento, se describe cómo puedes configurar un proyecto Google Cloud para supervisar o mostrar datos de telemetría de varios proyectos Google Cloud . Si solo deseas supervisar o ver los datos almacenados en un proyecto deGoogle Cloud , no es necesario que realices ninguna configuración, ya que las herramientas de visualización y análisis están configuradas para usar los datos almacenados en el proyecto de Google Cloud seleccionado por el selector de proyectos. Sin embargo, si los datos de telemetría que deseas ver o analizar provienen de varios proyectos, debes realizar algunas actividades de configuración para obtener una vista agregada de esos datos.

Acerca de los ámbitos de observabilidad

Las herramientas de análisis y visualización de Google Cloud Observability se basan en permisos específicos de tipos de datos para determinar qué datos mostrar o analizar. Un alcance define los recursos en los que se busca un tipo de datos en particular. Con la excepción de los datos de métricas, tus roles de Identity and Access Management (IAM) en los proyectos y las vistas de registros en los que se realiza la búsqueda determinan qué datos se muestran.

Puedes configurar los siguientes permisos:

Permiso de observabilidad

Este alcance controla cómo las páginas del explorador y del panel buscan los datos que se mostrarán. Cada proyecto de Google Cloud contiene un solo alcance de observabilidad, que enumera el alcance de registros predeterminado, el alcance de métricas y el alcance de seguimiento predeterminado.

Recomendamos configurar los componentes del alcance de observabilidad en las siguientes situaciones:

  • Registras aplicaciones con App Hub. Pueden ser aplicaciones que registraste tú mismo o que implementaste con el Centro de diseño de aplicaciones.
  • Cuando deseas tener una vista unificada de los datos de telemetría almacenados en diferentes proyectos de Google Cloud

Si no configuras los componentes del alcance de observabilidad de un proyecto, la página Explorador de registros mostrará los datos de registro que se originan en el proyecto. Las páginas Explorador de métricas y Explorador de seguimiento solo pueden mostrar los datos almacenados en el proyecto. Además, las políticas de alertas solo pueden supervisar los datos almacenados en el proyecto.

Ámbitos de registros

Configura el ámbito de registros predeterminado de un proyecto para que, cuando abras la página del Explorador de registros, se muestren los datos que sueles querer ver. Un ámbito de registro puede enumerar proyectos, carpetas, organizaciones y vistas de registro. Por ejemplo, puedes establecer el alcance de registro predeterminado para enumerar una vista de registro que, cuando se consulta, devuelve los datos de registro de una aplicación de App Hub.

Puedes crear varios alcances de registro. Cuando usas la página Explorador de registros, puedes seleccionar un ámbito de registros diferente, lo que hace que la página busque los recursos que se enumeran en el ámbito seleccionado y, luego, actualice la pantalla.

Recomendamos configurar el alcance del registro predeterminado en las siguientes situaciones:

  • Enruta los datos de registro a un bucket de registros centralizado.
  • Enrutas datos de registros a otros proyectos o a buckets de registros almacenados por otro proyecto.
  • Usas vistas de registro.

Para obtener más información, consulta Crea y administra ámbitos de registros.

Permisos de métricas

Configura el permiso de métricas para que se muestren todos los proyectos que almacenan datos de métricas, de modo que tus gráficos y políticas de alertas puedan mostrar o supervisar una vista agregada de tus datos de métricas.

Cada Google Cloud proyecto contiene un solo permiso de métricas, y este permiso se establece de forma predeterminada para que solo se muestre el proyecto.

Te recomendamos que configures el alcance de las métricas cuando se cumpla alguna de las siguientes condiciones:

  • Deseas crear un gráfico con los datos almacenados en diferentes proyectos.
  • Quieres una política de alertas para supervisar los datos almacenados en diferentes proyectos.
  • Registras aplicaciones con App Hub. Para obtener información sobre esta situación, consulta Permisos de métricas para proyectos de administración.

Para obtener más información, consulta Descripción general de los ámbitos de métricas.

Permisos de Trace

Configura el permiso de seguimiento predeterminado para enumerar todos los proyectos que almacenan datos de seguimiento, de modo que, cuando abras la página del Explorador de seguimiento, tengas una vista agregada de tus datos de seguimiento.

Puedes crear varios ámbitos de seguimiento. Cuando usas la página Explorador de Trace, puedes seleccionar un permiso de seguimiento diferente, lo que hace que la página busque los proyectos que se enumeran en el permiso seleccionado y, luego, actualice la pantalla.

Te recomendamos que configures los permisos de seguimiento cuando desees tener una vista unificada de los datos de seguimiento almacenados en diferentes proyectos.

Para obtener más información, consulta Crea y administra ámbitos de seguimiento.

Antes de comenzar

Para obtener los permisos que necesitas para crear y ver ámbitos, pídele a tu administrador que te otorgue los siguientes roles de IAM:

  • Para crear y ver ámbitos de registros, y obtener el ámbito de registros predeterminado, obtén el rol Escritor de configuración de registros (roles/logging.configWriter) en tu proyecto.
  • Para modificar un permiso de métricas, debes tener el rol de Administrador de Monitoring (roles/monitoring.admin) en tu proyecto y en cada proyecto que quieras agregar a los permisos de métricas.
  • Para crear y ver ámbitos de seguimiento, y obtener el ámbito de seguimiento predeterminado, obtén el rol Usuario de Cloud Trace (roles/cloudtrace.user) en tu proyecto.
  • Para obtener y configurar los ámbitos predeterminados, usa el rol de editor de Observabilidad (roles/observability.editor) en tu 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 crear y ver ámbitos. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para crear y ver ámbitos:

  • Para configurar los ámbitos de registros, haz lo siguiente: logging.logScopes.{create, delete, get, list, update}
  • Para configurar un ámbito de métricas, haz lo siguiente: monitoring.metricsscopes.{link, get, list}
  • Para configurar los ámbitos de seguimiento, haz lo siguiente: cloudtrace.traceScopes.{create, delete, get, list, update}
  • Para obtener y configurar los ámbitos predeterminados, haz lo siguiente: observability.scopes.{get, update}

También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.

Configura el alcance de la observabilidad

Esta sección no se aplica a las carpetas ni a las organizaciones.

Si no configuras los componentes del alcance de observabilidad de un proyecto, la página Explorador de registros mostrará los datos de registro que se originan en el proyecto. Las páginas Explorador de métricas y Explorador de seguimiento solo pueden mostrar los datos almacenados en el proyecto. Además, las políticas de alertas solo pueden supervisar los datos almacenados en tu proyecto.

En el caso de los datos de registros y de seguimiento, tus roles de Identity and Access Management (IAM) en el proyecto que estás viendo, y en cualquier proyecto y vista de registros en los que hayas realizado búsquedas, determinan qué datos se muestran. Tu rol de IAM en el proyecto que estás viendo determina si puedes ver los datos de métricas.

Console

Para configurar el alcance de la observabilidad, debes configurar sus componentes, que son el alcance de registros predeterminado, el alcance de métricas y el alcance de seguimiento predeterminado:

  1. Enable the Observability API.

    Enable the API

    Antes de habilitar la API, asegúrate de que esté seleccionado el proyecto correcto. Para las configuraciones de App Hub, selecciona el proyecto host de App Hub o el proyecto de administración de la carpeta habilitada para apps.

  2. En la Google Cloud consola, ve a la página  Configuración:

    Ir a Configuración

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.

  3. En la barra de herramientas de la consola de Google Cloud , selecciona tu proyecto Google Cloud . Para las configuraciones de App Hub, selecciona el proyecto host de App Hub o el proyecto de administración de la carpeta habilitada para apps.

  4. Configura el alcance del registro predeterminado:

    1. Selecciona la pestaña Log Scopes.

      Se enumeran los permisos de registro existentes. La entrada con el ícono "Predeterminado", , es el ámbito de registros predeterminado. Si quieres crear un alcance de registros, haz clic en Crear alcance de registros y, luego, completa el diálogo. Para obtener más información, consulta Crea y administra ámbitos de registros.

    2. Busca la entrada que deseas designar como predeterminada, haz clic en  Más y, luego, selecciona Establecer como predeterminada.

  5. Configura el permiso de las métricas:

    1. Selecciona la pestaña de alcance de las métricas.
    2. En el panel Proyectos de Google Cloud, haz clic en Agregar proyectos y, luego, completa el diálogo. Para obtener más información, consulta Configura permisos de métricas.
  6. Configura el alcance de seguimiento predeterminado:

    1. Selecciona la pestaña Trace Scopes y, luego, haz lo siguiente:

      Se muestran los permisos de registro existentes. La entrada con el ícono "Predeterminado", , es el alcance de seguimiento predeterminado. Si quieres crear un alcance de registro, haz clic en Crear alcance de registro y, luego, completa el diálogo. Para obtener más información, consulta Crea y administra ámbitos de seguimiento.

    2. Busca la entrada que deseas designar como predeterminada, haz clic en  Más y, luego, selecciona Establecer como predeterminada.

gcloud

Para ver y establecer el alcance de observabilidad predeterminado, haz lo siguiente:

  1. Para ver la configuración del alcance predeterminado, ejecuta el comando gcloud observability scopes describe.

    Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

    • OBSERVABILITY_SCOPE_ID: Es el nombre de un objeto Scope. Este valor debe establecerse en _Default.
    • LOCATION: El campo de ubicación debe establecerse en global.
    • PROJECT_ID: Es el identificador del proyecto.

    Ejecuta el comando gcloud observability scopes describe:

    Linux, macOS o Cloud Shell

    gcloud observability scopes describe OBSERVABILITY_SCOPE_ID \
       --location=LOCATION\
       --project=PROJECT_ID

    Windows (PowerShell)

    gcloud observability scopes describe OBSERVABILITY_SCOPE_ID `
       --location=LOCATION`
       --project=PROJECT_ID

    Windows (cmd.exe)

    gcloud observability scopes describe OBSERVABILITY_SCOPE_ID ^
       --location=LOCATION^
       --project=PROJECT_ID

    La respuesta al comando es similar a la siguiente:

    logScope: logging.googleapis.com/projects/my-project/locations/global/logScopes/_Default
    name: projects/my-project/locations/global/scopes/_Default
    

  2. Para actualizar el alcance predeterminado, ejecuta el comando gcloud observability scopes update.

    Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

    • OBSERVABILITY_SCOPE_ID: Es el nombre de un objeto Scope. Este valor debe establecerse en _Default.
    • LOG_SCOPE_FQN_ID: Es el ID completamente calificado del alcance del registro. Este campo tiene el siguiente formato:
      logging.googleapis.com/projects/PROJECT_ID/locations/LOCATION/logScopes/LOG_SCOPE_ID

      En la expresión anterior, LOG_SCOPE_ID es el ID del alcance del registro. Por ejemplo: my-scope

    • LOCATION: El campo de ubicación debe establecerse en global.
    • PROJECT_ID: Es el identificador del proyecto.

    Ejecuta el comando gcloud observability scopes update:

    Linux, macOS o Cloud Shell

    gcloud observability scopes update OBSERVABILITY_SCOPE_ID \
       --log-scope=LOG_SCOPE_FQN_ID\
       --location=LOCATION\
       --project=PROJECT_ID

    Windows (PowerShell)

    gcloud observability scopes update OBSERVABILITY_SCOPE_ID `
       --log-scope=LOG_SCOPE_FQN_ID`
       --location=LOCATION`
       --project=PROJECT_ID

    Windows (cmd.exe)

    gcloud observability scopes update OBSERVABILITY_SCOPE_ID ^
       --log-scope=LOG_SCOPE_FQN_ID^
       --location=LOCATION^
       --project=PROJECT_ID

    Por ejemplo, si el valor de LOG_SCOPE_ID es my-scope, la respuesta es similar a la siguiente:

    Updated scope [_Default].
    logScope: logging.googleapis.com/projects/my-project/locations/global/logScopes/my-scope
    name: projects/my-project/locations/global/scopes/_Default
    

REST

No se admite para establecer el alcance de seguimiento predeterminado.

Para usar la API de Observability y obtener o establecer el alcance de registro predeterminado, haz lo siguiente:

  1. Asegúrate de que la API de Observability esté habilitada:

    1. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. Configura el proyecto predeterminado para Google Cloud CLI:

      gcloud config set project PROJECT_ID
      

      Antes de ejecutar el comando anterior, reemplaza lo siguiente:

      • PROJECT_ID: Es el identificador del proyecto. Para las configuraciones de App Hub, selecciona el proyecto host de App Hub o el proyecto de administración de la carpeta habilitada para apps.
    3. Enable the Observability API:

      gcloud services enable observability.googleapis.com
  2. Realiza una de las siguientes acciones:

    • Para obtener el alcance de registros predeterminado de un proyecto, envía una solicitud al extremo projects.locations.scopes.get. Debes especificar un parámetro de ruta de acceso. La respuesta es un objeto Scope, que enumera el alcance de registro predeterminado.

    • Para actualizar el permiso de registros predeterminado de un proyecto, envía una solicitud al extremo projects.locations.scopes.patch. Debes especificar un parámetro de ruta y parámetros de búsqueda, y proporcionar un objeto Scope. Los parámetros de consulta identifican qué campos se cambiaron. La respuesta es un objeto Scope.

      El parámetro de ruta de acceso para ambos extremos tiene la siguiente forma:

      projects/PROJECT_ID/locations/LOCATION/scopes/OBSERVABILITY_SCOPE_ID
      

      Los campos de la expresión anterior tienen el siguiente significado:

      • PROJECT_ID: Es el identificador del proyecto. Para las configuraciones de App Hub, selecciona el proyecto host de App Hub o el proyecto de administración de la carpeta habilitada para apps.
      • LOCATION: El campo de ubicación debe establecerse en global.
      • OBSERVABILITY_SCOPE_ID: Es el nombre de un objeto Scope. Este campo debe establecerse en _Default. El objeto Scope con el nombre _Default almacena información sobre el alcance del registro predeterminado y se crea automáticamente.

    Para enviar un comando a un extremo de API, puedes usar el Explorador de APIs, que te permite emitir un comando desde una página de referencia. Por ejemplo, para obtener el alcance predeterminado actual, puedes hacer lo siguiente:

    1. Haz clic en projects.locations.scopes.get.
    2. En el widget Try this method, ingresa lo siguiente en el campo name:

      projects/PROJECT_ID/locations/global/scopes/_Default
      

      Antes de copiar el campo anterior, reemplaza PROJECT_ID por el nombre de tu proyecto.

    3. Selecciona Ejecutar.

    4. En el cuadro de diálogo de autorización, completa los pasos necesarios.

      La respuesta es similar al ejemplo a continuación:

      {
      "name": "projects/my-project/locations/global/scopes/_Default",
      "logScope": "logging.googleapis.com/projects/my-project/locations/global/logScopes/_Default"
      }