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 l'accès indésirable à 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 de 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épertorie les opérations de longue durée.
appoptimize.reports.create Crée une ressource de rapport de l'API App Optimize.
appoptimize.reports.delete Supprime une ressource de rapport de l'API App Optimize.
appoptimize.reports.get Lit les métadonnées de configuration d'une ressource de rapport de l'API App Optimize.
Cela n'accorde pas l'accès aux données du rapport.
appoptimize.reports.getData Lit les données contenues dans un rapport de l'API App Optimize.
appoptimize.reports.list Répertorie 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 :

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.

Accorder un rôle IAM

Vous pouvez accorder un rôle IAM à un compte principal à l'aide de la Google Cloud console ou de la Google Cloud CLI.

Console

  1. Dans la console Google Cloud , accédez à la page IAM.

    Accéder à IAM

  2. Cliquez sur Accorder l'accès.

  3. Dans le champ Nouveaux comptes principaux, saisissez l'adresse e-mail du compte principal auquel attribuer le rôle.

  4. Cliquez sur le menu déroulant Sélectionner un rôle.

  5. Filtrez les rôles App Optimize et sélectionnez le rôle à accorder, tel qu'Administrateur App Optimize ou Lecteur App Optimize.

  6. Cliquez sur Enregistrer.

gcloud

  1. Si vous ne l'avez pas déjà fait, installez et initialisez la Google Cloud CLI.

  2. Utilisez la gcloud projects add-iam-policy-binding commande pour accorder le rôle :

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

    Remplacez les éléments suivants :

    • PROJECT_ID : ID de votre Google Cloud projet.
    • PRINCIPAL: identifiant du compte principal, tel que user:my-user@example.com ou group:my-group@example.com. Voir Identifiants des comptes principaux.
    • ROLE_NAME: rôle à accorder, tel que roles/appoptimize.admin ou roles/appoptimize.viewer.

Par exemple, pour accorder le rôle Administrateur App Optimize à l'utilisateur test-user@example.com sur le projet my-appoptimize-project :

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

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

Le rôle Administrateur App Optimize offre un contrôle total sur les ressources de l'API App Optimize et inclut les autorisations accordées au rôle Lecteur App Optimize.

Nom du rôle Autorisations associées
roles/appoptimize.admin
  • appoptimize.operations.*
  • appoptimize.reports.*

Lecteur App Optimize

Le rôle Lecteur App Optimize accorde des autorisations pour lire les rapports, les métadonnées et les opérations de l'API App Optimize.

Nom du rôle Autorisations associées
roles/appoptimize.viewer
  • appoptimize.operations.get
  • appoptimize.operations.list
  • appoptimize.reports.get
  • appoptimize.reports.getData
  • appoptimize.reports.list

Autorisations de 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 sur le projet dans lequel la ressource de rapport sera créée. Cette autorisation est incluse dans le rôle Administrateur App Optimize (roles/appoptimize.admin).

  • 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 du compte de facturation (roles/billing.viewer) ou le rôle de base Lecteur (roles/viewer).

  • Les autorisations d'accéder 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 cet accès à la source de données incluent les éléments suivants :

    • Pour les métriques d'utilisation du processeur et de la mémoire : Lecteur Monitoring (roles/monitoring.viewer) sur les ressources incluses.

    • Pour les champs d'application et les dimensions des applications App Hub : Lecteur de gestion des applications (roles/apphub.appManagementViewer) sur le projet hôte App Hub des applications.

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

Autorisations de lire les données du rapport

Une fois qu'un rapport a été créé, un compte principal n'a besoin que de l'autorisation appoptimize.reports.getData pour lire les données générées. Cette autorisation peut concerner le projet dans lequel le rapport a été créé ou le rapport lui-même. Elle est incluse dans les rôles Administrateur App Optimize et Lecteur App Optimize.

Étape suivante