Creare repository remoti

Questa pagina descrive come creare repository remoti Artifact Registry.

I repository remoti archiviano gli artefatti dalle seguenti origini upstream:

  • Repository Artifact Registry standard.
  • Fonti esterne come le seguenti:
    • CentOS
    • Debian
    • Docker Hub
    • GitHub Container Registry (ghcr.io)
    • Maven Central
    • Python Package Index (PyPI)

Un repository remoto funge da proxy per l'origine upstream, in modo da avere un maggiore controllo sulle dipendenze. La prima volta che richiedi una versione di un pacchetto, Artifact Registry scarica e memorizza nella cache il pacchetto nel repository remoto. La volta successiva che richiedi la stessa versione del pacchetto, Artifact Registry pubblica la copia memorizzata nella cache.

Se richiedi un artefatto da un'origine upstream che non esiste o non contiene la versione specificata, la richiesta non andrà a buon fine.

Le altre modalità di repository sono:

  • Standard: la modalità predefinita del repository. Carichi o pubblichi artefatti come pacchetti privati direttamente nei repository standard. Sebbene sia possibile scaricare direttamente dai singoli repository standard, l'accesso a gruppi di repository con un repository virtuale semplifica la configurazione degli strumenti.
  • Virtuale: un repository che funge da unico punto di accesso per più repository upstream, inclusi repository remoti e standard.

Per ulteriori dettagli sul funzionamento dei repository remoti, consulta la Panoramica dei repository remoti.

Prima di iniziare

  1. Abilita Artifact Registry, inclusa l'abilitazione dell'API Artifact Registry e l'installazione di Google Cloud CLI.
  2. (Facoltativo) Configura le impostazioni predefinite per i comandi gcloud CLI.
  3. Se hai bisogno di chiavi di crittografia gestite dal cliente (CMEK) per criptare i contenuti del repository, crea e attiva una chiave in Cloud KMS per il repository.
  4. Se vuoi eseguire l'autenticazione a un repository upstream, abilita l'API Secret Manager.

    gcloud services enable secretmanager.googleapis.com \
        --project=PROJECT_ID
    
  5. Se Artifact Registry si trova in un perimetro di servizio Controlli di servizio VPC, abilita l'API Access Context Manager se non è già abilitata.

    gcloud services enable accesscontextmanager.googleapis.com \
        --project=PROJECT_ID
    
  6. Se vuoi impostare un repository Artifact Registry come upstream e si trova in un progetto diverso dal repository remoto, devi concedere all'account di servizio per il progetto del repository remoto l'accesso al progetto del repository upstream prima di creare il repository remoto.

    Concedi il ruolo Agente di servizio

    I repository remoti utilizzano l'agente di servizio Artifact Registry per l'autenticazione nei repository upstream di Artifact Registry. Devi concedere all'agente di servizio del repository remoto l'accesso in lettura al repository upstream.

    Per concedere all'agente di servizio del repository remoto il ruolo Agente di servizio Artifact Registry sul repository upstream, esegui questo comando:

    
      gcloud projects add-iam-policy-binding UPSTREAM_REPOSITORY \
          --member serviceAccount:service-REMOTE_PROJECT_NUMBER@gcp-sa-artifactregistry.iam.gserviceaccount.com \
          --location=REGION \
          --project=UPSTREAM_PROJECT_ID \
          --role roles/artifactregistry.serviceAgent
      

    Sostituisci quanto segue:

    • UPSTREAM_REPOSITORY è l'ID del repository upstream. I repository upstream di Artifact Registry devono essere repository in modalità standard.
    • REMOTE_PROJECT_NUMBER è il numero di progetto del progetto Google Cloud per il repository remoto.
    • REMOTE_PROJECT_ID è l'ID del progetto Google Cloud per il tuo repository remoto.
    • REGION è la regione in cui vuoi creare il repository remoto.
    • UPSTREAM_PROJECT_ID è l'ID del progetto Google Cloud con il repository upstream.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per gestire i repository, chiedi all'amministratore di concederti i seguenti ruoli IAM:

  • Crea repository remoti e concedi l'accesso a singoli repository: Artifact Registry Admin (roles/artifactregistry.admin) sul progetto
  • Salva le credenziali del repository upstream in una versione del secret: Amministratore Secret Manager (roles/secretmanager.admin) sul progetto
  • Concedi l'accesso alle origini upstream al di fuori di un perimetro di servizio Controlli di servizio VPC: Editor Access Context Manager (roles/accesscontextmanager.policyEditor) sul progetto, sulla cartella o sull'organizzazione in cui viene applicato il criterio di accesso

Per ulteriori informazioni 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.

Crea un repository remoto

Quando crei un repository remoto, devi configurare le seguenti impostazioni, che non possono essere modificate dopo la creazione del repository:

  • Formato dell'elemento.
  • La modalità del repository è impostata su remoto.
  • Origine upstream del repository remoto.
  • Posizione del repository.
  • Crittografia con Google-owned and Google-managed encryption keys o chiavi di crittografia gestite dal cliente. Artifact Registry utilizza Google-owned and Google-managed encryption keys per impostazione predefinita.

Artifact Registry applica i vincoli dei criteri dell'organizzazione che richiedono CMEK per criptare le risorse o limitano le chiavi Cloud KMS che possono essere utilizzate per la protezione CMEK.

