Contrôle des accès avec IAM

Cette page explique comment contrôler l'accès aux ressources Workload Manager.

Workload Manager utilise la gestion de l'authentification et des accès (Identity and Access Management, IAM) pour contrôler l'accès aux ressources. IAM est un outil permettant de gérer les autorisations précises pour vos Google Cloud ressources. En d'autres termes, IAM vous permet de contrôler qui peut effectuer quelle action sur quelles ressources.

Pour accorder aux utilisateurs l'accès à une ressource avec IAM, vous leur attribuez des rôles spécifiques. Les rôles IAM accordent aux comptes principaux des autorisations pour effectuer des tâches sur vos ressources Workload Manager.

Pour en savoir plus sur IAM et ses fonctionnalités, consultez la documentation IAM.

Gérer l'accès aux ressources Workload Manager

La méthode la plus courante pour gérer l'accès avec IAM consiste à utiliser des règles d'autorisation. Les règles d'autorisation indiquent quels comptes principaux ont accès à la ressource et quelles actions ils peuvent effectuer sur cette ressource.

Les sections suivantes décrivent comment attribuer et révoquer un seul rôle avec des règles d'autorisation à l'aide de la Google Cloud console et de la Google Cloud CLI. Vous pouvez également attribuer et révoquer plusieurs rôles en même temps. Pour en savoir plus, consultez Gérer l'accès aux projets, aux dossiers et aux organisations dans la documentation IAM.

Ces sections se concentrent sur l'attribution et la révocation de l'accès au niveau du projet, ce qui contrôle l'accès d'un utilisateur au projet et à toutes les ressources qu'il contient.

Vous pouvez également utiliser des règles d'autorisation associées à différentes Google Cloud ressources pour gérer l'accès à d'autres niveaux de la hiérarchie des ressources. Pour en savoir plus, consultez Utiliser la hiérarchie des ressources pour le contrôle des accès dans la documentation IAM.

Toutes les ressources ne sont pas compatibles avec les règles d'autorisation. Pour savoir à quelles ressources vous pouvez associer des règles d'autorisation, consultez Ressources compatibles avec les règles d'autorisation dans la documentation IAM.

Pour en savoir plus sur les autres règles que vous pouvez utiliser pour contrôler l'accès avec IAM, telles que les règles de refus, consultez Types de règles dans la documentation IAM.

Attribuer un seul rôle IAM

Pour attribuer un seul rôle à un compte principal, procédez comme suit :

Console

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

    Accéder à IAM

  2. Sélectionnez un projet, un dossier ou une organisation.
  3. Sélectionnez un compte principal auquel attribuer un rôle :
    • Pour attribuer un rôle supplémentaire à un compte principal sur la ressource, recherchez la ligne contenant le compte principal, cliquez Modifier le compte principal sur cette ligne, puis cliquez sur Ajouter un autre rôle.

      Pour attribuer un rôle à un agent de service, cochez la case Inclure Google-fournies par les attributions de rôles pour afficher son adresse e-mail.

    • Pour attribuer un rôle à un compte principal qui ne dispose d'aucun rôle sur la ressource, cliquez sur Accorder l'accès, puis saisissez un identifiant de compte principal, par exemple, my-user@example.com ou //iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com.
  4. Sélectionnez un rôle à attribuer dans la liste déroulante. Pour respecter les bonnes pratiques de sécurité choisissez un rôle qui n'inclut que les autorisations dont votre compte principal a besoin.
  5. Facultatif : ajoutez une condition au rôle.
  6. Cliquez sur Enregistrer. Le rôle est attribué au compte principal sur la ressource.

gcloud

  1. Dans la Google Cloud console, activez Cloud Shell.

    Activer Cloud Shell

    En bas de la Google Cloud console, une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.

  2. La commande add-iam-policy-binding vous permet d'attribuer rapidement un rôle à un compte principal.

    Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

    • RESOURCE_TYPE : type de ressource dont vous souhaitez gérer l'accès. Utilisez projects, resource-manager folders ou organizations.

    • RESOURCE_ID : ID de votre Google Cloud projet, dossier, ou organisation. Les ID de projet sont alphanumériques, comme my-project. Les ID de dossier et d'organisation sont numériques, comme 123456789012.

    • PRINCIPAL : identifiant du compte principal ou membre, se présentant généralement sous la forme suivante : PRINCIPAL_TYPE:ID. Par exemple, user:my-user@example.com ou principalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com. Pour obtenir la liste complète des valeurs possibles pour PRINCIPAL, consultez Identifiants du compte principal.

      Pour le type de compte principal user, le nom de domaine indiqué dans l'identifiant doit être un domaine Google Workspace ou Cloud Identity. Pour savoir comment configurer un domaine Cloud Identity, consultez la présentation de Cloud Identity.

    • ROLE_NAME : nom du rôle que vous souhaitez attribuer. Utilisez l'un des formats suivants :

      • Rôles prédéfinis : roles/SERVICE.IDENTIFIER
      • Rôles personnalisés au niveau du projet : projects/PROJECT_ID/roles/IDENTIFIER
      • Rôles personnalisés au niveau de l'organisation : organizations/ORG_ID/roles/IDENTIFIER

      Pour obtenir la liste complète des rôles prédéfinis, consultez la page Comprendre les rôles.

    • CONDITION : condition à ajouter à la liaison de rôle. Si vous ne souhaitez pas ajouter de condition, utilisez la valeur None. Pour en savoir plus sur les conditions, consultez la présentation des conditions.

    Exécutez la commande suivante :

    Linux, macOS ou Cloud Shell

    gcloud RESOURCE_TYPE add-iam-policy-binding RESOURCE_ID \
        --member=PRINCIPAL --role=ROLE_NAME \
        --condition=CONDITION

    Windows (PowerShell)

    gcloud RESOURCE_TYPE add-iam-policy-binding RESOURCE_ID `
        --member=PRINCIPAL --role=ROLE_NAME `
        --condition=CONDITION

    Windows (cmd.exe)

    gcloud RESOURCE_TYPE add-iam-policy-binding RESOURCE_ID ^
        --member=PRINCIPAL --role=ROLE_NAME ^
        --condition=CONDITION

    La réponse contient la règle d'autorisation IAM mise à jour.

