Ce document explique comment s'authentifier auprès des sources en amont de vos dépôts distants Artifact Registry.
Dans ce document, nous partons du principe que vous avez déjà créé un dépôt distant Artifact Registry et que vous disposez d'un compte auprès de la source externe.
Pour en savoir plus sur les dépôts distants, consultez la page Présentation des dépôts distants.
Rôles requis
Pour obtenir les autorisations nécessaires pour configurer l'authentification auprès des sources en amont pour les dépôts distants, demandez à votre administrateur de vous attribuer 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 la section Gérer les accès.
Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Sources en amont prédéfinies
Pour configurer l'authentification pour des sources en amont prédéfinies, consultez les instructions correspondantes pour chaque flux en amont:
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.
Enregistrer 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 de secret.
Autoriser le compte de service Artifact Registry à accéder à votre secret
L'agent de service Artifact Registry agit au nom d'Artifact Registry lors des interactions avec les services Google Cloud. Pour autoriser l'agent de service à utiliser des 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.iam.gserviceaccount.com
PROJECT-NUMBER est le numéro du projet Google Cloud sur lequel Artifact Registry est exécuté.
Pour attribuer à l'agent de service Artifact Registry le rôle Accesseur de secrets Secret Manager:
Console
-
Accédez à la page Secret Manager dans la console Google Cloud.
-
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.
C#
Pour vous authentifier auprès d'Artifact Registry, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour vous authentifier auprès d'Artifact Registry, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour vous authentifier auprès d'Artifact Registry, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour vous authentifier auprès d'Artifact Registry, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour vous authentifier auprès d'Artifact Registry, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour vous authentifier auprès d'Artifact Registry, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour vous authentifier auprès d'Artifact Registry, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
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'octroi ou la révocation de l'accès aux secrets, consultez la page Gérer l'accès aux secrets.
Ajouter des identifiants en amont à votre dépôt distant
Pour mettre à jour votre dépôt distant avec vos identifiants de la source en amont, procédez comme suit:
Console
Ouvrez la page Dépôts de la console Google Cloud.
Dans la liste des dépôts, sélectionnez le dépôt et cliquez sur Modifier le dépôt.
Dans la section Mode d'authentification du dépôt distant, mettez à jour ou ajoutez le nom d'utilisateur de la source en amont et le secret contenant votre jeton d'accès.
gcloud CLI
Pour mettre à jour votre dépôt distant avec vos identifiants de la 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
par le nom de votre dépôt distant Artifact Registry.PROJECT_ID
par l'ID de votre projet Google CloudLOCATION
par l'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
par votre nom d'utilisateur de la source en amont.SECRET_PROJECT_ID
par l'ID du projet dans lequel vous avez créé votre secret.SECRET_ID
par le nom que vous avez donné à votre secret.SECRET_VERSION
par la 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 distant enverra une requête d'artefact à partir de la source en amont.
Étapes suivantes
- Créez des règles de nettoyage pour supprimer les artefacts inutiles.