console

  1. Apri la pagina Repository nella console Google Cloud .

    Apri la pagina Repositori

  2. Fai clic su Crea repository.

  3. Specifica il nome del repository. Per ogni posizione del repository in un progetto, i nomi dei repository devono essere univoci.

  4. Nella sezione Formato, seleziona il formato del repository.

  5. Nella sezione Modalità repository, seleziona Remoto.

  6. Nella sezione Origine repository remoto, seleziona uno dei seguenti modi per inserire l'URL del repository upstream:

    • Seleziona l'origine preset upstream elencata per il tuo tipo di formato.
    • Seleziona Personalizzato per specificare l'URL completo di un repository pubblico o privato per i formati supportati.
    • Seleziona Repository Artifact Registry per selezionare un repository Artifact Registry standard.
  7. Se hai selezionato Personalizzato, inserisci l'URL completo del repository nel campo Repository personalizzato. L'URL non può essere modificato dopo la creazione del repository.

    Per esempi di alcuni URL upstream comuni, consulta la sezione Upstream personalizzati.

  8. Se hai selezionato Repository Artifact Registry:

    1. Nel campo Repository Artifact Registry, inserisci il nome completo del repository che vuoi utilizzare come upstream oppure fai clic su Sfoglia per visualizzare un elenco dei repository a cui hai accesso. Vengono elencati solo i repository con lo stesso formato del repository remoto.
    2. Fai clic sul nome del repository che vuoi utilizzare come upstream.
    3. Fai clic su Seleziona.
  9. Se hai selezionato uno degli upstream preimpostati o hai inserito un URL completo utilizzando il pulsante Personalizzato, nella sezione Modalità di autenticazione del repository remoto scegli una delle seguenti opzioni:

    • Autenticato: per inserire il nome utente e il segreto per l'autenticazione nel repository upstream.
    • Non autenticato: per ignorare l'autenticazione nel repository upstream.
  10. Se hai selezionato Autenticato, inserisci quanto segue:

    • Nel campo Nome utente, inserisci il tuo nome utente per il repository upstream.
    • Nel campo Secret, inserisci la versione del secret in cui hai salvato la password per il repository upstream.

    Puoi modificare questi valori dopo aver creato il repository. Per saperne di più sull'autenticazione negli upstream del repository remoto, consulta Configura l'autenticazione negli upstream del repository remoto.

  11. Nella sezione Tipo di località, scegli la località per il repository:

    1. Scegli il tipo di località: Regione o Più regioni. L'elenco delle posizioni cambia in base alla selezione.

    2. Nell'elenco Regione o Multi-regione, seleziona una località.

    Per informazioni sui tipi di località e sulle località supportate, vedi Località dei repository

  12. Aggiungi una descrizione per il repository. Le descrizioni aiutano a identificare lo scopo del repository e il tipo di artefatti che contiene.

    Non includere dati sensibili, poiché le descrizioni dei repository non sono criptate.

  13. Se vuoi utilizzare le etichette per organizzare i repository, fai clic su Aggiungi etichetta e inserisci la coppia chiave-valore per l'etichetta. Puoi aggiungere, modificare o rimuovere le etichette dopo aver creato il repository.

  14. Nella sezione Crittografia, scegli il meccanismo di crittografia per il repository.

    • Google-managed encryption key - Cripta i contenuti del repository con un Google-owned and Google-managed encryption key.
    • Chiave gestita dal cliente: cripta i contenuti del repository con una chiave che controlli tramite Cloud Key Management Service. Per istruzioni sulla configurazione delle chiavi, consulta Configurazione di CMEK per i repository.
  15. Se vuoi utilizzare le norme di pulizia per eliminare gli artefatti inutilizzati, nella sezione Norme di pulizia:

    1. Seleziona Prova generale per testare le norme prima di applicarle.
    2. Fai clic su Aggiungi norma per aggiungere una norma di conservazione o eliminazione al repository.
    3. Assegna alla norma di pulizia un nome descrittivo nel campo Nome.
    4. Nella sezione Tipo di norma, seleziona una delle seguenti opzioni:

      • Eliminazione condizionale: elimina gli artefatti in base alle condizioni che definisci.
      • Conservazione condizionale: conserva gli artefatti in base alle condizioni che definisci.
      • Conserva le versioni più recenti: conserva un numero prestabilito di versioni più recenti per pacchetto.

      Per maggiori dettagli sulle policy di pulizia, vedi Configurare le policy di pulizia.

  16. Nella sezione Artifact Analysis, scegli le impostazioni di analisi delle vulnerabilità:

    • Attivato: consente la scansione in questo repository. L'API Container Scanning deve essere abilitata nel tuo progetto.

      Quando abiliti l'API Container Scanning, la fatturazione inizia immediatamente. Dopo aver abilitato l'API Container Scanning in un progetto, l'analisi delle vulnerabilità viene abilitata per tutti i repository nuovi ed esistenti. Quando esegui il push di un'immagine in Artifact Registry, questa viene automaticamente analizzata da Artifact Analysis.

    • Disabilitato: impedisce la scansione in questo repository. Se l'API Container Scanning è abilitata nel tuo progetto, la scansione continua su altri repository; questo repository verrà escluso.

      Per ulteriori informazioni sulle opzioni di analisi delle vulnerabilità, vedi Attivare e disattivare la scansione automatica.

  17. Fai clic su Crea.

Artifact Registry crea il repository e lo aggiunge all'elenco dei repository.

Interfaccia a riga di comando gcloud

Per creare un repository, esegui il comando per il formato del repository appropriato:

Docker

gcloud artifacts repositories create REMOTE-REPOSITORY-NAME \
    --project=PROJECT_ID \
    --repository-format=docker \
    --location=LOCATION \
    --description="DESCRIPTION" \
    --mode=remote-repository \
    --remote-repo-config-desc="REMOTE-REPOSITORY-DESCRIPTION" \
    --disable-vulnerability-scanning \
    --remote-docker-repo=UPSTREAM

Flag facoltativi per l'autenticazione nel repository upstream:

  • --remote-username=USERNAME
  • --remote-password-secret-version=SECRET_VERSION

Sostituisci quanto segue:

  • REMOTE-REPOSITORY-NAME con il nome del repository. Per ogni posizione del repository in un progetto, i nomi dei repository devono essere univoci.
  • PROJECT_ID con l'ID progetto. Se questo flag viene omesso, viene utilizzato il progetto corrente o predefinito.
  • LOCATION con la località regionale o multiregionale per il repository. Puoi omettere questo flag se imposti un valore predefinito. Per visualizzare un elenco delle località supportate, esegui il comando gcloud artifacts locations list.
  • DESCRIPTION con una descrizione facoltativa del repository. Non includere dati sensibili, poiché le descrizioni dei repository non sono criptate.
  • REMOTE-REPOSITORY-DESCRIPTION con una descrizione della configurazione del repository esterno per questo repository remoto.
  • USERNAME facoltativamente, se utilizzi l'autenticazione, con il tuo nome utente per l'autenticazione al repository upstream.
  • SECRET_VERSION facoltativamente, se utilizzi l'autenticazione, con la versione del secret contenente la password del repository upstream.
  • UPSTREAM con il nome upstream preimpostato, il percorso del repository Artifact Registry o l'URL definito dall'utente del repository upstream.

    Per i repository upstream di Artifact Registry, formatta il percorso del repository in modo simile al seguente: projects/UPSTREAM_PROJECT_ID/locations/REGION/repositories/UPSTREAM_REPOSITORY.

    Per informazioni sugli upstream preimpostati disponibili e sugli upstream definiti dall'utente supportati, consulta la sezione Formati supportati.

  • --disable-vulnerability-scanning: è un flag facoltativo che configura il repository per disattivare l'analisi automatica delle vulnerabilità.

  • --allow-vulnerability-scanning: è un flag facoltativo che configura il repository per consentire l'analisi automatica delle vulnerabilità. Per ulteriori informazioni, vedi Attivare o disattivare la scansione automatica.

