Configura permisos de observabilidad para consultas de varios proyectos

En este documento, se describe cómo puedes crear gráficos o ver datos de registros cuando estos se almacenan en varios proyectos. De forma predeterminada, solo los datos que se originan en un proyecto están disponibles para las herramientas de visualización. Sin embargo, si configuras un permiso, las herramientas de visualización y análisis pueden consultar los datos almacenados en varios proyectos.

Si solo deseas supervisar o ver los datos almacenados en un proyecto deGoogle Cloud , no es necesario que realices ninguna configuración.

Los ámbitos proporcionan agregación en el momento de la lectura

Los permisos permiten que las herramientas de visualización y análisis realicen la agregación en tiempo de lectura de los datos almacenados en varias ubicaciones. Los permisos no controlan dónde se almacenan los datos. En cambio, los motores de consultas se basan en los permisos para determinar dónde buscar datos.

Los datos de métricas y de seguimiento siempre se almacenan en el proyecto Google Cloud del que provienen. Para ver los datos de métricas almacenados en varios proyectos en un solo gráfico, configura un permiso de métricas para enumerar esos proyectos. Después de configurar este alcance, cuando crees un gráfico o una política de alertas, la consulta que emitan estos servicios devolverá automáticamente los datos de métricas de los proyectos enumerados. El comportamiento es similar para los datos de seguimiento.

De forma predeterminada, los datos de registros se almacenan en el Google Cloud proyecto, la cuenta de facturación, la carpeta o la organización en los que se originan los datos. Sin embargo, puedes configurar el Registro para enrutar los datos de registro desde el recurso en el que se originan a otra ubicación, como otro proyecto o un bucket de registros centralizado. En todos los casos, configura un alcance de registro personalizado. Te recomendamos que tus listas de ámbitos de registros incluyan vistas de registro en lugar de proyectos, ya que una vista de registro proporciona acceso de lectura a un subconjunto de entradas de registro en un bucket de registros. Por ejemplo, si tienes datos de registro almacenados en tres proyectos, puedes configurar la vista de registros para que incluya la vista _Default/_AllLogs de cada uno de esos proyectos.

Cómo usa los alcances Google Cloud Observability

Las herramientas de análisis y visualización de Google Cloud Observability se basan en permisos específicos de tipo de datos para determinar qué recursos consultar para obtener los datos que la herramienta debe mostrar o analizar.

Ejemplos:

  • Cuando se abre la página Explorador de registros, el sistema consulta los recursos que se indican en el ámbito de registros predeterminado para obtener datos de registro. Después de abrir esta página, puedes usar una opción de la barra de herramientas para consultar los recursos en un alcance diferente.
  • Cuando se abre la página del Explorador de Trace, el sistema consulta los proyectos que se indican en el permiso de seguimiento predeterminado para obtener datos de seguimiento. Después de abrir esta página, puedes usar una opción de la barra de herramientas para consultar los recursos en un alcance diferente.
  • Cuando creas una política de alertas, Monitoring consulta los proyectos que se enumeran en el alcance de métricas para obtener datos de métricas. Luego, analiza la respuesta de la búsqueda y determina si debe crear un incidente.
  • Cuando creas un gráfico con la página del Explorador de métricas, especificas una métrica para graficar. Monitoring consulta los proyectos que se indican en el alcance de métricas para obtener datos de métricas y, luego, muestra los resultados de la consulta.

Logging y Trace verifican tus roles de Identity and Access Management (IAM) en un recurso antes de que una consulta devuelva datos. Por ejemplo, si un alcance de registro especifica un proyecto para el que no se te otorgaron permisos para leer datos de registro, una consulta a ese proyecto no devolverá datos.

Monitoring verifica tu rol de IAM en el proyecto desde el que se emite la consulta. Supongamos que el alcance de las métricas de un proyecto llamado AllEnv incluye los siguientes proyectos: AllEnv, Prod y Staging. Además, supón que se te otorgó el rol de Visualizador de Monitoring en el proyecto AllEnv. Los gráficos que creas con la página Explorador de métricas cuando usas el proyecto AllEnv muestran automáticamente los datos de métricas de los tres proyectos.

