Configura permisos de observabilidad para consultas de varios proyectos

En este documento, se describe cómo puedes crear gráficos o ver datos de registro cuando esos datos 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 que se almacenan en varios proyectos.

Si solo quieres supervisar o ver los datos que se almacenan en un proyecto deGoogle Cloud , no necesitas realizar ninguna configuración.

Los permisos proporcionan agregación en el momento de la lectura

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

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

De forma predeterminada, los datos de registro se almacenan en el proyecto, la cuenta de facturación, la carpeta o la organización de Google Cloud en los que se originan los datos. Sin embargo, puedes configurar Logging para enrutar los datos de registro desde el recurso en el que se originan hasta otra ubicación, como otro proyecto o un bucket de registros centralizado. En todos los casos, configura un ámbito de registros personalizado. Te recomendamos que tu ámbito de registros enumere vistas de registros en lugar de proyectos. Una vista de registros 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 registro para incluir la vista _Default/_AllLogs de cada uno de esos proyectos.

Cómo Google Cloud Observability usa los permisos

Las herramientas de análisis y visualización de Google Cloud Observability se basan en permisos específicos del tipo de datos para determinar qué recursos consultar para los datos que la herramienta 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 permiso diferente.
  • Cuando se abre la página Explorador de seguimiento, el sistema consulta los proyectos que se indican en el alcance 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 permiso diferente.
  • Cuando creas una política de alertas, Monitoring consulta los proyectos que se enumeran en el alcance de las métricas para obtener datos de métricas. Luego, analiza la respuesta de la consulta y determina si se debe crear una alerta.
  • Cuando creas un gráfico con la página Explorador de métricas, especificas una métrica para el gráfico. Monitoring consulta los proyectos que se indican en el alcance de las 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 permiso de registro especifica un proyecto para el que no se te otorgaron los permisos para leer datos de registro, una consulta a ese proyecto no devuelve 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 enumera los siguientes proyectos: AllEnv, Prod y Staging. Además, supongamos 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 las 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 permiso de observabilidad especifica el permiso de registro predeterminado y el permiso de seguimiento predeterminado. Las páginas como el Explorador de registros y el Explorador de seguimiento 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 seguimiento para que consulte automáticamente esos tres proyectos estableciendo el permiso de seguimiento predeterminado.

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

  • En la página Explorador de registros, se consulta tu proyecto para obtener datos de registro.
  • En la página Explorador de seguimientos, se consulta tu proyecto para obtener datos de seguimiento.

El permiso 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 ámbito de registros personalizado y quieres que los recursos que se enumeran en ese ámbito se consulten de forma predeterminada.

  • Creas un permiso de seguimiento personalizado y quieres que se consulten de forma predeterminada los proyectos que se indican en ese permiso.

Límites asociados con los permisos de observabilidad

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

Ámbitos de registros

La página Explorador de registros y los paneles que muestran datos de registro usan los permisos de registro:

  • Cuando se abre la página Explorador de registros, el sistema consulta automáticamente los recursos que se enumeran 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 permisos.

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

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

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

Cuándo crear ámbitos de registros personalizados

Crea ámbitos de registros personalizados para los siguientes parámetros de configuración:

En todos los casos, configura tus ámbitos de registros personalizados para que incluyan una o más vistas de registros. Esas vistas de registro pueden estar en un bucket de registros centralizado o pueden ser vistas de registro 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 un ámbito de registros personalizado, considera actualizar el ámbito de registros predeterminado.

Prácticas recomendadas para configurar ámbitos de registros

  • Incluye solo vistas de registros.
  • No configures un permiso que enumere proyectos y vistas de registro.

Límites asociados con los ámbitos de registros

Descripción Valor máximo
Cantidad de ámbitos de registros por proyecto 100
Cantidad de proyectos por permiso de registro 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.

Alcance de las métricas

Todas las consultas que emite Cloud Monitoring usan 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, emiten consultas a los proyectos que se enumeran en el alcance de las métricas.

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

Cuándo configurar el alcance de las métricas

Configura el alcance de las métricas cuando se cumpla alguna de las siguientes condiciones:

  • Quieres crear un gráfico con los datos almacenados en diferentes proyectos.
  • Quieres que una política de alertas supervise los datos almacenados en diferentes proyectos.
  • Registra aplicaciones con App Hub. Para obtener información sobre este escenario, consulta Aplicaciones de App Hub y alcance de las métricas.

Límites asociados con el alcance de las métricas

Descripción Valor máximo
Cantidad de alcances de las métricas por proyecto 1
Cantidad de proyectos por alcance de las métricas 375

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

Permisos de Trace

La página Explorador de seguimiento usa los permisos de Trace. Cuando se abre esta página, el sistema consulta automáticamente las vistas 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 permisos.

Si no configuras un permiso de seguimiento personalizado, la página Explorador de seguimientos consulta la vista _AllSpans del proyecto en el conjunto de datos predeterminado para tus datos de seguimiento.

Un permiso de seguimiento enumera vistas, no proyectos de Google Cloud . Aunque seleccionas proyectos cuando configuras un permiso de seguimiento, el sistema agrega a ese permiso la vista de seguimiento predeterminada de esos proyectos. La vista de seguimiento predeterminada de un proyecto corresponde a la vista con la ruta _Trace/Spans/_AllSpans, en la que los campos _Trace, Spans y _AllSpans hacen referencia a un bucket, un conjunto de datos y una vista de observabilidad. El conjunto de datos Spans almacena tus datos de seguimiento.