Ad esempio, il seguente comando crea un repository remoto denominato my-repo nella regione us-east1 nel progetto Google Cloud my-project e può autenticarsi nel repository upstream utilizzando il nome utente my-username e la versione del secret projects/my-project/secrets/my-secret/versions/1.

gcloud artifacts repositories create my-repo \
    --project=my-project \
    --repository-format=docker \
    --location=us-east1 \
    --description="Remote Docker repository" \
    --mode=remote-repository \
    --remote-repo-config-desc="Docker Hub" \
    --remote-username=my-username \
    --remote-password-secret-version=projects/my-project/secrets/my-secret/versions/1 \
    --remote-docker-repo=DOCKER-HUB

Per ulteriori informazioni sull'autenticazione nei repository upstream di Docker Hub, consulta Configurare l'autenticazione del repository remoto in Docker Hub.

Maven

gcloud artifacts repositories create REMOTE-REPOSITORY-NAME \
    --project=PROJECT_ID \
    --repository-format=maven \
    --location=LOCATION \
    --description="DESCRIPTION" \
    --mode=remote-repository \
    --remote-repo-config-desc="REMOTE-REPOSITORY-DESCRIPTION" \
    --disable-vulnerability-scanning \
    --remote-mvn-repo=UPSTREAM

Flag facoltativi per l'autenticazione nel repository upstream:

  • --remote-username=USERNAME
  • --remote-password-secret-version=SECRET_VERSION

Sostituisci quanto segue:

  • REMOTE-REPOSITORY-NAME con il nome del repository. Per ogni posizione del repository in un progetto, i nomi dei repository devono essere univoci.
  • PROJECT_ID con l'ID progetto. Se questo flag viene omesso, viene utilizzato il progetto corrente o predefinito.
  • LOCATION con la località regionale o multiregionale per il repository. Puoi omettere questo flag se imposti un valore predefinito. Per visualizzare un elenco delle località supportate, esegui il comando gcloud artifacts locations list.
  • DESCRIPTION con una descrizione facoltativa del repository. Non includere dati sensibili, poiché le descrizioni dei repository non sono criptate.
  • REMOTE-REPOSITORY-DESCRIPTION con una descrizione della configurazione del repository esterno per questo repository remoto.
  • USERNAME facoltativamente, se utilizzi l'autenticazione, con il tuo nome utente per l'autenticazione al repository upstream.
  • SECRET_VERSION facoltativamente, se utilizzi l'autenticazione, con la versione del secret contenente la password del repository upstream.
  • UPSTREAM con il nome upstream preimpostato, il percorso del repository Artifact Registry o l'URL definito dall'utente del repository upstream.

    Per i repository upstream di Artifact Registry, formatta il percorso del repository in modo simile al seguente: projects/UPSTREAM_PROJECT_ID/locations/REGION/repositories/UPSTREAM_REPOSITORY.

    Per informazioni sugli upstream preimpostati disponibili e sugli upstream definiti dall'utente supportati, consulta la sezione Formati supportati.

  • --disable-vulnerability-scanning: è un flag facoltativo che configura il repository per disattivare l'analisi automatica delle vulnerabilità.

  • --allow-vulnerability-scanning: è un flag facoltativo che configura il repository per consentire l'analisi automatica delle vulnerabilità. Per ulteriori informazioni, vedi Attivare o disattivare la scansione automatica.

Ad esempio, il seguente comando crea un repository remoto denominato my-repo nella regione us-east1 nel progetto Google Cloud my-project e può autenticarsi nel repository upstream utilizzando il nome utente my-username e la versione del secret projects/my-project/secrets/my-secret/versions/1.

gcloud artifacts repositories create my-repo \
    --project=my-project \
    --repository-format=maven \
    --location=us-east1 \
    --description="Remote Maven repository" \
    --mode=remote-repository \
    --remote-repo-config-desc="Maven Central" \
    --remote-username=my-username \
    --remote-password-secret-version=projects/my-project/secrets/my-secret/versions/1 \
    --remote-mvn-repo=MAVEN-CENTRAL

npm

gcloud artifacts repositories create REMOTE-REPOSITORY-NAME \
    --project=PROJECT_ID \
    --repository-format=npm \
    --location=LOCATION \
    --description="DESCRIPTION" \
    --mode=remote-repository \
    --remote-repo-config-desc="REMOTE-REPOSITORY-DESCRIPTION" \
    --disable-vulnerability-scanning \
    --remote-npm-repo=UPSTREAM

Flag facoltativi per l'autenticazione nel repository upstream:

  • --remote-username=USERNAME
  • --remote-password-secret-version=SECRET_VERSION

Sostituisci quanto segue:

  • REMOTE-REPOSITORY-NAME con il nome del repository. Per ogni posizione del repository in un progetto, i nomi dei repository devono essere univoci.
  • PROJECT_ID con l'ID progetto. Se questo flag viene omesso, viene utilizzato il progetto corrente o predefinito.
  • LOCATION con la località regionale o multiregionale per il repository. Puoi omettere questo flag se imposti un valore predefinito. Per visualizzare un elenco delle località supportate, esegui il comando gcloud artifacts locations list.
  • DESCRIPTION con una descrizione facoltativa del repository. Non includere dati sensibili, poiché le descrizioni dei repository non sono criptate.
  • REMOTE-REPOSITORY-DESCRIPTION con una descrizione della configurazione del repository esterno per questo repository remoto.
  • USERNAME facoltativamente, se utilizzi l'autenticazione, con il tuo nome utente per l'autenticazione al repository upstream.
  • SECRET_VERSION facoltativamente, se utilizzi l'autenticazione, con la versione del secret contenente la password del repository upstream.
  • UPSTREAM con il nome upstream preimpostato, il percorso del repository Artifact Registry o l'URL definito dall'utente del repository upstream.

    Per i repository upstream di Artifact Registry, formatta il percorso del repository in modo simile al seguente: projects/UPSTREAM_PROJECT_ID/locations/REGION/repositories/UPSTREAM_REPOSITORY.

    Per informazioni sugli upstream preimpostati disponibili e sugli upstream definiti dall'utente supportati, consulta la sezione Formati supportati.

  • --disable-vulnerability-scanning: è un flag facoltativo che configura il repository per disattivare l'analisi automatica delle vulnerabilità.

  • --allow-vulnerability-scanning: è un flag facoltativo che configura il repository per consentire l'analisi automatica delle vulnerabilità. Per ulteriori informazioni, vedi Attivare o disattivare la scansione automatica.

