Accorder aux utilisateurs l'accès aux instances

Cette page explique comment accorder à vos utilisateurs l'accès à votre instance Secure Source Manager à l'aide d'Identity and Access Management (IAM). Pour en savoir plus sur le contrôle des accès dans Secure Source Manager, consultez Contrôle des accès avec IAM.

Rôles requis

Pour obtenir les autorisations nécessaires pour accorder aux utilisateurs l'accès à l'instance, demandez à votre administrateur de vous attribuer le rôle IAM Propriétaire de l'instance Secure Source Manager (roles/securesourcemanager.instanceOwner) sur l'instance Secure Source Manager. Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.

Pour savoir comment attribuer des rôles Secure Source Manager, consultez Contrôle des accès avec IAM.

Accorder l'accès aux utilisateurs de la fédération d'identité de personnel

Si vous utilisez la fédération d'identité des employés pour accéder à Secure Source Manager, les comptes principaux sont représentés différemment. Pour savoir comment accorder l'accès aux comptes principaux qui représentent des groupes d'identités, consultez Représenter les utilisateurs de pools de personnel dans les stratégies IAM.

Par exemple, la commande suivante accorde à l'utilisateur user@example.com le rôle Accesseur d'instance (roles/securesourcemanager.instanceAccessor) dans le pool d'identités de personnel my-pool sur l'instance my-instance dans le projet my-project de la région us-central1 :

  gcloud beta source-manager instances add-iam-policy-binding my-instance \
      --project=my-project \
      --region=us-central1 \
      --member=principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/user@example.com \
      --role=roles/securesourcemanager.instanceAccessor

Vous pouvez accorder des autorisations aux utilisateurs ou aux groupes de votre pool d'identités de personnel en fonction des attributs de votre fournisseur d'identité (IdP), ou utiliser le Common Expression Language (CEL) pour mapper vos attributs OIDC à des attributs personnalisés afin de définir une stratégie d'autorisation dans votre stratégie IAM. Pour en savoir plus sur les mappages d'attributs, consultez Mappages d'attributs.

Accorder l'accès à un seul utilisateur

Pour accorder l'accès à l'instance à un seul utilisateur, exécutez la commande Google Cloud CLI suivante :

  gcloud beta source-manager instances add-iam-policy-binding INSTANCE_ID \
      --project=PROJECT_ID \
      --region=REGION \
      --member=PRINCIPAL_IDENTIFIER \
      --role=roles/securesourcemanager.instanceAccessor

Remplacez les éléments suivants :

  • INSTANCE_ID par l'ID de l'instance.
  • PROJECT_ID par l'ID ou le numéro du projet de l'instance.
  • REGION avec la région dans laquelle se trouve l'instance. Consultez la documentation sur les emplacements pour connaître les régions Secure Source Manager disponibles.
  • PRINCIPAL_IDENTIFIER avec l'identifiant du compte principal auquel vous souhaitez accorder le rôle.

    Par exemple, pour attribuer le rôle à un seul utilisateur avec son adresse e-mail, vous devez mettre en forme l'identifiant principal comme suit : user:EMAIL, où EMAIL correspond à l'adresse e-mail de l'utilisateur.

    Pour en savoir plus sur les identifiants principaux compatibles, consultez Identifiants principaux.

Par exemple, la commande suivante accorde à l'utilisateur trusted-user1@gmail.com le rôle roles/securesourcemanager.instanceAccessor sur l'instance my-instance, dans le projet my-project de la région us-central.

  gcloud beta source-manager instances add-iam-policy-binding INSTANCE_ID \
      --project=my-project \
      --region=us-central1 \
      --member=user:trusted-user1@gmail.com \
      --role=roles/securesourcemanager.instanceAccessor

