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

Otorga una función de IAM

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

Console

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

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

  6. Haz clic en Guardar.

gcloud

  1. Si aún no lo hiciste, instala y, luego, inicializa Google Cloud CLI.

  2. Usa el comando gcloud projects add-iam-policy-binding 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 proyecto de Google Cloud .
    • 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 otorgarle 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 administrador de App Optimize otorga control total sobre los recursos de la API de App Optimize y, además, incluye los permisos que se otorgan al visualizador de App Optimize.

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

Visualizador de App Optimize

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

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 otro 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 de Visualizador de cuentas de facturación (roles/billing.viewer) o el de 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 acceso a esta 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 con alcance.

    • Para los ámbitos y las dimensiones de las aplicaciones de App Hub, se requiere 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 permiso de 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?