Ad esempio, il seguente comando crea un repository remoto denominato my-repo nella regione us-east1 nel progetto Google Cloud my-project e può autenticarsi nel repository upstream utilizzando il nome utente my-username e la versione del secret projects/my-project/secrets/my-secret/versions/1.

gcloud artifacts repositories create my-repo \
    --project=my-project \
    --repository-format=npm \
    --location=us-east1 \
    --description="Remote npm repository" \
    --mode=remote-repository \
    --remote-repo-config-desc="Public npm registry" \
    --remote-username=my-username \
    --remote-password-secret-version=projects/my-project/secrets/my-secret/versions/1 \
    --remote-npm-repo=NPMJS

Python

gcloud artifacts repositories create REMOTE-REPOSITORY-NAME \
    --project=PROJECT_ID \
    --repository-format=python \
    --location=LOCATION \
    --description="DESCRIPTION" \
    --mode=remote-repository \
    --remote-repo-config-desc="REMOTE-REPOSITORY-DESCRIPTION" \
    --disable-vulnerability-scanning \
    --remote-python-repo=UPSTREAM

Flag facoltativi per l'autenticazione nel repository upstream:

  • --remote-username=USERNAME
  • --remote-password-secret-version=SECRET_VERSION

Sostituisci quanto segue:

  • REMOTE-REPOSITORY-NAME con il nome del repository. Per ogni posizione del repository in un progetto, i nomi dei repository devono essere univoci.
  • PROJECT_ID con l'ID progetto. Se questo flag viene omesso, viene utilizzato il progetto corrente o predefinito.
  • LOCATION con la località regionale o multiregionale per il repository. Puoi omettere questo flag se imposti un valore predefinito. Per visualizzare un elenco delle località supportate, esegui il comando gcloud artifacts locations list.
  • DESCRIPTION con una descrizione facoltativa del repository. Non includere dati sensibili, poiché le descrizioni dei repository non sono criptate.
  • REMOTE-REPOSITORY-DESCRIPTION con una descrizione della configurazione del repository esterno per questo repository remoto.
  • USERNAME facoltativamente, se utilizzi l'autenticazione, con il tuo nome utente per l'autenticazione al repository upstream.
  • SECRET_VERSION facoltativamente, se utilizzi l'autenticazione, con la versione del secret contenente la password del repository upstream.
  • UPSTREAM con il nome upstream preimpostato, il percorso del repository Artifact Registry o l'URL definito dall'utente del repository upstream.

    Per i repository upstream di Artifact Registry, formatta il percorso del repository in modo simile al seguente: projects/UPSTREAM_PROJECT_ID/locations/REGION/repositories/UPSTREAM_REPOSITORY.

    Per informazioni sugli upstream preimpostati disponibili e sugli upstream definiti dall'utente supportati, consulta la sezione Formati supportati.

  • --disable-vulnerability-scanning: è un flag facoltativo che configura il repository per disattivare l'analisi automatica delle vulnerabilità.

  • --allow-vulnerability-scanning: è un flag facoltativo che configura il repository per consentire l'analisi automatica delle vulnerabilità. Per ulteriori informazioni, vedi Attivare o disattivare la scansione automatica.

Ad esempio, il seguente comando crea un repository remoto denominato my-repo nella regione us-east1 nel progetto Google Cloud my-project e può autenticarsi nel repository upstream utilizzando il nome utente my-username e la versione del secret projects/my-project/secrets/my-secret/versions/1.

gcloud artifacts repositories create my-repo \
    --project=my-project \
    --repository-format=python \
    --location=us-east1 \
    --description="Remote Python repository" \
    --mode=remote-repository \
    --remote-repo-config-desc="PyPI" \
    --remote-username=my-username \
    --remote-password-secret-version=projects/my-project/secrets/my-secret/versions/1 \
    --remote-python-repo=PYPI

Apt (anteprima)

gcloud artifacts repositories create REMOTE_REPOSITORY_NAME \
    --project=PROJECT_ID \
    --repository-format=apt \
    --location=LOCATION \
    --description="DESCRIPTION" \
    --mode=remote-repository \
    --remote-repo-config-desc="REMOTE_REPOSITORY_DESCRIPTION" \
    --remote-apt-repo=APT_REPOSITORY_BASE \
    --remote-apt-repo-path="APT_REPOSITORY_PATH"

Sostituisci quanto segue:

  • REMOTE_REPOSITORY_NAME con il nome del repository. Per ogni posizione del repository in un progetto, i nomi dei repository devono essere univoci.
  • PROJECT_ID con l'ID progetto. Se questo flag viene omesso, viene utilizzato il progetto corrente o predefinito.
  • LOCATION con la località regionale o multiregionale per il repository. Puoi omettere questo flag se imposti un valore predefinito. Per visualizzare un elenco delle località supportate, esegui il comando gcloud artifacts locations list.
  • DESCRIPTION con una descrizione facoltativa del repository. Non includere dati sensibili, poiché le descrizioni dei repository non sono crittografate.
  • REMOTE_REPOSITORY_DESCRIPTION con una descrizione facoltativa per la configurazione del repository esterno per questo repository remoto.
  • APT_REPOSITORY_BASE con uno dei nomi di base del repository supportati elencati in OS package supported upstreams per i repository remoti Apt.
  • APT_REPOSITORY_PATH con il resto dell'URL del repository a monte che vuoi memorizzare nella cache del repository remoto dopo la base del repository.

