Gérer les accès à l'aide d'IAM

Par défaut, seuls les propriétaires et les éditeurs de projets peuvent créer, mettre à jour, supprimer ou appeler des services, et seuls les propriétaires de projets et les administrateurs Cloud Run peuvent modifier les stratégies IAM (Identity and Access Management), par exemple pour rendre un service public. Cliquez sur ce lien pour en savoir plus sur les rôles IAM Cloud Run.

Pour permettre à d'autres utilisateurs ou groupes d'effectuer ces actions, vous pouvez accorder des rôles à différents membre à l'aide d'IAM.

Contrôler l'accès à un service individuel

Si vous souhaitez contrôler l'accès service par service, vous pouvez accorder des autorisations IAM par service.

Rendre un service public

Console (UI)

  1. Accédez à Google Cloud Console :

    Accéder à Google Cloud Console

  2. Sélectionnez le service que vous souhaitez rendre public.

  3. Cliquez sur Afficher le panneau d'informations en haut à droite pour afficher l'onglet Autorisations.

  4. Dans le champ Ajouter des membres, sélectionnez allUsers.

  5. Sélectionnez le rôle Cloud Run Invoker dans le menu déroulant Sélectionner un rôle.

  6. Cliquez sur Ajouter.

gcloud

Vous pouvez rendre un service accessible au public en ajoutant le type de membre allUsers spécial à ce service et en lui attribuant le rôle roles/run.invoker :

  gcloud run services add-iam-policy-binding [SERVICE_NAME] \
    --member="allUsers" \
    --role="roles/run.invoker"

En outre, lorsque vous déployez votre service à l'aide de la commande gcloud run deploy, vous pouvez spécifier si vous souhaitez rendre votre service accessible au public :

gcloud run deploy [SERVICE_NAME] ... --allow-unauthenticated

Lorsque vous créez un service, vous êtes invité à "autoriser l'accès non authentifié". Si vous répondez "oui", les actions ci-dessus sont effectuées pour rendre le service accessible au public. En répondant non, le service reste privé.

Partage restreint de domaine

Si le projet est soumis à la contrainte de partage restreint de domaine dans une règle d'administration, vous ne pouvez pas créer de services publics. Nous vous recommandons de créer tous les projets dans un dossier non soumis à cette restriction, puis de le supprimer des projets existants en restaurant la contrainte par défaut sur le projet.

Ajout de comptes utilisateur

Console (UI)

  1. Accédez à Google Cloud Console :

    Accéder à Google Cloud Console

  2. Sélectionnez le service auquel vous souhaitez ajouter des utilisateurs.

  3. Cliquez sur Afficher le panneau d'informations en haut à droite pour afficher l'onglet Autorisations.

  4. Dans le champ Ajouter des membres, entrez une ou plusieurs identités ayant besoin d'accéder au service.

  5. Sélectionnez un ou plusieurs rôles dans le menu déroulant Sélectionnez un rôle. Les rôles sélectionnés apparaissent dans le volet et sont accompagnés d'une brève description des autorisations auxquelles ils correspondent.

  6. Cliquez sur Ajouter.

gcloud

Utilisez la commande gcloud run services add-iam-policy-binding :

gcloud run services add-iam-policy-binding SERVICE_NAME \
  --member=MEMBER_TYPE \
  --role=ROLE

SERVICE_NAME est le nom du service, MEMBER_TYPE est le type de membre (par exemple, user:email@domain.com) et ROLE est le rôle.

Pour obtenir la liste des valeurs acceptées pour MEMBER_TYPE, consultez la section sur les concepts de Cloud IAM. Pour obtenir la liste des valeurs acceptées pour ROLE, consultez la page sur les Rôles IAM Cloud Run.

Supprimer des utilisateurs

Console (UI)

  1. Accédez à Google Cloud Console :

    Accéder à Google Cloud Console

  2. Sélectionnez le service dont vous souhaitez supprimer des utilisateurs.

  3. Cliquez sur Afficher le panneau d'informations en haut à droite pour afficher l'onglet Autorisations.

  4. Recherchez l'utilisateur que vous souhaitez supprimer ou développez un rôle détenu par cet utilisateur.

  5. Au niveau du rôle, cliquez sur la corbeille en regard du type de membre pour supprimer le rôle du membre.

