Configurer les identifiants par défaut de l'application pour une ressource avec un compte de service associé

Certains services Google Cloud , tels que Compute Engine, App Engine et Cloud Run Functions, permettent de rattacher un compte de service géré par l'utilisateur à certains types de ressources. En règle générale, l'association d'un compte de service est acceptée lorsque les ressources de ce service peuvent exécuter ou inclure un code d'application. Lorsque vous associez un compte de service à une ressource, le code exécuté sur la ressource peut utiliser ce compte de service comme identité.

Associer un compte de service géré par l'utilisateur est la méthode privilégiée pour fournir des identifiants à ADC pour le code de production exécuté sur Google Cloud.

Pour déterminer le rôle que vous devez attribuer à votre compte de service, consultez la section Choisir des rôles prédéfinis.

Pour en savoir plus sur les ressources auxquelles vous pouvez associer un compte de service et sur l'association de ce compte de service, consultez la documentation IAM sur l'association d'un compte de service.

Configurez l'authentification :

  1. Assurez-vous de disposer des rôles IAM "Créateur de compte de service" (roles/iam.serviceAccountCreator) et "Administrateur IAM du projet" (roles/resourcemanager.projectIamAdmin). Découvrez comment attribuer des rôles.
  2. Créez le compte de service :

    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

    Remplacez SERVICE_ACCOUNT_NAME par le nom que vous souhaitez donner au compte de service.

  3. Pour accorder l'accès à votre projet et à vos ressources, attribuez un rôle au compte de service :

    gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=ROLE

    Remplacez les éléments suivants :

    • SERVICE_ACCOUNT_NAME : nom du compte de service.
    • PROJECT_ID : ID du projet dans lequel vous avez créé le compte de service.
    • ROLE : rôle à accorder
  4. Pour attribuer un autre rôle au compte de service, exécutez la commande comme vous l'avez fait à l'étape précédente.
  5. Attribuez le rôle requis au compte principal qui associera le compte de service à d'autres ressources.

    gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com --member="user:USER_EMAIL" --role=roles/iam.serviceAccountUser

    Remplacez les éléments suivants :

    • SERVICE_ACCOUNT_NAME : nom du compte de service.
    • PROJECT_ID : ID du projet dans lequel vous avez créé le compte de service.
    • USER_EMAIL : adresse e-mail d'un compte Google

Étapes suivantes