Ad esempio, il seguente comando crea un repository remoto denominato my-repo per memorizzare nella cache il repository Debian Buster nella regione us-east1 nel progetto Google Cloud my-project. L'URL completo del repository upstream è http://deb.debian.org/debian/dists/buster.

gcloud artifacts repositories create my-repo \
    --project=my-project \
    --repository-format=apt \
    --location=us-east1 \
    --description="Apt remote repository" \
    --mode=remote-repository \
    --remote-repo-config-desc="Debian buster distribution" \
    --remote-apt-repo=DEBIAN \
    --remote-apt-repo-path="debian/dists/buster"

Yum (anteprima)

gcloud artifacts repositories create REMOTE_REPOSITORY_NAME \
    --project=PROJECT_ID \
    --repository-format=yum \
    --location=LOCATION \
    --description="DESCRIPTION" \
    --mode=remote-repository \
    --remote-repo-config-desc="REMOTE_REPOSITORY_DESCRIPTION" \
    --remote-yum-repo=YUM_REPOSITORY_BASE \
    --remote-yum-repo-path="YUM_REPOSITORY_PATH"

Sostituisci quanto segue:

  • REMOTE_REPOSITORY_NAME con il nome del repository. Per ogni posizione del repository in un progetto, i nomi dei repository devono essere univoci.
  • PROJECT_ID con l'ID progetto. Se questo flag viene omesso, viene utilizzato il progetto corrente o predefinito.
  • LOCATION con la località regionale o multiregionale per il repository. Puoi omettere questo flag se imposti un valore predefinito. Per visualizzare un elenco delle località supportate, esegui il comando gcloud artifacts locations list.
  • DESCRIPTION con una descrizione facoltativa del repository. Non includere dati sensibili, poiché le descrizioni dei repository non sono crittografate.
  • REMOTE_REPOSITORY_DESCRIPTION con una descrizione facoltativa per la configurazione del repository esterno per questo repository remoto.
  • YUM_REPOSITORY_BASE con uno dei nomi base del repository supportati elencati in OS package supported upstreams per i repository remoti Yum.
  • YUM_REPOSITORY_PATH con il resto dell'URL del repository a monte che vuoi memorizzare nella cache del repository remoto dopo la base del repository.

Ad esempio, il seguente comando crea un repository remoto per i pacchetti Yum denominato my-repo nella regione us-east1 nel progetto Google Cloud my-project per il repository upstream 9-stream/BaseOs/x86_64/os. L'URL completo del repository è https://mirror.stream.centos.org/9-stream/BaseOS/x86_64/os

gcloud artifacts repositories create my-repo \
    --project=my-project \
    --repository-format=yum \
    --location=us-east1 \
    --description="Yum remote repository" \
    --mode=remote-repository \
    --remote-repo-config-desc="CentOS 8 x86" \
    --remote-yum-repo=CENTOS_STREAM \
    --remote-yum-repo-path="9-stream/BaseOs/x86_64/os"

Vai

I repository remoti Go di Artifact Registry supportano solo https://proxy.golang pubblici upstream.

gcloud artifacts repositories create REMOTE-REPOSITORY-NAME \
    --project=PROJECT_ID \
    --repository-format=go \
    --location=LOCATION \
    --description="DESCRIPTION" \
    --mode=remote-repository \
    --remote-repo-config-desc="REMOTE-REPOSITORY-DESCRIPTION" \
    --remote-go-repo=https://proxy.golang.org

Sostituisci quanto segue:

  • REMOTE-REPOSITORY-NAME è il nome del repository. Per ogni posizione del repository in un progetto, i nomi dei repository devono essere univoci.
  • PROJECT_ID è l'ID progetto. Se questo flag viene omesso, viene utilizzato il progetto corrente o predefinito.
  • 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.

  • DESCRIPTION è una descrizione facoltativa del repository. Non includere dati sensibili, poiché le descrizioni dei repository non sono crittografate.

  • REMOTE-REPOSITORY-DESCRIPTION è una descrizione della configurazione del repository esterno per questo repository remoto.

Ad esempio, il seguente comando crea un repository remoto denominato my-repo nella regione us-east1 nel progetto Google Cloud my-project.

gcloud artifacts repositories create my-repo \
    --project=my-project \
    --repository-format=go \
    --location=us-east1 \
    --description="Remote Go repository" \
    --mode=remote-repository \
    --remote-repo-config-desc="Go proxy" \
    --remote-go-repo=https://proxy.golang.org

Artifact Registry crea il repository. Esegui questo comando per visualizzare una descrizione del repository:

gcloud artifacts repositories describe REMOTE_REPOSITORY_NAME \
    --location=LOCATION

Terraform

Utilizza la risorsa google_artifact_registry_repository per creare repository. È richiesta la versione terraform-provider-google 5.0.0 o successive.

Se non hai mai utilizzato Terraform per Google Cloud, consulta la pagina Guida introduttiva - Google Cloud sul sito web di HashiCorp.

L'esempio seguente definisce il provider e un repository remoto con il nome della risorsa Terraform my-repo.

Docker

provider "google" {
    project = "PROJECT-ID"
}

resource "google_artifact_registry_repository" "my-repo" {
  location      = "LOCATION"
  repository_id = "REPOSITORY_ID"
  description   = "DESCRIPTION"
  format        = "docker"
  kms_key_name = "KEY"
  mode          = "REMOTE_REPOSITORY"
  remote_repository_config {
    description = "CONFIG_DESCRIPTION"
    docker_repository {
      public_repository = "DOCKER_HUB"
    }
  }
  cleanup_policy_dry_run = DRY_RUN_STATUS
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "DELETE"
    condition {
      tag_state    = "TAG_STATE"
      tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"]
      older_than   = "TIME_SINCE_UPLOAD"
    }
  }
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "KEEP"
    condition {
      tag_state             = "TAG_STATE"
      tag_prefixes          = ["TAG_PREFIX", "TAG_PREFIX_N"]
      package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
    }
  }
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "KEEP"
    most_recent_versions {
      package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
      keep_count            = KEEP_COUNT
    }
  }
}