Révoquer un seul rôle IAM

Pour révoquer un seul rôle d'un compte principal, procédez comme suit :

Console

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

    Accéder à IAM

  2. Sélectionnez un projet, un dossier ou une organisation.
  3. Recherchez la ligne contenant le compte principal dont vous souhaitez révoquer l'accès. Cliquez ensuite sur Modifier le compte principal sur cette ligne.
  4. Cliquez sur le bouton Delete correspondant au rôle que vous souhaitez révoquer, puis cliquez sur Save.

gcloud

  1. Dans la Google Cloud console, activez Cloud Shell.

    Activer Cloud Shell

    En bas de la Google Cloud console, une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.

  2. Pour révoquer un rôle d'un utilisateur, exécutez la remove-iam-policy-binding commande :

    gcloud RESOURCE_TYPE remove-iam-policy-binding RESOURCE_ID \
        --member=PRINCIPAL --role=ROLE_NAME

    Indiquez les valeurs suivantes :

    • RESOURCE_TYPE : type de ressource dont vous souhaitez gérer l'accès. Utilisez projects, resource-manager folders ou organizations.

    • RESOURCE_ID : ID de votre Google Cloud projet, dossier, ou organisation. Les ID de projet sont alphanumériques, comme my-project. Les ID de dossier et d'organisation sont numériques, comme 123456789012.

    • PRINCIPAL : identifiant du compte principal ou membre, se présentant généralement sous la forme suivante : PRINCIPAL_TYPE:ID. Par exemple, user:my-user@example.com ou principalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com.

      Pour le type de compte principal user, le nom de domaine indiqué dans l'identifiant doit être un domaine Google Workspace ou Cloud Identity. Pour savoir comment configurer un domaine Cloud Identity, consultez la présentation de Cloud Identity.

    • ROLE_NAME : nom du rôle que vous souhaitez révoquer. Utilisez l'un des formats suivants :

      • Rôles prédéfinis : roles/SERVICE.IDENTIFIER
      • Rôles personnalisés au niveau du projet : projects/PROJECT_ID/roles/IDENTIFIER
      • Rôles personnalisés au niveau de l'organisation : organizations/ORG_ID/roles/IDENTIFIER

      Pour obtenir la liste complète des rôles prédéfinis, consultez la page Comprendre les rôles.

    Par exemple, pour révoquer le rôle de créateur de projet du compte de service example-service-account@example-project.iam.gserviceaccount.com pour le projet example-project :

    gcloud projects remove-iam-policy-binding example-project \
          --member=serviceAccount:example-service-account@example-project.iam.gserviceaccount.com \
          --role=roles/resourcemanager.projectCreator

Pour éviter de révoquer des rôles nécessaires, vous pouvez activer les recommandations pour la modification des risques. Les recommandations pour la modification des risques génèrent des avertissements lorsque vous essayez de révoquer des rôles au niveau du projet que Google Cloud a identifiés comme importants.

Accès conditionnel

Les conditions IAM vous permettent de rendre vos règles plus précises en n'accordant l'accès aux comptes principaux que lorsque certaines conditions spécifiées sont remplies. Les conditions sont basées sur des attributs liés au compte principal, à la ressource et à la requête. Par exemple, vous pouvez n'accorder l'accès à un compte principal que s'il accède à la ressource depuis un emplacement spécifique ou à un moment précis.

Les conditions des règles d'autorisation sont basées sur les types d'attributs suivants :

  • Attributs de ressource : incluent le service, le type ou le nom du ressource. Ces attributs sont généralement utilisés pour modifier le champ d'application d'un accès accordé par une liaison de rôle.
  • Attributs de requête : incluent des détails sur la requête, tels que l'heure ou le niveau d'accès du compte principal qui a effectué la requête. Ces attributs vous permettent de créer des conditions qui évaluent des détails sur la requête, tels que son niveau d'accès, sa date et son heure, l'adresse IP de destination et le port, ou le chemin de l'URL attendu.

Pour en savoir plus sur les attributs de condition compatibles avec Workload Manager, consultez la documentation de référence sur les attributs pour les conditions IAM.

Vous ne pouvez pas accorder d'accès conditionnel directement sur les ressources Workload Manager. Toutefois, vous pouvez accorder un accès conditionnel aux types de ressources Workload Manager en attribuant des rôles à des comptes principaux sur une ressource conteneur, telle qu'un projet, un dossier ou une organisation, et en ajoutant des conditions à ces liaisons de rôle. Les conditions ajoutées à la règle d'autorisation d'une ressource conteneur sont héritées par les ressources incluses dans cette ressource conteneur. Pour en savoir plus sur les conditions héritées, consultez Compatibilité avec les conditions héritées dans la documentation IAM.

Pour savoir comment ajouter des conditions aux liaisons de rôle, consultez Gérer les liaisons de rôles conditionnelles dans la documentation IAM.

Étape suivante