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
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.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=" }
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 groupeyour-group@gmail.com
, et accorde le rôleroles/securesourcemanager.instanceOwner
aux utilisateurstrusted-user1@gmail.com
ettrusted-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 valeuretag
de la réponsegetIamPolicy
. Dans ce cas, il s'agit deBwUjHYKJUiQ=
.GROUP_EMAIL
par l'adresse e-mail de votre groupe Google.USER_EMAIL_1
etUSER_EMAIL_2
avec 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.json
modifié.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
- 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