Dove

  • PROJECT-ID è l'ID progetto Google Cloud .
  • LOCATION è la posizione del repository.
  • REPOSITORY_ID è l'ID repository.
  • DESCRIPTION è la descrizione facoltativa del repository. Non includere dati sensibili, poiché le descrizioni dei repository non sono criptate.
  • KEYè il nome della chiave di Cloud Key Management Service, se utilizzi le chiavi di crittografia gestite dal cliente (CMEK) per la crittografia. Ometti questo argomento per utilizzare l'impostazione predefinita, ovvero le chiavi di crittografia gestite da Google.
  • CONFIG_DESCRIPTIONè la descrizione facoltativa dell'origine remota.
  • DRY_RUN_STATUS determina se le policy di pulizia eliminano gli artefatti o registrano solo quali artefatti verrebbero eliminati se si impostano le policy di pulizia sul repository. Ometti se non vuoi aggiungere criteri di pulizia al repository. * true: imposta le policy da eseguire in modalità dry run. In modalità dry run non vengono eliminati artefatti. * false: applica i criteri di pulizia. Gli artefatti vengono eliminati o conservati a seconda delle norme. Per ulteriori informazioni sulle policy di pulizia, consulta Configurare le policy di pulizia.
    • POLICY_NAME è il nome del criterio di pulizia.
    • TAG_STATE è lo stato del tag a cui applicare la policy. I valori sono tagged, untagged e any. any si applica sia agli artefatti taggati sia a quelli non taggati. Se un repository ha abilitato i tag immutabili, gli artefatti con tag non possono essere eliminati.
    • TAG_PREFIX, TAG_PREFIX_N sono prefissi dei tag a cui applicare le norme.
    • PKG_PREFIX, PKG_PREFIX_N sono prefissi di pacchetti a cui applicare le norme.
    • TIME_SINCE_UPLOAD è il tempo trascorso dal caricamento di una versione dell'artefatto nel repository, specificato come durata. Puoi specificare durate di secondi, minuti, ore o giorni aggiungendo rispettivamente s, m, h o d.
    • KEEP_COUNT è il numero di versioni per pacchetto di un artefatto da conservare nel repository.

Maven

Se non specifichi una policy di versione, Artifact Registry crea un repository Maven che archivia per impostazione predefinita sia le versioni snapshot che quelle di release dei pacchetti.

provider "google" {
    project = "PROJECT-ID"
}

resource "google_artifact_registry_repository" "my-repo" {
  location      = "LOCATION"
  repository_id = "REPOSITORY_ID"
  description   = "DESCRIPTION"
  format        = "maven"
  kms_key_name = "KEY"
  mode          = "REMOTE_REPOSITORY"
  remote_repository_config {
    description = "CONFIG_DESCRIPTION"
    maven_repository {
      public_repository = "MAVEN_CENTRAL"
    }
  }
  cleanup_policy_dry_run = DRY_RUN_STATUS
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "DELETE"
    condition {
      tag_state    = "TAG_STATE"
      tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"]
      older_than   = "TIME_SINCE_UPLOAD"
    }
  }
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "KEEP"
    condition {
      tag_state             = "TAG_STATE"
      tag_prefixes          = ["TAG_PREFIX", "TAG_PREFIX_N"]
      package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
    }
  }
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "KEEP"
    most_recent_versions {
      package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
      keep_count            = KEEP_COUNT
    }
  }
}

Dove

  • PROJECT-ID è l'ID progetto Google Cloud .
  • LOCATION è la posizione del repository.
  • REPOSITORY_ID è l'ID repository.
  • DESCRIPTION è la descrizione facoltativa del repository. Non includere dati sensibili, poiché le descrizioni dei repository non sono criptate.
  • KEYè il nome della chiave di Cloud Key Management Service, se utilizzi le chiavi di crittografia gestite dal cliente (CMEK) per la crittografia. Ometti questo argomento per utilizzare l'impostazione predefinita, ovvero le chiavi di crittografia gestite da Google.
  • CONFIG_DESCRIPTIONè la descrizione facoltativa dell'origine remota.
  • DRY_RUN_STATUS determina se le policy di pulizia eliminano gli artefatti o registrano solo quali artefatti verrebbero eliminati se si impostano le policy di pulizia sul repository. Ometti se non vuoi aggiungere criteri di pulizia al repository. * true: imposta le policy da eseguire in modalità dry run. In modalità dry run non vengono eliminati artefatti. * false: applica i criteri di pulizia. Gli artefatti vengono eliminati o conservati a seconda delle norme. Per ulteriori informazioni sulle policy di pulizia, consulta Configurare le policy di pulizia.
    • POLICY_NAME è il nome del criterio di pulizia.
    • TAG_STATE è lo stato del tag a cui applicare la policy. I valori sono tagged, untagged e any. any si applica sia agli artefatti taggati sia a quelli non taggati. Se un repository ha abilitato i tag immutabili, gli artefatti con tag non possono essere eliminati.
    • TAG_PREFIX, TAG_PREFIX_N sono prefissi dei tag a cui applicare le norme.
    • PKG_PREFIX, PKG_PREFIX_N sono prefissi di pacchetti a cui applicare le norme.
    • TIME_SINCE_UPLOAD è il tempo trascorso dal caricamento di una versione dell'artefatto nel repository, specificato come durata. Puoi specificare durate di secondi, minuti, ore o giorni aggiungendo rispettivamente s, m, h o d.
    • KEEP_COUNT è il numero di versioni per pacchetto di un artefatto da conservare nel repository.

Per archiviare le versioni di snapshot e release in repository diversi, specifica una policy di versione per il repository utilizzando un blocco maven_config. Questo blocco supporta le seguenti impostazioni:

  • version_policy imposta il criterio di versione con uno dei seguenti valori:
    • VERSION_POLICY_UNSPECIFIED: Memorizza snapshot e pacchetti di rilascio. Questa è l'impostazione predefinita.
    • RELEASE: Archivia solo i pacchetti di release.
    • SNAPSHOT: archivia solo i pacchetti snapshot.
  • allow_snapshot_overwrites configura un repository con una policy delle versioni SNAPSHOT per accettare snapshot non univoci che sovrascrivono le versioni esistenti nel repository.

L'esempio seguente definisce un repository Maven con una policy di versione di rilascio.

provider "google" {
project = "my-project"
}

resource "google_artifact_registry_repository" "my-repo" {
provider = google-beta

location = "LOCATION"
repository_id = "my-repo"
description = "Maven repository"
format = "MAVEN"
mode = "REMOTE_REPOSITORY"
maven_config {
  version_policy = "RELEASE"
}
}

