Questo documento descrive come eseguire l'autenticazione su sorgenti upstream per i tuoi Repository remoti di Artifact Registry.
Questo documento presuppone che tu abbia già creato un Artifact Registry repository remoto e avere un account con il repository sorgente.
Per ulteriori informazioni sui repository remoti, consulta Panoramica dei repository remoti.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per configurare l'autenticazione nelle origini upstream dei repository remoti, chiedi all'amministratore di concederti seguenti ruoli IAM sul progetto:
-
Amministratore Artifact Registry (
roles/artifactregistry.admin
) -
Amministratore Secret Manager (
roles/secretmanager.admin
)
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite la ruoli o altri ruoli predefiniti ruoli.
Origini upstream preimpostate
Per configurare l'autenticazione per le origini upstream preimpostate, consulta le guida per ogni upstream che segue:
Origini upstream definite dall'utente
Per configurare l'autenticazione per le origini upstream definite dall'utente, completa la i seguenti passaggi.
Salva il token di accesso in un secret
- Crea un token di accesso nel registro privato.
- Crea un secret in Secret Manager.
- Salva il tuo token di accesso personale come versione segreta.
Concedi all'account di servizio Artifact Registry l'accesso al tuo secret
L'agente di servizio Artifact Registry agisce per conto di Artifact Registry durante l'interazione con i servizi Google Cloud. Consentire all'agente di servizio di utilizzare i secret archiviati in Secret Manager, devi concedere l'autorizzazione all'agente di servizio per visualizzare la versione del secret.
L'identificatore dell'agente di servizio è:
service-PROJECT-NUMBER@gcp-sa-artifactregistry.iam.gserviceaccount.com
PROJECT-NUMBER è il numero progetto del progetto Google Cloud in cui è in esecuzione Artifact Registry.
Per concedere all'agente di servizio Artifact Registry la funzione di accesso ai secret di Secret Manager ruolo:
Console
-
Vai alla pagina Secret Manager nella console Google Cloud.
-
Nella pagina Secret Manager, fai clic sulla casella di controllo accanto al nome del secret.
-
Se non è già aperto, fai clic su Mostra riquadro informazioni per aprirlo.
-
Nel riquadro delle informazioni, fai clic su Aggiungi entità.
-
Nell'area di testo Nuove entità, inserisci gli indirizzi email dei membri da aggiungere.
-
Nel menu a discesa Seleziona un ruolo, scegli Secret Manager e poi Funzione di accesso ai secret di Secret Manager.
gcloud
$ gcloud secrets add-iam-policy-binding secret-id \
--member="member" \
--role="roles/secretmanager.secretAccessor"
Dove member è un membro IAM, ad esempio un account utente, gruppo o di servizio.
C#
Per eseguire l'autenticazione in Artifact Registry, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per eseguire l'autenticazione in Artifact Registry, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per eseguire l'autenticazione in Artifact Registry, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per eseguire l'autenticazione in Artifact Registry, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per eseguire l'autenticazione in Artifact Registry, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per eseguire l'autenticazione in Artifact Registry, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per eseguire l'autenticazione in Artifact Registry, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
API
Nota: a differenza degli altri esempi, questo sostituisce l'intero criterio 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\"}]}}"
Per maggiori informazioni sulla concessione o sulla revoca dell'accesso ai secret, consulta Gestire l'accesso ai secret.
Aggiungi credenziali upstream al repository remoto
Per aggiornare il repository remoto con le credenziali di origine upstream:
Console
Apri la pagina Repository nella console Google Cloud.
Nell'elenco dei repository, selezionalo e fai clic su Modifica repository:
Nella sezione Modalità di autenticazione del repository remoto, aggiorna o aggiungi il nome utente dell'origine upstream e il secret contenente il token di accesso.
Interfaccia a riga di comando gcloud
Per aggiornare il repository remoto con le credenziali di origine upstream, esegui il seguente comando:
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
Sostituisci quanto segue:
REPOSITORY
con il nome del tuo telecomando Artifact Registry repository Git.PROJECT_ID
con il tuo ID progetto Google Cloud.LOCATION
con una o più regioni location del repository. Puoi ometti questo flag se imposti un valore default. Per visualizzare un elenco delle località supportate, esegui il comandogcloud artifacts locations list
.USERNAME
con il nome utente dell'origine upstream.SECRET_PROJECT_ID
con l'ID progetto del progetto in cui hai creato il secret.SECRET_ID
con il nome che hai fornito al tuo secret.SECRET_VERSION
con la versione del secret che hai salvato il tuo token di accesso.
Le tue credenziali verranno utilizzate la prossima volta che il repository remoto invia una richiesta per un artefatto dall'origine upstream.
Passaggi successivi
- Crea criteri di pulizia per eliminare gli elementi non necessari.