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 roles 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 del informe de la API de App Optimize. Esto no otorga acceso a los datos de los informes.
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 roles predefinidos que otorgan un conjunto de permisos relacionados. Las siguientes funciones están disponibles para la API de App Optimize y se describen en las siguientes subsecciones:

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 Tiene acceso de lectura a los metadatos, los datos y las operaciones de los informes de la API de App Optimize.

Debido a que la API de App Optimize se encuentra en versión preliminar, es posible que estos roles no se vean en la consola de Google Cloud . Para otorgar estos roles, usa Google Cloud CLI. Si aún no lo hiciste, instala y, luego, inicializa Google Cloud CLI.

Para otorgar el rol de administrador de App Optimize (roles/appoptimize.admin) a un usuario, ejecuta el siguiente comando:

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="user:USER_EMAIL" \
    --role="roles/appoptimize.admin"

Para otorgar el rol de visualizador de App Optimize (roles/appoptimize.viewer) a un usuario, ejecuta el siguiente comando:

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="user:USER_EMAIL" \
    --role="roles/appoptimize.viewer"

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto Google Cloud que será propietario del recurso del informe.
  • USER_EMAIL: Es la dirección de correo electrónico del usuario al que deseas otorgar el rol.

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

Administrador de App Optimize

Otorga control total sobre los recursos de la API de App Optimize y permisos incluidos en el rol de visualizador de App Optimize.

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

Visualizador de App Optimize

Otorga permisos para leer los informes, los metadatos y las operaciones de la API de App Optimize.

  • Nombre del rol: roles/appoptimize.viewer
  • Permisos incluidos:
    • 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 otro principal debe tener lo siguiente:

  • Permiso appoptimize.reports.create, que suele otorgarse con el rol de administrador de App Optimize (roles/appoptimize.admin), en el proyecto en el que se creará el recurso del informe.

  • El permiso billing.resourceCosts.get en todos los proyectos incluidos en el informe Este permiso se proporciona con roles como el de visualizador de cuentas de facturación (roles/billing.viewer) o el de visualizador básico (roles/viewer).

  • Son los 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 acceso a esta fuente de datos incluyen los siguientes:

    • Para las métricas de uso de CPU y memoria, el rol de Monitoring Viewer (roles/monitoring.viewer) en los recursos con permiso.

    • Para los alcances y las dimensiones de las aplicaciones de App Hub, el rol de 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, un principal solo necesita el siguiente permiso para leer los datos generados:

  • appoptimize.reports.getData en el proyecto en el que se creó el informe o en el informe mismo Este permiso se incluye en el rol roles/appoptimize.viewer.

¿Qué sigue?