Accorder l'accès à plusieurs utilisateurs

  1. Créez un groupe Google de tous les utilisateurs qui doivent accéder à votre instance. Le groupe peut être un groupe spécifique à un domaine.

    Nous vous recommandons de créer un groupe étendu incluant tous les utilisateurs potentiels, par exemple tous les développeurs et les personnes susceptibles de signaler des problèmes dans votre entreprise. Les utilisateurs doivent appartenir à ce groupe pour accéder aux ressources d'une instance Secure Source Manager ou en créer, y compris les dépôts et les problèmes.

    En créant un groupe large, les responsables d'équipe peuvent gérer les rôles utilisateur au niveau de l'instance et du dépôt sans avoir à gérer l'appartenance au groupe.

  2. Pour lire la stratégie d'autorisation actuelle et l'enregistrer dans /tmp/instances.json, exécutez la commande suivante :

      gcloud beta source-manager instances get-iam-policy INSTANCE_ID \
          --project=PROJECT_ID \
          --region=REGION \
          --format=json > /tmp/instance.json
    

    Remplacez les éléments suivants :

    • INSTANCE_ID par l'ID de l'instance.
    • PROJECT_ID par l'ID ou le numéro du projet de l'instance.
    • REGION avec la région dans laquelle se trouve l'instance. Consultez la documentation sur les emplacements pour connaître les régions Secure Source Manager disponibles.

    Le résultat inclura toutes les liaisons existantes ou, si aucune n'existe, la valeur etag, comme suit :

    {
        "etag": "BwUjHYKJUiQ="
    }
    
  3. Modifiez le fichier JSON /tmp/instance.json pour accorder les rôles suivants à vos groupes :

    • Rôle "Accesseur d'instance" (roles/securesourcemanager.instanceAccessor) pour les utilisateurs qui ont besoin d'afficher l'instance, mais pas de créer ni de modifier des dépôts.
    • Rôle Créateur de dépôts d'instances (roles/securesourcemanager.instanceRepositoryCreator) pour les utilisateurs qui doivent créer et modifier des dépôts.
    • Le rôle Propriétaire de l'instance (roles/securesourcemanager.instanceOwner) pour les utilisateurs qui géreront votre instance.

    L'exemple de stratégie suivant accorde le rôle roles/securesourcemanager.instanceRepositoryCreator au groupe your-group@gmail.com, et accorde le rôle roles/securesourcemanager.instanceOwner aux utilisateurs trusted-user1@gmail.com et trusted-user2@gmail.com.

    {
      "etag": "ETAG",
      "bindings": [
        {
          "role": "roles/securesourcemanager.instanceRepositoryCreator",
          "members": [
            "group:GROUP_EMAIL"
          ]
        },
        {
          "role": "roles/securesourcemanager.instanceOwner",
          "members": [
            "user:USER_EMAIL_1",
            "user:USER_EMAIL_2"
          ]
        }
      ]
    }
    

    Remplacez les éléments suivants :

    • ETAG avec la valeur etag de la réponse getIamPolicy. Dans ce cas, il s'agit de BwUjHYKJUiQ=.
    • GROUP_EMAIL par l'adresse e-mail de votre groupe Google.
    • USER_EMAIL_1 et USER_EMAIL_2 avec les adresses e-mail des utilisateurs auxquels vous souhaitez attribuer le rôle de propriétaire de l'instance.
  4. Enregistrez le fichier /tmp/instance.json modifié.

  5. Après avoir modifié la stratégie d'autorisation enregistrée pour accorder et révoquer les rôles souhaités, mettez à jour la stratégie d'autorisation de votre instance en exécutant la commande suivante :

    gcloud beta source-manager instances set-iam-policy INSTANCE_ID  \
        --project=PROJECT_ID \
        --region=REGION \
        /tmp/instance.json
    

    Remplacez les éléments suivants :

    • INSTANCE_ID par l'ID de l'instance.
    • PROJECT_ID par l'ID ou le numéro du projet de l'instance.
    • REGION avec la région dans laquelle se trouve l'instance. Consultez la documentation sur les emplacements pour connaître les régions Secure Source Manager disponibles.

Étapes suivantes