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_IDpar l'ID de l'instance.PROJECT_IDpar l'ID ou le numéro du projet de l'instance.REGIONavec 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_IDENTIFIERavec 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
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.
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.jsonRemplacez les éléments suivants :
INSTANCE_IDpar l'ID de l'instance.PROJECT_IDpar l'ID ou le numéro du projet de l'instance.REGIONavec 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=" }Modifiez le fichier JSON
/tmp/instance.jsonpour 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.instanceRepositoryCreatorau groupeyour-group@gmail.com, et accorde le rôleroles/securesourcemanager.instanceOwneraux utilisateurstrusted-user1@gmail.comettrusted-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 :
ETAGavec la valeuretagde la réponsegetIamPolicy. Dans ce cas, il s'agit deBwUjHYKJUiQ=.GROUP_EMAILpar l'adresse e-mail de votre groupe Google.USER_EMAIL_1etUSER_EMAIL_2avec les adresses e-mail des utilisateurs auxquels vous souhaitez attribuer le rôle de propriétaire de l'instance.
- Rôle "Accesseur d'instance" (
Enregistrez le fichier
/tmp/instance.jsonmodifié.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.jsonRemplacez les éléments suivants :
INSTANCE_IDpar l'ID de l'instance.PROJECT_IDpar l'ID ou le numéro du projet de l'instance.REGIONavec 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
- Accordez aux utilisateurs l'accès au dépôt.
- Apprenez-en plus sur le contrôle des accès avec IAM.
- Créez un dépôt.
- Attribuer et révoquer des rôles IAM