La configuration de l'authentification en amont pour les dépôts de connecteurs Artifact Registry vous permet de vous connecter à des registres externes privés à l'aide des identifiants de votre compte. Vous pouvez stocker un jeton d'accès personnel dans Secret Manager et l'associer à votre dépôt de connecteurs pour authentifier les requêtes envoyées aux sources en amont.
Pour effectuer ces étapes, vous avez besoin d'un dépôt de connecteurs Artifact Registry et d'un compte auprès de la source externe. Pour en savoir plus sur les dépôts de connecteurs, consultez Présentation des dépôts de connecteurs.
Rôles requis
Pour obtenir les autorisations nécessaires pour configurer l'authentification auprès des sources en amont pour les dépôts de connecteurs, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet :
- Administrateur Artifact Registry (
roles/artifactregistry.admin) - Administrateur Secret Manager (
roles/secretmanager.admin)
Pour en savoir plus sur l'attribution de rôles, consultez 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.
Sources en amont définies par l'utilisateur
Pour configurer l'authentification pour les sources en amont définies par l'utilisateur, procédez comme suit.
Enregistrez votre jeton d'accès dans un secret.
- Créez un jeton d'accès dans le registre privé.
- Créez un secret dans Secret Manager.
- Enregistrez votre jeton d'accès personnel en tant que version secrète.
Accorder au compte de service Artifact Registry l'accès à votre secret
L'agent de service Artifact Registry agit au nom d'Artifact Registry lorsqu'il interagit avec les services Cloud de Confiance . Pour autoriser l'agent de service à utiliser les secrets stockés dans Secret Manager, vous devez lui accorder l'autorisation d'afficher la version de votre secret.
L'identifiant de l'agent de service est le suivant :
service-PROJECT-NUMBER@gcp-sa-artifactregistry.s3ns-system.iam.gserviceaccount.com
PROJECT-NUMBER correspond au numéro du projet Cloud de Confiance dans lequel Artifact Registry est exécuté.
Pour attribuer le rôle Accesseur de secrets Secret Manager à l'agent de service Artifact Registry :
Console
-
Accédez à la page Secret Manager dans la console Cloud de Confiance .
-
Sur la page Secret Manager, cochez la case située à côté du nom du secret.
-
S'il n'est pas déjà ouvert, cliquez sur Afficher le panneau d'informations pour ouvrir celui-ci.
-
Dans le panneau d'informations, cliquez sur Ajouter un compte principal.
-
Dans la zone de texte Nouveaux comptes principaux, saisissez la ou les adresses e-mail des membres à ajouter.
-
Dans la liste déroulante Sélectionner un rôle, sélectionnez Gestionnaire de secrets, puis Accesseur de secrets Secret Manager.
gcloud
$ gcloud secrets add-iam-policy-binding secret-id \
--member="member" \
--role="roles/secretmanager.secretAccessor"
Où member correspond à un membre IAM, tel qu'un utilisateur, un groupe ou un compte de service.
API
Remarque : Contrairement aux autres exemples, ceci remplace l'ensemble de la stratégie IAM.
$ curl "https://secretmanager.googleapis.com/v1/projects/project-id/secrets/secret-id:setIamPolicy" \
--request "POST" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json" \
--data "{\"policy\": {\"bindings\": [{\"members\": [\"member\"], \"role\": \"roles/secretmanager.secretAccessor\"}]}}"
Pour en savoir plus sur l'attribution ou la révocation de l'accès aux secrets, consultez Gérer l'accès aux secrets.
Ajouter des identifiants en amont à votre dépôt de connecteurs
Pour mettre à jour votre dépôt de connecteurs avec les identifiants de votre source en amont :
Console
Ouvrez la page Dépôts dans la console Cloud de Confiance .
Dans la liste des dépôts, sélectionnez le dépôt, puis cliquez sur Modifier le dépôt.
Dans la section Mode d'authentification du dépôt de connecteurs, mettez à jour ou ajoutez le nom d'utilisateur de votre source en amont et le secret contenant votre jeton d'accès.
gcloud CLI
Pour mettre à jour votre dépôt de connecteurs avec les identifiants de votre source en amont, exécutez la commande suivante :
gcloud artifacts repositories update REPOSITORY \
--project=PROJECT_ID \
--location=LOCATION \
--remote-username=USERNAME \
--remote-password-secret-version=projects/SECRET_PROJECT_ID/secrets/SECRET_ID/versions/SECRET_VERSION
Remplacez les éléments suivants :
REPOSITORY: nom de votre dépôt de connecteurs Artifact Registry.PROJECT_ID: ID de votre projet Cloud de Confiance .LOCATION: emplacement régional ou multirégional du dépôt. Vous pouvez ignorer cette option si vous définissez une valeur par défaut. Pour afficher la liste des emplacements acceptés, exécutez la commandegcloud artifacts locations list.USERNAME: nom d'utilisateur de votre source en amont.SECRET_PROJECT_ID: ID du projet dans lequel vous avez créé votre secret.SECRET_ID: nom que vous avez attribué à votre secret.SECRET_VERSION: version du secret dans laquelle vous avez enregistré votre jeton d'accès.
Vos identifiants seront utilisés la prochaine fois que le dépôt de connecteurs enverra une demande d'artefact à la source en amont.