Cette page a été traduite par l'API Cloud Translation.
Switch to English

Configurer des autorisations

Cette rubrique explique comment configurer les autorisations et les identifiants requis pour appeler l'API Cloud Asset Inventory.

Authentification

Pour pouvoir appeler l'API Cloud Asset Inventory, vous devez vous authentifier en tant qu'utilisateur final ou en tant que compte de service. Pour en savoir plus sur l'authentification, consultez la section Présentation de l'authentification.

Accorder les autorisations requises pour l'outil gcloud

Pour utiliser l'outil gcloud afin d'accéder à l'API Cloud Asset Inventory, vous devez accorder les autorisations nécessaires sur le parent de la ressource cible, qui peut être une organisation, un projet ou un dossier. Vous devez spécifier ce parent dans le champ parent de vos requêtes API.

Si votre compte dispose du rôle Propriétaire d'éléments Cloud (roles/cloudasset.owner) ou du rôle de base Propriétaire (roles/owner) sur le parent de la ressource, il dispose des autorisations suffisantes pour appeler l'API Cloud Asset Inventory et vous pouvez passer directement à la section Télécharger les identifiants. Pour en savoir plus sur les rôles Cloud Asset Inventory, consultez la section Rôles.

Attribuer des rôles

Pour attribuer un rôle à un compte, exécutez la procédure suivante avec l'outil de ligne de commande gcloud. Découvrez comment installer et initialiser l'outil gcloud.

Compte utilisateur

Pour attribuer les rôles nécessaires à un compte utilisateur, procédez comme suit :

  1. Pour vous connecter avec votre compte utilisateur, exécutez la commande suivante.

    gcloud auth login USER_ACCOUNT_EMAIL
    
  2. Attribuez à votre compte utilisateur le rôle Lecteur d'éléments Cloud (roles/cloudasset.viewer) ou le rôle Propriétaire d'éléments Cloud (roles/cloudasset.owner) sur la ressource racine (parente). Il peut s'agir du projet dans lequel l'API Cloud Asset Inventory est activée.

    Pour attribuer le rôle Lecteur d'éléments Cloud à votre compte utilisateur, exécutez la commande suivante.

    gcloud projects add-iam-policy-binding TARGET_PROJECT_ID \
         --member user:USER_ACCOUNT_EMAIL \
         --role roles/cloudasset.viewer
    

    Vous pouvez ajouter l'option --billing-project à la commande gcloud asset pour spécifier le projet de facturation dans lequel l'API Cloud Asset Inventory est activée.

    --billing-project PROJECT_ID
    

    Si vous spécifiez cette option, votre compte doit disposer de l'autorisation serviceusage.services.use sur le projet PROJECT_ID. Consultez la section Comprendre les rôles pour obtenir la liste des rôles prédéfinis qui incluent cette autorisation.

Compte de service

Pour attribuer les rôles nécessaires à un compte de service, procédez comme suit : Pour en savoir plus sur les comptes de service, consultez la section Créer et gérer les comptes de service.

  1. Pour créer un compte de service, exécutez la commande suivante. Si vous possédez déjà un compte de service dans un projet pour lequel l'API Cloud Asset Inventory est activée, vous pouvez ignorer cette étape.

    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \
           --display-name "SERVICE_ACCOUNT_DISPLAY_NAME"
    
  2. Attribuez à votre compte de service le rôle Lecteur d'éléments Cloud (roles/cloudasset.viewer) ou le rôle Propriétaire d'éléments Cloud (roles/cloudasset.owner) sur la ressource racine (parente). Ce projet peut être le même que celui où l'API Cloud Asset Inventory est activée.

    Pour attribuer le rôle Lecteur d'éléments Cloud à votre compte de service, exécutez la commande suivante.

    gcloud projects add-iam-policy-binding TARGET_PROJECT_ID \
            --member serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
            --role roles/cloudasset.viewer
    
  3. Pour créer une clé privée pour votre compte de service, exécutez la commande suivante.

    gcloud iam service-accounts keys create YOUR_FILE_PATH/key.json \
            --iam-account SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
    
  4. Pour activer votre compte de service à utiliser avec l'outil gcloud, exécutez la commande suivante.

    gcloud auth activate-service-account SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
            --key-file=YOUR_FILE_PATH/key.json
    

Télécharger les identifiants JSON

Pour accéder à l'API Cloud Asset Inventory sans l'outil gcloud, vous avez besoin d'un fichier d'identifiants JSON. Pour télécharger le fichier, procédez comme suit :

  1. Accédez à la page Identifiants de Cloud Console.

    Accéder à la page Identifiants

  2. Sélectionnez + Créer des identifiants, puis sélectionnez ID client OAuth.

  3. Si vous créez un ID client pour un nouveau projet, vous devez configurer l'écran d'autorisation OAuth. Cloud Console affiche l'écran d'autorisation chaque fois qu'une application utilisant votre ID client demande l'accès à des données privées.

    Pour configurer l'écran d'autorisation, procédez comme suit :

    1. Sélectionnez Configurer l'écran d'autorisation, puis saisissez les informations requises.

    2. Enregistrez les modifications.

  4. Sur la page Créer un ID client, sous Type d'application, sélectionnez le type approprié. Pour en savoir plus sur les types de clients, consultez la page Configurer OAuth 2.0.

  5. Saisissez un nom pour les identifiants, puis cliquez sur Créer.

  6. Dans la boîte de dialogue qui s'affiche, vérifiez que l'ID client et le code secret du client sont corrects, puis fermez la boîte de dialogue.

  7. Pour enregistrer votre nouveau fichier JSON d'ID client, cliquez sur .

  8. Renommez et déplacez le fichier JSON téléchargé de sorte que le chemin d'accès soit ~/credentials.json.

Vérifier la configuration des identifiants

Pour vérifier que vous avez configuré vos identifiants correctement, exécutez la commande suivante.

   oauth2l header --json ~/credentials.json cloud-platform
   

Un résultat semblable aux lignes suivantes doit s'afficher :

Authorization: Bearer y29.xxxxxxx

Définir un alias d'interface système

Il peut être utile de définir un alias d'interface système pour appeler les API REST Google Cloud.

Pour définir un alias gcurl afin d'appeler les API REST Google Cloud, exécutez la commande suivante :

   alias gcurl='curl -H "$(oauth2l header --json ~/credentials.json 
cloud-platform)" -H "Content-Type: application/json" '