npm

provider "google" {
    project = "PROJECT-ID"
}

resource "google_artifact_registry_repository" "my-repo" {
  location      = "LOCATION"
  repository_id = "REPOSITORY_ID"
  description   = "DESCRIPTION"
  format        = "npm"
  kms_key_name = "KEY"
  mode          = "REMOTE_REPOSITORY"
  remote_repository_config {
    description = "CONFIG_DESCRIPTION"
    npm_repository {
      public_repository = "NPMJS"
    }
  }
  cleanup_policy_dry_run = DRY_RUN_STATUS
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "DELETE"
    condition {
      tag_state    = "TAG_STATE"
      tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"]
      older_than   = "TIME_SINCE_UPLOAD"
    }
  }
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "KEEP"
    condition {
      tag_state             = "TAG_STATE"
      tag_prefixes          = ["TAG_PREFIX", "TAG_PREFIX_N"]
      package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
    }
  }
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "KEEP"
    most_recent_versions {
      package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
      keep_count            = KEEP_COUNT
    }
  }
}

Dove

  • PROJECT-ID è l'ID progetto Google Cloud .
  • LOCATION è la posizione del repository.
  • REPOSITORY_ID è l'ID repository.
  • DESCRIPTION è la descrizione facoltativa del repository. Non includere dati sensibili, poiché le descrizioni dei repository non sono criptate.
  • KEYè il nome della chiave di Cloud Key Management Service, se utilizzi le chiavi di crittografia gestite dal cliente (CMEK) per la crittografia. Ometti questo argomento per utilizzare l'impostazione predefinita, ovvero le chiavi di crittografia gestite da Google.
  • CONFIG_DESCRIPTIONè la descrizione facoltativa dell'origine remota.
  • DRY_RUN_STATUS determina se le policy di pulizia eliminano gli artefatti o registrano solo quali artefatti verrebbero eliminati se si impostano le policy di pulizia sul repository. Ometti se non vuoi aggiungere criteri di pulizia al repository. * true: imposta le policy da eseguire in modalità dry run. In modalità dry run non vengono eliminati artefatti. * false: applica i criteri di pulizia. Gli artefatti vengono eliminati o conservati a seconda delle norme. Per ulteriori informazioni sulle policy di pulizia, consulta Configurare le policy di pulizia.
    • POLICY_NAME è il nome del criterio di pulizia.
    • TAG_STATE è lo stato del tag a cui applicare la policy. I valori sono tagged, untagged e any. any si applica sia agli artefatti taggati sia a quelli non taggati. Se un repository ha abilitato i tag immutabili, gli artefatti con tag non possono essere eliminati.
    • TAG_PREFIX, TAG_PREFIX_N sono prefissi dei tag a cui applicare le norme.
    • PKG_PREFIX, PKG_PREFIX_N sono prefissi di pacchetti a cui applicare le norme.
    • TIME_SINCE_UPLOAD è il tempo trascorso dal caricamento di una versione dell'artefatto nel repository, specificato come durata. Puoi specificare durate di secondi, minuti, ore o giorni aggiungendo rispettivamente s, m, h o d.
    • KEEP_COUNT è il numero di versioni per pacchetto di un artefatto da conservare nel repository.

Python

provider "google" {
    project = "PROJECT-ID"
}

resource "google_artifact_registry_repository" "my-repo" {
  location      = "LOCATION"
  repository_id = "REPOSITORY_ID"
  description   = "DESCRIPTION"
  format        = "python"
  kms_key_name = "KEY"
  mode          = "REMOTE_REPOSITORY"
  remote_repository_config {
    description = "CONFIG_DESCRIPTION"
    python_repository {
      public_repository = "PYPI"
    }
  }
  cleanup_policy_dry_run = DRY_RUN_STATUS
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "DELETE"
    condition {
      tag_state    = "TAG_STATE"
      tag_prefixes = ["TAG_PREFIX", "TAG_PREFIX_N"]
      older_than   = "TIME_SINCE_UPLOAD"
    }
  }
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "KEEP"
    condition {
      tag_state             = "TAG_STATE"
      tag_prefixes          = ["TAG_PREFIX", "TAG_PREFIX_N"]
      package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
    }
  }
  cleanup_policies {
    id     = "POLICY_NAME"
    action = "KEEP"
    most_recent_versions {
      package_name_prefixes = ["PKG_PREFIX", "PKG_PREFIX_N"]
      keep_count            = KEEP_COUNT
    }
  }
}

Dove

  • PROJECT-ID è l'ID progetto Google Cloud .
  • LOCATION è la posizione del repository.
  • REPOSITORY_ID è l'ID repository.
  • DESCRIPTION è la descrizione facoltativa del repository. Non includere dati sensibili, poiché le descrizioni dei repository non sono criptate.
  • KEYè il nome della chiave di Cloud Key Management Service, se utilizzi le chiavi di crittografia gestite dal cliente (CMEK) per la crittografia. Ometti questo argomento per utilizzare l'impostazione predefinita, ovvero le chiavi di crittografia gestite da Google.
  • CONFIG_DESCRIPTIONè la descrizione facoltativa dell'origine remota.
  • DRY_RUN_STATUS determina se le policy di pulizia eliminano gli artefatti o registrano solo quali artefatti verrebbero eliminati se si impostano le policy di pulizia sul repository. Ometti se non vuoi aggiungere criteri di pulizia al repository. * true: imposta le policy da eseguire in modalità dry run. In modalità dry run non vengono eliminati artefatti. * false: applica i criteri di pulizia. Gli artefatti vengono eliminati o conservati a seconda delle norme. Per ulteriori informazioni sulle policy di pulizia, consulta Configurare le policy di pulizia.
    • POLICY_NAME è il nome del criterio di pulizia.
    • TAG_STATE è lo stato del tag a cui applicare la policy. I valori sono tagged, untagged e any. any si applica sia agli artefatti taggati sia a quelli non taggati. Se un repository ha abilitato i tag immutabili, gli artefatti con tag non possono essere eliminati.
    • TAG_PREFIX, TAG_PREFIX_N sono prefissi dei tag a cui applicare le norme.
    • PKG_PREFIX, PKG_PREFIX_N sono prefissi di pacchetti a cui applicare le norme.
    • TIME_SINCE_UPLOAD è il tempo trascorso dal caricamento di una versione dell'artefatto nel repository, specificato come durata. Puoi specificare durate di secondi, minuti, ore o giorni aggiungendo rispettivamente s, m, h o d.
    • KEEP_COUNT è il numero di versioni per pacchetto di un artefatto da conservare nel repository.