gcloud

Utilisez la commande gcloud run services remove-iam-policy-binding :

  gcloud run services remove-iam-policy-binding SERVICE_NAME \
    --member=MEMBER_TYPE \
    --role=ROLE

SERVICE_NAME est le nom du service, MEMBER_TYPE est le type de membre (par exemple, user:email@domain.com) et ROLE est le rôle.

Pour obtenir la liste des valeurs acceptées pour MEMBER_TYPE, consultez la section sur les concepts de Cloud IAM. Pour obtenir la liste des valeurs acceptées pour ROLE, consultez la page sur les rôles IAM Cloud Run.

Ajouter ou supprimer des utilisateurs de manière groupée

Console (UI)

  1. Accédez à Google Cloud Console :

    Accéder à Google Cloud Console

  2. Sélectionnez le service auquel vous souhaitez ajouter des utilisateurs ou en supprimer.

  3. Cliquez sur Afficher le panneau d'informations en haut à droite pour afficher l'onglet Autorisations.

Pour ajouter des utilisateurs :

  1. Dans le champ Ajouter des membres, entrez les identités ayant besoin d'accéder au service.

  2. Sélectionnez un ou plusieurs rôles dans le menu déroulant Sélectionnez un rôle. Les rôles sélectionnés apparaissent dans le volet et sont accompagnés d'une brève description des autorisations auxquelles ils correspondent.

  3. Cliquez sur Ajouter.

Pour supprimer des utilisateurs :

  1. Recherchez l'utilisateur que vous souhaitez supprimer ou développez un rôle détenu par cet utilisateur.

  2. Au niveau du rôle, cliquez sur la corbeille en regard du type de membre pour supprimer le rôle du membre.

gcloud

Créez une stratégie IAM :

cat <<EOF > policy.json
{
  "bindings": [
    {
      "role": ROLE,
      "members": [
        MEMBER_TYPE
      ]
    }
  ]
}
EOF

Utilisez la commande gcloud run services set-iam-policy :

gcloud run services set-iam-policy SERVICE_NAME policy.json

Pour obtenir la liste des valeurs acceptées pour MEMBER_TYPE, consultez la section sur les concepts de Cloud IAM. Pour obtenir la liste des valeurs acceptées pour ROLE, consultez la page sur les rôles IAM Cloud Run.

Afficher les utilisateurs

Console (UI)

  1. Accédez à Google Cloud Console :

    Accéder à Google Cloud Console

  2. Sélectionnez le service pour lequel vous souhaitez afficher les utilisateurs et les rôles.

  3. Cliquez sur Afficher le panneau d'informations en haut à droite pour afficher l'onglet Autorisations.

  4. Tous les utilisateurs seront affichés, regroupés par rôle attribué.

gcloud

Utilisez la commande gcloud run services get-iam-policy :

gcloud run services get-iam-policy SERVICE_NAME

Contrôler l'accès à tous les services d'un projet

Si vous souhaitez attribuer des rôles à des membres sur tous les services d'un projet, vous pouvez attribuer des rôles IAM au niveau du projet.

Console (UI)

  1. Accédez à Google Cloud Console :

    Accéder à Google Cloud Console

  2. Recherchez l'utilisateur auquel vous souhaitez attribuer un rôle à l'échelle du projet.

  3. Cliquez sur l'icône en forme de crayon située à droite de la ligne de l'utilisateur.

  4. Cliquez sur Ajouter un autre rôle et sélectionnez le rôle souhaité.

  5. Cliquez sur "Enregistrer".

gcloud

Utilisez la commande gcloud projects add-iam-policy-binding :

gcloud projects add-iam-policy-binding PROJECT_ID \
  --member=MEMBER_TYPE \
  --role=ROLE

MEMBER_TYPE correspond au type de membre (par exemple, user:email@domain.com) et ROLE au rôle (par exemple, roles/run.admin).

Étapes suivantes

Découvrez comment authentifier les développeurs, les services et les utilisateurs en toute sécurité pour accéder aux services que vous venez de sécuriser.