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 de l'API App Optimize.
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 donne pas accès aux données du rapport.
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 :

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 attribuer un rôle IAM à un compte principal à l'aide de la consoleGoogle Cloud 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 celui à accorder, comme "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 commande gcloud projects add-iam-policy-binding pour attribuer 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 projet Google Cloud .
    • PRINCIPAL : identifiant du compte principal, tel que user:my-user@example.com ou group:my-group@example.com. Consultez Identifiants principaux.
    • ROLE_NAME : rôle à accorder, par exemple roles/appoptimize.admin ou roles/appoptimize.viewer.

Par exemple, pour accorder le rôle d'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

L'administrateur App Optimize dispose d'un contrôle total sur les ressources de l'API App Optimize et inclut les autorisations accordées au 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 les autorisations nécessaires 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 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 :

  • 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 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 lorsque le rapport est créé. 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 : rôle Lecteur Monitoring (roles/monitoring.viewer) sur les ressources concernées.

    • Pour les dimensions et les niveaux d'application 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 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 qu'un rapport a été créé, un responsable n'a besoin que de l'autorisation appoptimize.reports.getData pour lire les données générées. Cette autorisation peut être accordée au niveau du projet dans lequel le rapport a été créé ou au niveau du rapport lui-même. Elle est incluse dans les rôles "Administrateur Optimize pour les applications" et "Lecteur Optimize pour les applications".

Étapes suivantes