Permisos de Google Cloud Observability

En esta sección, se describen los permisos que usa Google Cloud Observability.

Permiso de observabilidad

El alcance de observabilidad especifica el alcance de registros predeterminado y el alcance de seguimiento predeterminado. Las páginas como el Explorador de registros y el Explorador de seguimientos usan los permisos predeterminados para determinar qué recursos consultar cuando se abre la página. Por ejemplo, supongamos que tienes una aplicación que genera datos de seguimiento en tres proyectos. Puedes configurar la página del Explorador de registros para que consulte automáticamente esos tres proyectos configurando el permiso de registro predeterminado.

Si no configuras el alcance de la observabilidad, ocurrirá lo siguiente:

  • La página Explorador de registros consulta tu proyecto para obtener datos de registro.
  • La página Explorador de registros consulta tu proyecto para obtener datos de registros.

El alcance de observabilidad no se aplica a los datos de métricas.

Cuándo configurar el permiso de observabilidad

Configura el permiso de observabilidad en las siguientes situaciones:

  • Creas un alcance de registro personalizado y deseas que los recursos que se incluyen en ese alcance se consulten de forma predeterminada.

  • Creas un alcance de seguimiento personalizado y deseas que los proyectos que se incluyen en ese alcance se consulten de forma predeterminada.

Límites asociados con los permisos de observabilidad

Descripción Valor máximo
Cantidad de ámbitos de observabilidad por proyecto 1

Ámbitos de registros

Los alcances de registro se usan en la página del Explorador de registros y en los paneles que muestran datos de registro:

  • Cuando se abre la página Explorador de registros, el sistema consulta automáticamente los recursos que se indican en el ámbito de registros predeterminado para obtener datos de registro. En esta página, también se proporcionan controles que te permiten cambiar entre los diferentes alcances.

  • En el caso de los paneles, la implementación determina si el sistema consulta el proyecto o los recursos que se indican en el alcance del registro predeterminado.

Un ámbito de registro puede enumerar vistas de registro, proyectos, carpetas y organizaciones.

Si no configuras un ámbito de registros personalizado, la página Explorador de registros consultará tu proyecto para obtener datos de registro.

Cuándo crear ámbitos de registro personalizados

Crea alcances de registro personalizados para los siguientes parámetros de configuración:

En todos los casos, configura tus parámetros de registro personalizados para que incluyan una o más vistas de registro. Esas vistas de registros pueden estar en un bucket de registros centralizado o en diferentes buckets de registros. Si usas un bucket de registros centralizado, puedes crear varios ámbitos de registros personalizados, cada uno con su propio conjunto de vistas de registros.

Si creas permisos de registro personalizados, considera actualizar el permiso de registro predeterminado.

Prácticas recomendadas para configurar los alcances de los registros

  • Solo incluye vistas de registro.
  • No configures un alcance que incluya proyectos y vistas de registro.

Límites asociados con los permisos de registros

Descripción Valor máximo
Cantidad de permisos de registros por proyecto 100
Cantidad de proyectos por ámbito de registros 5
Cantidad de vistas de registro o proyectos por ámbito de registro 100

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

Permisos de métricas

Todas las consultas que emite Cloud Monitoring utilizan el alcance de las métricas. Por ejemplo, las políticas de alertas y las herramientas de gráficos, como el Explorador de métricas, envían consultas de problemas a los proyectos que se enumeran en el alcance de las métricas.

Si no configuras el alcance de métricas, los servicios de Monitoring consultarán tu proyecto para obtener datos de métricas.

Cuándo configurar los permisos de las métricas

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

Límites asociados con los permisos de métricas

Descripción Valor máximo
Cantidad de permisos de métricas por proyecto 1
Cantidad de proyectos por permiso de métricas 375

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

