Autenticare i repository del connettore con le origini upstream

La configurazione dell'autenticazione upstream per i repository del connettore Artifact Registry ti consente di connetterti a registri esterni privati utilizzando le credenziali del tuo account. Puoi archiviare un token di accesso personale in Secret Manager e collegarlo al repository del connettore per autenticare le richieste alle origini upstream.

Per completare questi passaggi, devi disporre di un repository del connettore Artifact Registry e di un account con l'origine esterna. Per saperne di più sui repository dei connettori, consulta la Panoramica dei repository dei connettori.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per configurare l'autenticazione alle origini upstream per i repository dei connettori, chiedi all'amministratore di concederti i seguenti ruoli IAM sul progetto:

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Origini upstream definite dall'utente

Per configurare l'autenticazione per le origini upstream definite dall'utente, completa i seguenti passaggi.

Salva il token di accesso in un secret

  1. Crea un token di accesso nel registro privato.
  2. Crea un secret in Secret Manager.
  3. Salva il tuo token di accesso personale come versione del secret.

Concedi al account di servizio Artifact Registry l'accesso al tuo secret

Il service agent Artifact Registry agisce per conto di Artifact Registry quando interagisce con i servizi Cloud de Confiance . Per consentire all'agente di servizio di utilizzare i secret memorizzati in Secret Manager, devi concedere all'agente di servizio l'autorizzazione per visualizzare la versione del secret.

L'identificatore del service agent è:

service-PROJECT-NUMBER@gcp-sa-artifactregistry.s3ns-system.iam.gserviceaccount.com

PROJECT-NUMBER è il numero di progetto del progetto Cloud de Confiance in cui è in esecuzione Artifact Registry.

Per concedere all'agente di servizio Artifact Registry il ruolo Secret Manager Secret Accessor:

Console

  1. Vai alla pagina Secret Manager nella console Cloud de Confiance .

    Vai alla pagina Secret Manager

  2. Nella pagina Secret Manager, fai clic sulla casella di controllo accanto al nome del secret.

  3. Se non è già aperto, fai clic su Mostra riquadro informazioni per aprire il riquadro.

  4. Nel riquadro informazioni, fai clic su Aggiungi entità.

  5. Nell'area di testo Nuove entità, inserisci gli indirizzi email dei membri da aggiungere.

  6. Nel menu a discesa Seleziona un ruolo, scegli Secret Manager e poi Secret Manager Secret Accessor.

gcloud

$ gcloud secrets add-iam-policy-binding secret-id \
    --member="member" \
    --role="roles/secretmanager.secretAccessor"

dove member è un membro IAM, ad esempio un utente, un gruppo o un account di servizio.

API

Nota: a differenza degli altri esempi, questo sostituisce l'intera policy 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 saperne di più sulla concessione o la revoca dell'accesso ai secret, consulta Gestire l'accesso ai secret.

Aggiungere le credenziali upstream al repository del connettore

Per aggiornare il repository del connettore con le credenziali dell'origine upstream:

Console

  1. Apri la pagina Repository nella console Cloud de Confiance .

    Apri la pagina Repositori

  2. Nell'elenco dei repository, seleziona il repository e fai clic su Modifica repository.

  3. Nella sezione Modalità di autenticazione del repository del connettore, aggiorna o aggiungi il nome utente dell'origine upstream e il secret contenente il token di accesso.

gcloud CLI

Per aggiornare il repository del connettore con le credenziali dell'origine upstream, esegui questo 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: il nome del repository del connettore Artifact Registry.
  • PROJECT_ID: il tuo ID progetto Cloud de Confiance .
  • LOCATION: la posizione regionale o multiregionale del repository. Puoi omettere questo flag se imposti un valore predefinito. Per visualizzare un elenco delle località supportate, esegui il comando gcloud artifacts locations list.
  • USERNAME: il nome utente della sorgente upstream.
  • SECRET_PROJECT_ID: l'ID progetto del progetto in cui hai creato il secret.
  • SECRET_ID: il nome che hai dato al secret.
  • SECRET_VERSION: la versione del secret in cui hai salvato il token di accesso.

Le tue credenziali vengono utilizzate la volta successiva che il repository del connettore invia una richiesta di un artefatto dall'origine upstream.