Cuándo crear alcances de seguimiento personalizados

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

Prácticas recomendadas para configurar los permisos de seguimiento

Límites asociados con los permisos de seguimiento

Descripción Valor máximo
Cantidad de permisos de seguimiento por proyecto 100
Cantidad de vistas 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.

Para los datos de registro y seguimiento, tus roles de Identity and Access Management (IAM) en el proyecto que estás viendo, y cualquier proyecto y vista de registro que se busque, afectan los datos que devuelve la consulta. Si emites una consulta para ver datos de registro que no tienes permiso para ver, la consulta no devuelve ningún dato de registro.

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

Para configurar el permiso de observabilidad, establece el permiso de registro predeterminado y el permiso de seguimiento predeterminado. En el resto de esta sección, se describe cómo completar estas acciones.

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. Enable the Observability API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  4. 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 alcance de las métricas, debes tener el rol de Administrador de Monitoring (roles/monitoring.admin) en tu proyecto y en cada proyecto que quieras agregar al alcance de las métricas.
    • Para crear y ver ámbitos de seguimiento, y 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.

    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:

    • logging.logScopes.{create, delete, get, list, update}
    • monitoring.metricsscopes.{link, get, list}
    • observability.traceScopes.{create, delete, get, list, update}
    • observability.scopes.{get, update}

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

Selecciona la interfaz que planeas usar

Console

Cuando usas la consola de Google Cloud para acceder a los servicios y las APIs de Google Cloud , no necesitas configurar la autenticación.

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

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 .

Visualiza y establece el permiso predeterminado

Console

Para configurar el permiso de observabilidad, debes configurar sus componentes, que son el ámbito de registros predeterminado, el alcance de las 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 o el proyecto de administración de App Hub.
  3. Configura el ámbito de registros predeterminado:

    1. Selecciona la pestaña Ámbitos de registros.

      Se enumeran los ámbitos de registros existentes. La entrada con el ícono "Predeterminado", , es el ámbito de registros predeterminado. Si quieres crear un ámbito de registros, haz clic en Crear ámbito de registros y, luego, completa el cuadro de 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 alcance de las métricas:

    1. Selecciona la pestaña 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 el alcance de las métricas.
  5. Configura el permiso de seguimiento predeterminado:

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

      Se enumeran los permisos de seguimiento existentes. La entrada con el ícono "Predeterminado", , es el permiso de seguimiento predeterminado. Si quieres crear un permiso de seguimiento, haz clic en Crear permiso 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 actualizar el permiso de observabilidad, haz lo siguiente:

  1. Para ver la configuración del permiso de observabilidad, ejecuta el comando gcloud observability scopes describe.

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

    • OBSERVABILITY_SCOPE_ID: Es el nombre de un objeto Scope. Este valor se debe establecer 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 permiso de observabilidad, ejecuta el comando gcloud observability scopes update. En el comando update, puedes incluir la marca --log-scope, la marca --trace-scope o ambas.

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

    • OBSERVABILITY_SCOPE_ID: Es el nombre de un objeto Scope. Este valor se debe establecer en _Default.
    • LOG_SCOPE_FQN_ID: Es el nombre de recurso completamente calificado del permiso de 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 ámbito de registros. Por ejemplo: my-scope

    • TRACE_SCOPE_FQN_ID: Es el nombre de recurso completamente calificado del permiso de seguimiento. Este campo tiene el siguiente formato:
      projects/PROJECT_ID/locations/LOCATION/traceScopes/TRACE_SCOPE_NAME

      En la expresión anterior, TRACE_SCOPE_NAME es el nombre del permiso de seguimiento. Por ejemplo, my-trace-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\
       --trace-scope=TRACE_SCOPE_FQN_ID\
       --location=LOCATION\
       --project=PROJECT_ID

    Windows (PowerShell)

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

    Windows (cmd.exe)

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

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

    Updated scope [_Default].
    logScope: logging.googleapis.com/projects/my-project/locations/global/logScopes/my-log-scope
    traceScope: projects/my-project/locations/global/traceScopes/my-trace-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, configura el permiso de observabilidad. En el permiso de observabilidad, se enumeran el permiso de registro predeterminado y el permiso 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 ámbito de registros predeterminado y el ámbito 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, parámetros de consulta y proporcionar un objeto Scope. Los parámetros de consulta identifican qué campos se modifican. La respuesta es un objeto Scope.

El parámetro de ruta para ambos extremos tiene el siguiente formato:

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 o el proyecto de administración de App Hub.
  • LOCATION: El campo de ubicación debe establecerse en global.
  • OBSERVABILITY_SCOPE_ID: Es el nombre de un objeto Scope. Este campo se debe establecer en _Default. El objeto Scope con el nombre _Default, que se crea automáticamente, almacena información sobre el ámbito de registros predeterminado y el ámbito 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 permiso predeterminado actual, puedes hacer lo siguiente:

  1. Haz clic en projects.locations.scopes.get.
  2. En el widget Prueba este método, 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 requeridos.

    La respuesta es similar a lo que se muestra 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: