Control de acceso con la IAM

La API de App Optimize usa Identity and Access Management (IAM) para controlar el acceso a sus recursos, como informes y operaciones. IAM te permite otorgar acceso detallado a recursos específicos de la API de App Optimize y ayuda a evitar el acceso no deseado a otros recursos.

En este documento, se describen los permisos y las funciones de IAM que se aplican a la API de App Optimize.

Descripción general de los permisos

Los permisos permiten a los usuarios realizar acciones específicas en los recursos de la API de App Optimize. En la siguiente tabla, se enumeran los permisos de la API de App Optimize:

Permiso Descripción
appoptimize.operations.cancel Cancela una operación de larga duración.
appoptimize.operations.delete Borra una operación de larga duración.
appoptimize.operations.get Obtiene el estado de una operación de larga duración.
appoptimize.operations.list Muestra las operaciones de larga duración.
appoptimize.reports.create Crea un recurso de informe de la API de App Optimize.
appoptimize.reports.delete Borra un recurso de informe de la API de App Optimize.
appoptimize.reports.get Lee los metadatos de configuración de un recurso de informe de la API de App Optimize.
Esto no otorga acceso a los datos del informe.
appoptimize.reports.getData Lee los datos contenidos en un informe de la API de App Optimize.
appoptimize.reports.list Enumera los recursos de informes de la API de App Optimize en un proyecto.

Funciones predefinidas

IAM proporciona funciones predefinidas que otorgan un conjunto de permisos relacionados. Las siguientes funciones están disponibles para la API de App Optimize:

Rol Título Descripción
roles/appoptimize.admin Administrador de App Optimize Control total sobre los informes y las operaciones de la API de App Optimize.
roles/appoptimize.viewer Visualizador de App Optimize Acceso de lectura a los metadatos, los datos y las operaciones de los informes de la API de App Optimize.

Otorga un rol de IAM

Puedes otorgar un rol de IAM a una principal con la Google Cloud consola o Google Cloud CLI.

Console

  1. En la Google Cloud consola de, dirígete a la página IAM.

    Ir a IAM

  2. Haz clic en Otorgar acceso.

  3. En el campo Principales nuevas, ingresa la dirección de correo electrónico de la principal a la que se le otorgará el rol.

  4. Haz clic en el menú desplegable Seleccionar una función.

  5. Filtra los roles de App Optimize y selecciona el rol que deseas otorgar, como Administrador de App Optimize o Visualizador de App Optimize.

  6. Haz clic en Guardar.

gcloud

  1. Si aún no lo hiciste, instala e inicializa la CLI de Google Cloud.

  2. Usa el gcloud projects add-iam-policy-binding comando para otorgar el rol:

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="PRINCIPAL" \
        --role="ROLE_NAME"
    

    Reemplaza lo siguiente:

    • PROJECT_ID: Es el ID de tu Google Cloud proyecto.
    • PRINCIPAL: Es el identificador de la principal, como user:my-user@example.com o group:my-group@example.com. Consulta Identificadores de principal.
    • ROLE_NAME: Es el rol que se otorgará, como roles/appoptimize.admin o roles/appoptimize.viewer.

Por ejemplo, para otorgar el rol de Administrador de App Optimize al usuario test-user@example.com en el proyecto my-appoptimize-project, ejecuta este comando:

gcloud projects add-iam-policy-binding my-appoptimize-project \
    --member="user:test-user@example.com" \
    --role="roles/appoptimize.admin"

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

Administrador de App Optimize

El rol de Administrador de App Optimize otorga control total sobre los recursos de la API de App Optimize y también incluye los permisos otorgados al Visualizador de App Optimize.

Nombre del rol Permisos incluidos
roles/appoptimize.admin
  • appoptimize.operations.*
  • appoptimize.reports.*

Visualizador de App Optimize

El rol de Visualizador de App Optimize otorga permisos para leer los informes de la API de App Optimize, sus metadatos y operaciones.

Nombre del rol Permisos incluidos
roles/appoptimize.viewer
  • appoptimize.operations.get
  • appoptimize.operations.list
  • appoptimize.reports.get
  • appoptimize.reports.getData
  • appoptimize.reports.list

Permisos para crear informes

Para crear un informe, un usuario, una cuenta de servicio o cualquier otra principal debe tener lo siguiente:

  • El permiso appoptimize.reports.create en el proyecto en el que se creará el recurso del informe. Este permiso se incluye en el rol de Administrador de App Optimize (roles/appoptimize.admin).

  • El permiso billing.resourceCosts.get en todos los proyectos incluidos en el informe. Este permiso se proporciona a través de roles como el Operador de Cloud Hub (roles/cloudhub.operator) o el Visualizador básico (roles/viewer).

  • Permisos para acceder a las fuentes de datos que abarcan el alcance, las dimensiones y las métricas del informe. La API de App Optimize verifica estos permisos cuando se crea el informe. Los roles que otorgan este acceso a la fuente de datos incluyen los siguientes:

    • Para las métricas de uso de CPU y memoria: Visualizador de Monitoring (roles/monitoring.viewer) en los recursos incluidos.

    • Para los alcances y las dimensiones de la aplicación de App Hub: Visualizador de administración de aplicaciones (roles/apphub.appManagementViewer) en el proyecto host de App Hub de las aplicaciones.

    Si generas un informe sobre una aplicación de App Hub, que puede estar compuesta por varios proyectos, debes tener los permisos de supervisión y facturación necesarios en todos los proyectos asociados de la aplicación para crear el informe.

Permisos para leer datos de informes

Una vez que se crea un informe correctamente, una principal solo necesita el permiso appoptimize.reports.getData para leer los datos generados. Este permiso puede estar en el proyecto en el que se creó el informe o en el informe en sí, y se incluye en los roles de Administrador de App Optimize y Visualizador de App Optimize.

¿Qué sigue?