Apt (anteprima)

  provider "google" {
  project = "PROJECT_ID"
}

resource "google_artifact_registry_repository" "my-repo" {
  location      = "LOCATION"
  repository_id = "REPOSITORY_ID"
  description   = "DESCRIPTION"
  format        = "APT"
  mode          = "REMOTE_REPOSITORY"
  remote_repository_config {
    description = "CONFIG_DESCRIPTION"
    apt_repository {
      public_repository {
        repository_base = "REPOSITORY_BASE"
        repository_path = "REPOSITORY_PATH"
      }
    }
  }
}

Dove

  • PROJECT-ID è l'ID progetto Google Cloud .
  • LOCATION è la posizione del repository.
  • REPOSITORY_ID è l'ID repository.
  • DESCRIPTION è la descrizione facoltativa del repository. Non includere dati sensibili, poiché le descrizioni dei repository non sono criptate.
  • CONFIG_DESCRIPTION è la descrizione facoltativa dell'origine remota.
  • REPOSITORY_BASE è la base del repository pubblico preimpostato per Apt. I valori possibili sono DEBIAN e UBUNTU.
  • REPOSITORY_PATH è il repository specifico della base. Ad esempio debian/dists/buster.

Yum (anteprima)

  provider "google" {
  project = "PROJECT_ID"
}

resource "google_artifact_registry_repository" "my-repo" {
  location      = "LOCATION"
  repository_id = "REPOSITORY_ID"
  description   = "DESCRIPTION"
  format        = "YUM"
  mode          = "REMOTE_REPOSITORY"
  remote_repository_config {
    description = "CONFIG_DESCRIPTION"
    yum_repository {
      public_repository {
        repository_base = "REPOSITORY_BASE"
        repository_path = "REPOSITORY_PATH"
      }
    }
  }
}

Dove

  • PROJECT-ID è l'ID progetto Google Cloud .
  • LOCATION è la posizione del repository.
  • REPOSITORY_ID è l'ID repository.
  • DESCRIPTION è la descrizione facoltativa del repository. Non includere dati sensibili, poiché le descrizioni dei repository non sono criptate.
  • CONFIG_DESCRIPTION è la descrizione facoltativa dell'origine remota.
  • REPOSITORY_BASE è la base del repository pubblico preimpostato per Yum. I valori possibili sono CENTOS, CENTOS_DEBUG, CENTOS_VAULT, CENTOS_STREAM, ROCKY e EPEL.
  • REPOSITORY_PATH è il repository specifico della base. Ad esempio "centos/8-stream/BaseOS/x86_64/os.

Artifact Registry crea il repository. Esegui questo comando per visualizzare una descrizione del repository:

gcloud artifacts repositories describe REPOSITORY \
    --location=LOCATION

Dopo aver creato il repository:

Modificare le descrizioni dei repository

Puoi modificare la descrizione del repository dalla console Google Cloud o da gcloud CLI.

Console

  1. Apri la pagina Repository nella console Google Cloud .

    Apri la pagina Repositori

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

  3. Modifica la descrizione del repository e poi fai clic su Salva.

gcloud

Per aggiornare la descrizione del repository, esegui il comando:

gcloud artifacts repositories update REPOSITORY \
    --project=PROJECT \
    --location=LOCATION \
    --description="DESCRIPTION"

Sostituisci quanto segue:

  • REPOSITORY: il nome del repository. Se hai configurato un repository predefinito, puoi omettere questo flag per utilizzare quello predefinito.
  • PROJECT: l'ID progetto Google Cloud. Se questo flag viene omesso, viene utilizzato il progetto corrente o predefinito.
  • LOCATION è la posizione regionale o multiregionale del repository. Utilizza questo flag per visualizzare i repository in una posizione specifica. Se hai configurato una località predefinita, puoi omettere questo flag per utilizzare quella predefinita.
  • DESCRIPTION: una descrizione del repository.

Accesso alle origini upstream in un perimetro di servizio

I servizi in un perimetro di servizio Controlli di servizio VPC hanno accesso limitato alle risorse esterne al perimetro.

Puoi consentire o negare l'accesso alle origini upstream all'interno di un progetto e di una localitàGoogle Cloud specifici.

Per impostazione predefinita, Artifact Registry nega l'accesso alle origini upstream se non hai concesso esplicitamente l'accesso.

Per Artifact Registry, il ruolo richiesto è Artifact Registry Administrator (roles/artifactregistry.admin).

Visualizzare le impostazioni per le origini upstream

Per visualizzare la configurazione per una combinazione specifica di progetto e località, esegui questo comando:

gcloud artifacts vpcsc-config describe \
    --project=PROJECT_ID \
    --location=LOCATION

Ad esempio, utilizza il seguente comando per visualizzare le impostazioni per i repository remoti in us-east1 nel progetto my-project:

gcloud artifacts vpcsc-config describe \
    --project=my-project \
    --location=us-east1

Consenti l'accesso alle origini upstream

Per consentire l'accesso alle origini upstream in una località specificata, esegui il comando:

gcloud artifacts vpcsc-config allow \
    --project=PROJECT_ID \
    --location=LOCATION

Ad esempio, utilizza il seguente comando per consentire a tutti i repository remoti in us-east1 nel progetto my-project di accedere alle relative origini upstream al di fuori del perimetro:

gcloud artifacts vpcsc-config allow \
    --project=my-project \
    --location=us-east1

Nega l'accesso alle origini upstream

Quando neghi l'accesso alle origini upstream, gli artefatti memorizzati nella cache esistenti nei repository remoti rimangono comunque disponibili.

Per negare l'accesso alle origini upstream in una località specificata, esegui il comando:

gcloud artifacts vpcsc-config deny \
    --project=PROJECT_ID \
    --location=LOCATION

Ad esempio, utilizza il seguente comando per bloccare l'accesso alle origini upstream al di fuori del perimetro per tutti i repository remoti in us-west1 nel progetto my-project:

gcloud artifacts vpcsc-config deny \
    --project=my-project \
    --location=us-west1

Passaggi successivi