Permisos de Trace

La página Explorador de seguimiento usa los alcances de seguimiento. Cuando se abre esta página, el sistema consulta automáticamente los proyectos que se indican en el permiso de seguimiento predeterminado para obtener datos de seguimiento. En esta página, también se proporcionan controles que te permiten cambiar entre los diferentes alcances.

Si no configuras un permiso de seguimiento personalizado, la página del Explorador de seguimientos consultará tu proyecto para obtener datos de seguimiento.

Cuándo crear objetos de seguimiento personalizados

Crea ámbitos de seguimiento personalizados cuando tengas aplicaciones que dependan de recursos en diferentes proyectos de Google Cloud .

Límites asociados con los permisos de seguimiento

Descripción Valor máximo
Cantidad de permisos de seguimiento por proyecto 100
Cantidad de proyectos por permiso de seguimiento 20

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

Configura el permiso de observabilidad

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

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 que se hayan buscado, afectan los datos que devuelve la consulta. Si emites una consulta para ver datos de registro para los que no tienes permiso, la consulta no devolverá ningún dato de registro.

En el caso de los datos de métricas, cuando se configura el permiso de métricas de un proyecto, se le otorga acceso de lectura a los datos de métricas almacenados por los proyectos que se indican en su permiso de métricas. Cuando a un usuario se le otorga un rol de Identity and Access Management que le permite ver datos de métricas en un proyecto, puede ver los datos de métricas disponibles para el proyecto.

Para configurar el permiso de observabilidad, debes establecer el ámbito de registros predeterminado y el ámbito de seguimiento predeterminado. En el resto de esta sección, se describe cómo completar estas acciones.

Antes de comenzar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  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 (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. Enable the Observability API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. 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 (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

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

  7. Enable the Observability API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  8. 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 para obtener y configurar ámbitos predeterminados, usa el rol de editor de ámbitos de observabilidad (roles/observability.scopesEditor) en tu proyecto.

    Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

    También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.

    El rol de editor de Observability Scopes incluye permisos privados que te permiten crear y ver ámbitos de seguimiento. Estos permisos no están disponibles para su inclusión en roles personalizados de IAM.

  9. Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

    REST

    Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a gcloud CLI.

      Instala Google Cloud CLI. Después de la instalación, inicializa Google Cloud CLI ejecutando el siguiente comando:

      gcloud init

      Si usas un proveedor de identidad externo (IdP), primero debes acceder 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 .

    Cómo ver y establecer el alcance predeterminado

    Console

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

    1. En la consola de Google Cloud , 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.

    2. En la barra de herramientas de la consola de Google Cloud , selecciona tu proyecto de 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 la app.
    3. 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.

    4. Configura el permiso de 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.
    5. 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 la observabilidad, haz lo siguiente:

    1. Para ver la configuración del alcance de observabilidad, 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
      traceScope: projects/my-project/locations/global/traceScopes/_Default
      name: projects/my-project/locations/global/scopes/_Default
      

    2. Para actualizar el alcance de la observabilidad, ejecuta el comando gcloud observability scopes update. En el comando update, puedes incluir la marca --log-scope para actualizar el alcance del registro predeterminado.

      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

    Para obtener y establecer el permiso de registro predeterminado o el permiso de seguimiento predeterminado con una llamada a la API, debes configurar el permiso de observabilidad. El alcance de observabilidad enumera el alcance de registros predeterminado y el alcance de seguimiento predeterminado:

    • Para obtener el permiso de observabilidad 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 del registro predeterminado y el alcance del registro de seguimiento predeterminado.

    • Para actualizar el permiso de observabilidad 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 la app.
    • 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, que se crea automáticamente, almacena información sobre el alcance del registro predeterminado y el alcance del registro de seguimiento predeterminado.

    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"
      "traceScope": "projects/my-project/locations/global/traceScopes/_Default"
      }
      

    Más información sobre los alcances

    Para obtener más información sobre los permisos, consulta los siguientes documentos: