Contrôle des accès avec IAM

L'API App Optimize utilise Identity and Access Management (IAM) pour contrôler l'accès à ses ressources, telles que les rapports et les opérations. IAM vous permet d'accorder un accès précis à des ressources spécifiques de l'API App Optimize et empêche tout accès non souhaité à d'autres ressources.

Ce document décrit les autorisations et les rôles IAM qui s'appliquent à l'API App Optimize.

Présentation des autorisations

Les autorisations permettent aux utilisateurs d'effectuer des actions spécifiques sur les ressources de l'API App Optimize. Le tableau suivant répertorie les autorisations pour l'API App Optimize :

Autorisation Description
appoptimize.operations.cancel Annule une opération de longue durée.
appoptimize.operations.delete Supprime une opération de longue durée.
appoptimize.operations.get Obtient l'état d'une opération de longue durée.
appoptimize.operations.list Répertorier les opérations de longue durée.
appoptimize.reports.create Créez une ressource de rapport App Optimize API.
appoptimize.reports.delete Supprime une ressource de rapport de l'API App Optimize.
appoptimize.reports.get Lire les métadonnées de configuration d'une ressource de rapport de l'API App Optimize. Cela ne permet pas d'accéder aux données des rapports.
appoptimize.reports.getData Lire les données contenues dans un rapport de l'API App Optimize.
appoptimize.reports.list Lister les ressources de rapport de l'API App Optimize dans un projet.

Rôles prédéfinis

IAM fournit des rôles prédéfinis qui accordent un ensemble d'autorisations associées. Les rôles suivants sont disponibles pour l'API App Optimize et sont décrits dans les sous-sections suivantes :

Rôle Titre Description
roles/appoptimize.admin Administrateur App Optimize Contrôle total sur les rapports et les opérations de l'API App Optimize.
roles/appoptimize.viewer Lecteur App Optimize Accès en lecture aux métadonnées, aux données et aux opérations des rapports de l'API App Optimize.

Étant donné que l'API App Optimize est en version Preview, il est possible que ces rôles ne soient pas visibles dans la console Google Cloud . Pour accorder ces rôles, utilisez la Google Cloud CLI. Si vous ne l'avez pas déjà fait, installez et initialisez la Google Cloud CLI.

Pour attribuer le rôle Administrateur App Optimize (roles/appoptimize.admin) à un utilisateur, exécutez la commande suivante :

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

Pour attribuer le rôle Lecteur App Optimize (roles/appoptimize.viewer) à un utilisateur, exécutez la commande suivante :

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

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet Google Cloud qui sera propriétaire de la ressource de rapport.
  • USER_EMAIL : adresse e-mail de l'utilisateur auquel vous souhaitez attribuer le rôle.

Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Administrateur App Optimize

Accorde un contrôle complet sur les ressources de l'API App Optimize et inclut les autorisations accordées au lecteur App Optimize.

  • Nom du rôle : roles/appoptimize.admin
  • Autorisations incluses :
    • appoptimize.operations.*
    • appoptimize.reports.*

Lecteur App Optimize

Accorde les autorisations permettant de lire les rapports, les métadonnées et les opérations de l'API App Optimize.

  • Nom du rôle : roles/appoptimize.viewer
  • Autorisations incluses :
    • appoptimize.operations.get
    • appoptimize.operations.list
    • appoptimize.reports.get
    • appoptimize.reports.getData
    • appoptimize.reports.list

Autorisations pour créer des rapports

Pour créer un rapport, un utilisateur, un compte de service ou un autre compte principal doit disposer des éléments suivants :

  • L'autorisation appoptimize.reports.create, généralement accordée par le rôle Administrateur App Optimize (roles/appoptimize.admin), sur le projet dans lequel la ressource de rapport sera créée.

  • L'autorisation billing.resourceCosts.get sur tous les projets inclus dans le rapport. Cette autorisation est accordée par des rôles tels que Lecteur de compte de facturation (roles/billing.viewer) ou Lecteur de base (roles/viewer).

  • Autorisations d'accès aux sources de données incluses dans le champ d'application, les dimensions et les métriques du rapport. L'API App Optimize vérifie ces autorisations lors de la création du rapport. Les rôles qui accordent l'accès à cette source de données sont les suivants :

    • Pour les métriques d'utilisation du processeur et de la mémoire, le rôle Lecteur Monitoring (roles/monitoring.viewer) sur les ressources concernées.

    • Pour les dimensions et les niveaux d'application App Hub, le rôle Lecteur de gestion des applications (roles/apphub.appManagementViewer) dans le projet hôte App Hub des applications.

    Si vous générez un rapport sur une application App Hub, qui peut être constituée de plusieurs projets, vous devez disposer des autorisations de surveillance et de facturation requises sur tous les projets associés à l'application pour créer le rapport.

Autorisations pour lire les données des rapports

Une fois le rapport créé, un responsable n'a besoin que de l'autorisation suivante pour lire les données générées :

  • appoptimize.reports.getData sur le projet dans lequel le rapport a été créé ou sur le rapport lui-même. Cette autorisation est incluse dans le rôle roles/appoptimize.viewer.

Étapes suivantes