Remote-Repositories erstellen

Auf dieser Seite wird beschrieben, wie Sie Remote-Repositories in Artifact Registry erstellen.

In Remote-Repositories werden Artefakte aus vordefinierten externen Quellen wie Docker Hub, Maven Central, dem Python Package Index (PyPI), Debian oder CentOS sowie benutzerdefinierte Quellen für unterstützte Formate gespeichert. A Remote-Repository agiert als Proxy für die externe Quelle, sodass Sie über mehr Kontrolle über Ihre externen Abhängigkeiten. Wenn Sie zum ersten Mal eine Version eines Pakets, Artifact Registry lädt das Paket herunter und speichert es im Remote-Repository. Wenn Sie dieselbe Paketversion das nächste Mal anfordern, wird die im Cache gespeicherte Kopie von Artifact Registry bereitgestellt.

Die anderen Repository-Modi sind:

  • Standard: Der Standard-Repository-Modus. Sie laden Artefakte wie private Pakete direkt in Standard-Repositories hoch oder veröffentlichen sie dort. Sie können zwar direkt aus einzelnen Standard-Repositories herunterladen, aber der Zugriff auf Repository-Gruppen mit einem virtuellen Repository vereinfacht die Toolkonfiguration.
  • Virtuell: Ein Repository, das als einzelner Zugriffspunkt für mehrere Upstream-Repositories dient, einschließlich Remote- und Standard-Repositories.

Weitere Informationen zur Funktionsweise von Remote-Repositories finden Sie in der Remote-Repository – Übersicht

Hinweis

  1. Aktivieren Sie Artifact Registry, einschließlich der Artifact Registry API und der Google Cloud CLI.
  2. Optional: Konfigurieren Sie Standardeinstellungen für die gcloud CLI-Befehle.
  3. Wenn Sie vom Kunden verwaltete Verschlüsselungsschlüssel (CMEKs) benötigen, Verschlüsseln Sie Repository-Inhalte, erstellen und aktivieren Sie einen Schlüssel in Cloud KMS für das Repository.
  4. Wenn Sie sich bei einem Upstream-Repository authentifizieren möchten, aktivieren Sie die Methode Secret Manager API

    gcloud services enable secretmanager.googleapis.com \
        --project=PROJECT_ID
    
  5. Wenn sich Artifact Registry in einem VPC Service Controls-Dienstperimeter befindet, Aktivieren Sie die Access Context Manager API, falls sie noch nicht aktiviert ist.

    gcloud services enable accesscontextmanager.googleapis.com \
        --project=PROJECT_ID
    

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Verwalten von Repositories benötigen:

  • Remote-Repositories erstellen und Zugriff auf einzelne Repositories gewähren: Artifact Registry Admin (roles/artifactregistry.admin) für das Projekt
  • Speichern Sie die Anmeldedaten für das Upstream-Repository in einer Secret-Version: Secret Manager Admin (roles/secretmanager.admin) für das Projekt
  • Gewähren Sie Zugriff auf Upstream-Quellen außerhalb eines VPC Service Controls-Dienstperimeters: Access Context Manager-Bearbeiter (roles/accesscontextmanager.policyEditor) für das Projekt, den Ordner oder die Organisation, auf das bzw. die die Zugriffsrichtlinie angewendet wird

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Remote-Repository erstellen

Wenn Sie ein Remote-Repository erstellen, müssen Sie die folgenden Einstellungen konfigurieren, die nach dem Erstellen des Repositorys nicht mehr geändert werden können:

Artifact Registry erzwingt Einschränkungen von Organisationsrichtlinien, die die Verschlüsselung von Ressourcen mit CMEK erfordern oder einschränken, welche Cloud KMS-Schlüssel für den CMEK-Schutz verwendet werden können.

Remote-Repository mit der Google Cloud Console erstellen

  1. Öffnen Sie in der Cloud Console die Seite Repositories.

    Zur Seite „Repositories“

  2. Klicken Sie auf Repository erstellen.

  3. Geben Sie den Repository-Namen an. Repository-Namen können für jeden Repository-Speicherort in einem Projekt nur einmal vorkommen.

  4. Wählen Sie im Bereich Format das Repository-Format aus.

  5. Wählen Sie im Abschnitt Repository-Modus die Option Remote aus.

  6. Wählen Sie im Abschnitt Remote-Repository-Quelle entweder die voreingestellten Upstream oder Benutzerdefiniert, wenn Sie eine benutzerdefinierte URL für den Upstream.

  7. Optional. Wenn Sie ein benutzerdefiniertes Upstream verwenden, geben Sie im benutzerdefinierten Repository die benutzerdefinierte Repository-URL ein. Die URL kann nach dem wird das Repository erstellt.

  8. Wählen Sie unter Authentifizierungsmodus für Remote-Repository eine der folgenden Optionen aus:

    • Authentifiziert: Hier können Sie Ihren Nutzernamen und Ihr Secret für die Authentifizierung in Ihrem Upstream-Repository eingeben.
    • Nicht authentifiziert: Die Authentifizierung beim Upstream-Repository wird übersprungen.
  9. Optional. Wenn Sie Authentifiziert ausgewählt haben, geben Sie Folgendes ein:

    • Geben Sie im Feld Nutzername Ihren Nutzernamen für das Upstream-Repository ein.
    • Geben Sie im Feld Secret die Secret-Version ein, in der Sie Ihr Passwort für das Upstream-Repository gespeichert haben.

    Sie können diese Werte bearbeiten, nachdem Sie das Repository erstellt haben. Weitere Informationen Informationen zur Authentifizierung bei Remote-Repository-Upstreams finden Sie unter Konfigurieren Sie die Authentifizierung bei Remote-Repository-Upstreams.

  10. Wählen Sie im Abschnitt Standorttyp den Speicherort für das Repository aus:

    1. Wählen Sie als Speicherort „Region“ oder „Mehrere Regionen“ aus. Die Liste der Speicherorte ändert sich entsprechend Ihrer Auswahl.

    2. Wählen Sie in der Liste Region oder Mehrere Regionen einen Speicherort aus.

    Informationen zu Typen von Speicherorten und unterstützten Speicherorten finden Sie unter Repository-Speicherorte.

  11. Fügen Sie eine Beschreibung für das Repository hinzu. Beschreibungen helfen dabei, den Zweck des Repositorys und die darin enthaltenen Artefakte zu ermitteln.

    Geben Sie keine vertraulichen Daten an, da Repository-Beschreibungen nicht verschlüsselt werden.

  12. Wenn Sie Ihre Daten mithilfe von Labels organisieren möchten, auf Add Label (Label hinzufügen) klicken und das Schlüssel/Wert-Paar . Sie können Labels hinzufügen, bearbeiten oder entfernen, nachdem Sie das Repository erstellt haben.

  13. Wählen Sie im Abschnitt Verschlüsselung den Verschlüsselungsmechanismus für das Repository aus.

    • Von Google verwalteter Schlüssel: Repository-Inhalte verschlüsseln mit einer Google-eigener und von Google verwalteter Schlüssel.
    • Vom Kunden verwalteter Schlüssel: Verschlüsselung des Repository-Inhalts mit einem Schlüssel, den Sie über Cloud Key Management Service steuern. Eine grundlegende Einrichtungsanleitung finden Sie unter Vom Kunden verwalteten Schlüssel für Repositories einrichten.
  14. Wenn Sie Bereinigungsrichtlinien verwenden möchten, um nicht verwendete Artefakte zu löschen, klicken Sie in der Bereinigungsrichtlinien:

    1. Wählen Sie Probelauf aus, um die Richtlinie zu testen, bevor Sie sie anwenden.
    2. Klicken Sie auf Richtlinie hinzufügen, um Ihrem Repository eine Richtlinie zum Aufbewahren oder Löschen hinzuzufügen.
    3. Geben Sie im Feld Name einen aussagekräftigen Namen für die Bereinigungsrichtlinie ein.
    4. Wählen Sie im Abschnitt Richtlinientyp eine der folgenden Optionen aus:

      • Bedingtes Löschen: Artefakte werden basierend auf von Ihnen definierten Bedingungen gelöscht.
      • Bedingte Beibehaltung: Behält Artefakte basierend auf von Ihnen definierten Bedingungen bei.
      • Neueste Versionen beibehalten: Behält eine festgelegte Anzahl von neuesten Versionen bei. Versionen pro Paket.

      Weitere Informationen zu Bereinigungsrichtlinien finden Sie unter Bereinigungsrichtlinien konfigurieren

  15. Klicken Sie auf Erstellen.

Artifact Registry erstellt das Repository und fügt es der Liste der Repositories.

Nachdem Sie das Repository erstellt haben:

Remote-Repository mit der gcloud CLI erstellen

Führen Sie den Befehl für das entsprechende Repository-Format aus, um ein Repository zu erstellen:

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" \
    --remote-username=USERNAME \
    --remote-password-secret-version=SECRET_VERSION \
    --remote-docker-repo=UPSTREAM

Ersetzen Sie Folgendes:

  • REMOTE-REPOSITORY-NAME durch den Namen des Repositorys. Für Repository-Namen müssen eindeutig sein.
  • PROJECT_ID durch die Projekt-ID. Wenn dieses Flag nicht angegeben ist, wird das aktuelle Projekt oder das Standardprojekt verwendet.
  • LOCATION durch den regionalen oder multiregionalen Speicherort für das Repository. Sie können dieses Flag weglassen, wenn Sie einen Standard-Speicherort festgelegt haben. Führen Sie den Befehl gcloud artifacts locations list aus, um eine Liste der unterstützten Speicherorte aufzurufen.

  • DESCRIPTION mit einer optionalen Beschreibung des Repositorys. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht dazu gehören verschlüsselt.

  • REMOTE-REPOSITORY-DESCRIPTION mit einer Beschreibung für Die Konfiguration des externen Repositorys für dieses Remote-Repository.

  • USERNAME Optional: Wenn Sie die Authentifizierung verwenden, mit Ihrem Nutzernamen für die Authentifizierung beim Upstream-Repository.

  • SECRET_VERSION Optional: Wenn Sie die Authentifizierung verwenden, mit der Secret-Version, die das Passwort Ihres Upstream-Repositories enthält.

  • UPSTREAM durch den Namen der Voreinstellung oder die benutzerdefinierte URL der Upstream-Repository. Informationen zu verfügbaren vordefinierten und unterstützten benutzerdefinierten Upstreams findest du unter Unterstützte Formate.

Mit dem folgenden Befehl wird beispielsweise ein Remote-Repository mit dem Namen my-repo in der Region us-east1 im Google Cloud-Projekt my-project und kann sich mit der Methode Nutzername my-username und Secret-Version 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

Weitere Informationen zur Authentifizierung bei vorgelagerten Repositories von Docker Hub Siehe Remote-Repository-Authentifizierung bei Docker Hub konfigurieren

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" \
    --remote-username=USERNAME \
    --remote-password-secret-version=SECRET_VERSION \
    --remote-mvn-repo=UPSTREAM

Ersetzen Sie Folgendes:

  • REMOTE-REPOSITORY-NAME durch den Namen des Repositorys. Für Repository-Namen müssen eindeutig sein.
  • PROJECT_ID durch die Projekt-ID. Wenn dieses Flag nicht angegeben ist, wird das aktuelle Projekt oder das Standardprojekt verwendet.
  • LOCATION durch den regionalen oder multiregionalen Speicherort für das Repository. Sie können dieses Flag weglassen, wenn Sie einen Standard-Speicherort festgelegt haben. Führen Sie den Befehl gcloud artifacts locations list aus, um eine Liste der unterstützten Speicherorte aufzurufen.

  • DESCRIPTION mit einer optionalen Beschreibung des Repositorys. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht dazu gehören verschlüsselt.

  • REMOTE-REPOSITORY-DESCRIPTION mit einer Beschreibung für Die Konfiguration des externen Repositorys für dieses Remote-Repository.

  • USERNAME Optional: Wenn Sie die Authentifizierung verwenden, mit Ihrem Nutzernamen für die Authentifizierung beim Upstream-Repository.

  • SECRET_VERSION Optional: Wenn Sie die Authentifizierung verwenden, mit der Secret-Version, die das Passwort Ihres Upstream-Repositories enthält.

  • UPSTREAM durch den Namen der Voreinstellung oder die benutzerdefinierte URL der Upstream-Repository. Informationen zu verfügbaren voreingestellten Upstreams und unterstützten benutzerdefinierten Upstreams finden Sie unter Unterstützte Formate.

Mit dem folgenden Befehl wird beispielsweise ein Remote-Repository mit dem Namen my-repo in der Region us-east1 im Google Cloud-Projekt my-project und kann sich mit der Methode Nutzername my-username und Secret-Version 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" \
    --remote-username=USERNAME \
    --remote-password-secret-version=SECRET_VERSION \
    --remote-npm-repo=UPSTREAM

Ersetzen Sie Folgendes:

  • REMOTE-REPOSITORY-NAME durch den Namen des Repositorys. Für Repository-Namen müssen eindeutig sein.
  • PROJECT_ID durch die Projekt-ID. Wenn dieses Flag nicht angegeben ist, wird das aktuelle Projekt oder das Standardprojekt verwendet.
  • LOCATION durch das regionale oder multiregionale Element location für das Repository. Sie können dieses Flag weglassen, wenn Sie einen Standard-Speicherort festgelegt haben. Führen Sie den Befehl gcloud artifacts locations list aus, um eine Liste der unterstützten Speicherorte aufzurufen.

  • DESCRIPTION mit einer optionalen Beschreibung des Repositorys. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht dazu gehören verschlüsselt.

  • REMOTE-REPOSITORY-DESCRIPTION mit einer Beschreibung für Die Konfiguration des externen Repositorys für dieses Remote-Repository.

  • USERNAME Optional: Wenn Sie die Authentifizierung verwenden, mit Ihrem Nutzernamen für die Authentifizierung beim Upstream-Repository.

  • SECRET_VERSION Optional: Wenn Sie die Authentifizierung verwenden, mit der Secret-Version, die das Passwort Ihres Upstream-Repositories enthält.

  • UPSTREAM durch den Namen der Voreinstellung oder die benutzerdefinierte URL der Upstream-Repository. Informationen zu verfügbaren vordefinierten und unterstützten benutzerdefinierten Upstreams findest du unter Unterstützte Formate.

Mit dem folgenden Befehl wird beispielsweise ein Remote-Repository mit dem Namen my-repo in der Region us-east1 im Google Cloud-Projekt my-project und kann sich mit der Methode Nutzername my-username und Secret-Version 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" \
    --remote-username=USERNAME \
    --remote-password-secret-version=SECRET_VERSION \
    --remote-python-repo=UPSTREAM

Ersetzen Sie Folgendes:

  • REMOTE-REPOSITORY-NAME durch den Namen des Repositorys. Für Repository-Namen müssen eindeutig sein.
  • PROJECT_ID durch die Projekt-ID. Wenn dieses Flag nicht angegeben ist, wird das aktuelle Projekt oder das Standardprojekt verwendet.
  • LOCATION durch den regionalen oder multiregionalen Speicherort für das Repository. Sie können dieses Flag weglassen, wenn Sie einen Standard-Speicherort festgelegt haben. Führen Sie den Befehl gcloud artifacts locations list aus, um eine Liste der unterstützten Speicherorte aufzurufen.

  • DESCRIPTION mit einer optionalen Beschreibung des Repositorys. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht dazu gehören verschlüsselt.

  • REMOTE-REPOSITORY-DESCRIPTION mit einer Beschreibung für Die Konfiguration des externen Repositorys für dieses Remote-Repository.

  • USERNAME Optional: Wenn Sie die Authentifizierung verwenden, mit Ihrem Nutzernamen für die Authentifizierung beim Upstream-Repository.

  • SECRET_VERSION Optional: Wenn Sie die Authentifizierung verwenden, mit der Secret-Version, die das Passwort Ihres Upstream-Repositories enthält.

  • UPSTREAM durch den voreingestellten Namen oder die benutzerdefinierte URL des Upstream-Repositories. Informationen zu verfügbaren vordefinierten und unterstützten benutzerdefinierten Upstreams findest du unter Unterstützte Formate.

Mit dem folgenden Befehl wird beispielsweise ein Remote-Repository mit dem Namen my-repo in der Region us-east1 im Google Cloud-Projekt my-project und kann sich mit der Methode Nutzername my-username und Secret-Version 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. (Vorschau)

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"

Ersetzen Sie Folgendes:

  • REMOTE_REPOSITORY_NAME durch den Namen des Repositorys. Für Repository-Namen müssen eindeutig sein.
  • PROJECT_ID durch die Projekt-ID. Wenn dieses Flag nicht angegeben ist, wird das aktuelle Projekt oder das Standardprojekt verwendet.
  • LOCATION durch das regionale oder multiregionale Element location für das Repository. Sie können dieses Flag weglassen, wenn Sie einen Standard-Speicherort festgelegt haben. So rufen Sie eine Liste auf: der unterstützten Standorte führen Sie den Befehl gcloud artifacts locations list aus.
  • DESCRIPTION durch eine optionale Beschreibung des Repositorys. Geben Sie keine vertraulichen Daten an, da Repository-Beschreibungen nicht verschlüsselt werden.
  • REMOTE_REPOSITORY_DESCRIPTION mit einer optionalen Beschreibung für Die Konfiguration des externen Repositorys für dieses Remote-Repository.
  • APT_REPOSITORY_BASE durch eines der unterstützten Repositorys Basisnamen, die in den Von Betriebssystempaket unterstützte Upstreams für Apt-Remote-Verbindungen Repositories.
  • APT_REPOSITORY_PATH durch den Rest der URL des Upstream-Repositorys ersetzen, das Sie nach der Repository-Basis in Ihrem Remote-Repository im Cache speichern möchten.

Mit dem folgenden Befehl wird beispielsweise ein Remote-Repository mit dem Namen my-repo, um das Debian-Buster-Repository in der Region us-east1 im Cache zu speichern das Google Cloud-Projekt my-project. Die vollständige URL des Upstreams Repository 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 (Vorschau)

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"

Ersetzen Sie Folgendes:

  • REMOTE_REPOSITORY_NAME durch den Namen des Repositorys. Für Repository-Namen müssen eindeutig sein.
  • PROJECT_ID durch die Projekt-ID. Wenn dieses Flag nicht angegeben ist, wird das aktuelle Projekt oder das Standardprojekt verwendet.
  • LOCATION durch den regionalen oder multiregionalen Speicherort für das Repository. Sie können dieses Flag weglassen, wenn Sie einen Standard-Speicherort festgelegt haben. Führen Sie den Befehl gcloud artifacts locations list aus, um eine Liste der unterstützten Speicherorte aufzurufen.
  • DESCRIPTION durch eine optionale Beschreibung des Repositorys. Geben Sie keine vertraulichen Daten an, da Repository-Beschreibungen nicht verschlüsselt werden.
  • REMOTE_REPOSITORY_DESCRIPTION mit einer optionalen Beschreibung für Die Konfiguration des externen Repositorys für dieses Remote-Repository.
  • YUM_REPOSITORY_BASE durch eines der unterstützten Repositorys Basisnamen, die in den Von Betriebssystempaket unterstützte Upstreams für Yum-Remote-Verbindung Repositories.
  • YUM_REPOSITORY_PATH durch den Rest der URL des Upstream-Repository, das Sie danach in Ihrem Remote-Repository zwischenspeichern möchten der Repository-Basis.

Mit dem folgenden Befehl wird beispielsweise ein Remote-Repository für Yum-Pakete erstellt. namens my-repo in der Region us-east1 im Google Cloud-Projekt my-project für das Upstream-Repository centos/8-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 \
    --remote-yum-repo-path="centos/8-stream/BaseOs/x86_64/os"

Artifact Registry erstellt Ihr Repository. Führen Sie den folgenden Befehl aus, um eine Beschreibung des Repositorys aufzurufen:

gcloud artifacts repositories describe REMOTE_REPOSITORY_NAME \
    --location=LOCATION

Gehen Sie nach dem Erstellen des Repositorys so vor:

Remote-Repository mit Terraform erstellen

Ressource google_artifact_registry_repository verwenden um Repositories zu erstellen. terraform-provider-google Version 5.0.0 oder höher ist erforderlich.

Wenn Sie Terraform für Google Cloud noch nicht kennen, lesen Sie die Seite Erste Schritte: Google Cloud auf der HashiCorp-Website.

Im folgenden Beispiel werden der Anbieter und ein Remote-Repository mit der Methode Terraform-Ressourcenname 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
    }
  }
}

Dabei gilt:

  • PROJECT-ID ist die Google Cloud-Projekt-ID.
  • LOCATION ist der Speicherort des Repositorys.
  • REPOSITORY_ID ist die Repository-ID.
  • DESCRIPTION ist die optionale Beschreibung für das Repository. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht verschlüsselt.
  • KEY ist der Name des Cloud Key Management Service-Schlüssels, wenn Sie Vom Kunden verwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK) für die Verschlüsselung. Lassen Sie dieses Argument aus, um die von Google verwaltete Standardeinstellung zu verwenden.
  • CONFIG_DESCRIPTION ist eine optionale Beschreibung der Remotequelle.
  • DRY_RUN_STATUS bestimmt, ob Bereinigungsrichtlinien gelöscht werden oder nur protokollieren, welche Artefakte gelöscht werden, Bereinigungsrichtlinien für das Repository. Lassen Sie dieses Feld leer, wenn Sie dem Repository keine Richtlinien für die Bereinigung hinzufügen möchten. * true: Legt fest, dass die Richtlinien im Probelaufmodus ausgeführt werden. Im Modus „Probelauf“ werden keine Artefakte gelöscht. * false: die Bereinigungsrichtlinien angewendet werden. Artefakte werden je nach Richtlinie gelöscht oder aufbewahrt. Weitere Informationen zu Bereinigungsrichtlinien finden Sie unter Bereinigungsrichtlinien konfigurieren
    • POLICY_NAME ist der Name der Bereinigungsrichtlinie.
    • TAG_STATE ist der Tag-Status, auf den die Richtlinie angewendet wird. Werte sind tagged, untagged und any. any gilt sowohl für getaggte als auch für nicht getaggte Artefakte. Wenn für ein Repository unveränderliche Tags aktiviert sind, können getaggte Artefakte nicht gelöscht werden.
    • TAG_PREFIX, TAG_PREFIX_N sind Tag-Präfixe für auf die die Richtlinie angewendet wird.
    • PKG_PREFIX, PKG_PREFIX_N sind Paketpräfixe, auf die die Richtlinie angewendet werden soll.
    • TIME_SINCE_UPLOAD ist die Zeit, die seit einer Artefaktversion vergangen ist wurde in das Repository hochgeladen, angegeben als Dauer. Sie können die Dauer in Sekunden, Minuten, Stunden oder Tagen angeben, indem Sie s, m, h oder d anhängen.
    • KEEP_COUNT ist die Anzahl der Versionen pro Paket eines Artefakts, in Ihrem Repository aufbewahren.

Maven

Wenn Sie keine Versionsrichtlinie angeben, erstellt Artifact Registry ein Maven-Repository, in dem standardmäßig sowohl Snapshot- als auch Release-Versionen von Paketen gespeichert werden.

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
    }
  }
}

Dabei gilt:

  • PROJECT-ID ist die Google Cloud-Projekt-ID.
  • LOCATION ist der Speicherort des Repositorys.
  • REPOSITORY_ID ist die Repository-ID.
  • DESCRIPTION ist die optionale Beschreibung für das Repository. Geben Sie keine sensiblen Daten an, da Repository-Beschreibungen nicht verschlüsselt.
  • KEY ist der Name des Cloud Key Management Service-Schlüssels, wenn Sie für die Verschlüsselung vom Kunden verwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK) verwenden. Lassen Sie dieses Argument aus, um die von Google verwaltete Standardeinstellung zu verwenden.
  • CONFIG_DESCRIPTION ist eine optionale Beschreibung der Remotequelle.
  • Mit DRY_RUN_STATUS wird festgelegt, ob Artefakte durch Bereinigungsrichtlinien gelöscht werden oder nur protokolliert wird, welche Artefakte gelöscht würden, wenn Bereinigungsrichtlinien für das Repository festgelegt werden. Überspringen, wenn Sie nichts hinzufügen möchten Bereinigungsrichtlinien für das Repository. * true: Legt die Richtlinien für die Ausführung im Probelaufmodus fest. Es sind keine Artefakte im Probelaufmodus gelöscht. * false: die Bereinigungsrichtlinien angewendet werden. Artefakte werden je nach Richtlinie gelöscht oder aufbewahrt. Weitere Informationen zu Bereinigungsrichtlinien finden Sie unter Bereinigungsrichtlinien konfigurieren
    • POLICY_NAME ist der Name der Bereinigungsrichtlinie.
    • TAG_STATE ist der Tag-Status, auf den die Richtlinie angewendet wird. Werte sind tagged, untagged und any. any gilt sowohl für getaggte als auch für nicht getaggte Artefakte. Wenn für ein Repository unveränderliche Tags aktiviert sind, können getaggte Artefakte nicht gelöscht werden.
    • TAG_PREFIX, TAG_PREFIX_N sind Tag-Präfixe für auf die die Richtlinie angewendet wird.
    • PKG_PREFIX, PKG_PREFIX_N sind Paketpräfixe, auf die die Richtlinie angewendet werden soll.
    • TIME_SINCE_UPLOAD ist die Zeit, die seit einer Artefaktversion vergangen ist wurde in das Repository hochgeladen, angegeben als Dauer. Sie können die Dauer in Sekunden, Minuten, Stunden oder Tagen angeben, indem Sie s, m, h oder d anhängen.
    • KEEP_COUNT ist die Anzahl der Versionen pro Paket eines Artefakts, die in Ihrem Repository beibehalten werden sollen.

Wenn Sie Snapshot- und Release-Versionen in verschiedenen Repositories speichern möchten, geben Sie mit einem maven_config-Block eine Versionsrichtlinie für das Repository an. Dieser Block unterstützt die folgenden Einstellungen:

  • version_policy legt die Versionsrichtlinie mit einem der folgenden Werte fest:
    • VERSION_POLICY_UNSPECIFIED: Snapshot- und Release-Pakete speichern Das ist die Standardeinstellung.
    • RELEASE: Nur Release-Pakete speichern.
    • SNAPSHOT: Nur Snapshot-Pakete speichern.
  • allow_snapshot_overwrites konfiguriert ein Repository mit einer SNAPSHOT Versionsrichtlinie zum Akzeptieren nicht eindeutiger Snapshots, die vorhandene überschreiben Versionen im Repository.

Im folgenden Beispiel wird ein Maven-Repository mit einer Release-Version definiert .

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
    }
  }
}

Dabei gilt:

  • PROJECT-ID ist die Google Cloud-Projekt-ID.
  • LOCATION ist der Speicherort des Repositorys.
  • REPOSITORY_ID ist die Repository-ID.
  • DESCRIPTION ist die optionale Beschreibung für das Repository. Geben Sie keine vertraulichen Daten an, da Repository-Beschreibungen nicht verschlüsselt sind.
  • KEY ist der Name des Cloud Key Management Service-Schlüssels, wenn Sie Vom Kunden verwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK) für die Verschlüsselung. Lassen Sie dieses Argument aus, um die von Google verwaltete Standardeinstellung zu verwenden.
  • CONFIG_DESCRIPTION ist eine optionale Beschreibung der Remotequelle.
  • DRY_RUN_STATUS bestimmt, ob Bereinigungsrichtlinien gelöscht werden oder nur protokollieren, welche Artefakte gelöscht werden, Bereinigungsrichtlinien für das Repository. Lassen Sie dieses Feld leer, wenn Sie dem Repository keine Richtlinien für die Bereinigung hinzufügen möchten. * true: Legt die Richtlinien für die Ausführung im Probelaufmodus fest. Im Modus „Probelauf“ werden keine Artefakte gelöscht. * false: Die Bereinigungsrichtlinien werden angewendet. Artefakte werden gelöscht oder von den Richtlinien abhängig. Weitere Informationen zu Bereinigungsrichtlinien finden Sie unter Bereinigungsrichtlinien konfigurieren.
    • POLICY_NAME ist der Name der Bereinigungsrichtlinie.
    • TAG_STATE ist der Tag-Status, auf den die Richtlinie angewendet wird. Werte sind tagged, untagged und any. any gilt sowohl für getaggte als auch für nicht getaggte Artefakte. Wenn für ein Repository unveränderliche Tags aktiviert sind, können getaggte Artefakte nicht gelöscht werden.
    • TAG_PREFIX, TAG_PREFIX_N sind Tag-Präfixe für auf die die Richtlinie angewendet wird.
    • PKG_PREFIX, PKG_PREFIX_N sind Paketpräfixe, auf die die Richtlinie angewendet werden soll.
    • TIME_SINCE_UPLOAD ist die Zeit, die seit einer Artefaktversion vergangen ist wurde in das Repository hochgeladen, angegeben als Dauer. Sie können die Dauer in Sekunden, Minuten, Stunden oder Tagen angeben, indem Sie s, m, h oder d anhängen.
    • KEEP_COUNT ist die Anzahl der Versionen pro Paket eines Artefakts, in Ihrem Repository aufbewahren.

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
    }
  }
}

Dabei gilt:

  • PROJECT-ID ist die Google Cloud-Projekt-ID.
  • LOCATION ist der Speicherort des Repositorys.
  • REPOSITORY_ID ist die Repository-ID.
  • DESCRIPTION ist die optionale Beschreibung für das Repository. Geben Sie keine vertraulichen Daten an, da Repository-Beschreibungen nicht verschlüsselt sind.
  • KEY ist der Name des Cloud Key Management Service-Schlüssels, wenn Sie für die Verschlüsselung vom Kunden verwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK) verwenden. Lassen Sie dieses Argument aus, um die von Google verwaltete Standardeinstellung zu verwenden.
  • CONFIG_DESCRIPTION ist eine optionale Beschreibung der Remotequelle.
  • Mit DRY_RUN_STATUS wird festgelegt, ob Artefakte durch Bereinigungsrichtlinien gelöscht werden oder nur protokolliert wird, welche Artefakte gelöscht würden, wenn Bereinigungsrichtlinien für das Repository festgelegt werden. Überspringen, wenn Sie nichts hinzufügen möchten Bereinigungsrichtlinien für das Repository. * true: Legt die Richtlinien für die Ausführung im Probelaufmodus fest. Im Modus „Probelauf“ werden keine Artefakte gelöscht. * false: die Bereinigungsrichtlinien angewendet werden. Artefakte werden je nach Richtlinie gelöscht oder aufbewahrt. Weitere Informationen zu Bereinigungsrichtlinien finden Sie unter Bereinigungsrichtlinien konfigurieren.
    • POLICY_NAME ist der Name der Bereinigungsrichtlinie.
    • TAG_STATE ist der Tag-Status, auf den die Richtlinie angewendet wird. Werte sind tagged, untagged und any. any gilt sowohl für getaggte als auch für nicht getaggte Artefakte. Wenn für ein Repository unveränderliche Tags aktiviert sind, können getaggte Artefakte nicht gelöscht werden.
    • TAG_PREFIX, TAG_PREFIX_N sind Tag-Präfixe für auf die die Richtlinie angewendet wird.
    • PKG_PREFIX, PKG_PREFIX_N sind Paketpräfixe, auf die die Richtlinie angewendet werden soll.
    • TIME_SINCE_UPLOAD ist die Zeit, die seit einer Artefaktversion vergangen ist wurde in das Repository hochgeladen, angegeben als Dauer. Sie können die Dauer in Sekunden, Minuten, Stunden oder Tagen angeben, indem Sie s, m, h oder d anhängen.
    • KEEP_COUNT ist die Anzahl der Versionen pro Paket eines Artefakts, die in Ihrem Repository beibehalten werden sollen.

Apt (Vorabversion)

  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"
      }
    }
  }
}

Dabei gilt:

  • PROJECT-ID ist die Google Cloud-Projekt-ID.
  • LOCATION ist der Speicherort des Repositorys.
  • REPOSITORY_ID ist die Repository-ID.
  • DESCRIPTION ist die optionale Beschreibung für das Repository. Geben Sie keine vertraulichen Daten an, da Repository-Beschreibungen nicht verschlüsselt werden.
  • CONFIG_DESCRIPTION ist eine optionale Beschreibung der Remotequelle.
  • REPOSITORY_BASE ist die voreingestellte öffentliche Repository-Basis für Apt. Mögliche Werte sind DEBIAN und UBUNTU.
  • REPOSITORY_PATH ist das spezifische Repository aus der Basis. Beispiel: debian/dists/buster.

Yum (Vorabversion)

  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"
      }
    }
  }
}

Dabei gilt:

  • PROJECT-ID ist die Google Cloud-Projekt-ID.
  • LOCATION ist der Speicherort des Repositorys.
  • REPOSITORY_ID ist die Repository-ID.
  • DESCRIPTION ist die optionale Beschreibung für das Repository. Geben Sie keine vertraulichen Daten an, da Repository-Beschreibungen nicht verschlüsselt werden.
  • CONFIG_DESCRIPTION ist die optionale Beschreibung der Fernbedienung. Quelle.
  • REPOSITORY_BASE ist die voreingestellte öffentliche Repository-Basis für Yum. Mögliche Werte sind CENTOS, CENTOS_DEBUG, CENTOS_VAULT, CENTOS_STREAM, ROCKY und EPEL.
  • REPOSITORY_PATH ist das spezifische Repository aus der Basis. Beispiel: "centos/8-stream/BaseOS/x86_64/os.

Artifact Registry erstellt Ihr Repository. Führen Sie den folgenden Befehl aus, um eine Beschreibung des Repositorys:

gcloud artifacts repositories describe REPOSITORY \
    --location=LOCATION

Nachdem Sie das Repository erstellt haben, gehen Sie so vor:

Repository-Beschreibungen bearbeiten

Sie können die Repository-Beschreibung über die Google Cloud Console oder die gcloud CLI verwenden können.

Console

  1. Öffnen Sie in der Cloud Console die Seite Repositories.

    Zur Seite „Repositories“

  2. Wählen Sie das Repository aus der Repository-Liste aus und klicken Sie auf Repository bearbeiten.

  3. Bearbeiten Sie die Repository-Beschreibung und klicken Sie dann auf Speichern.

gcloud

Führen Sie den folgenden Befehl aus, um die Repository-Beschreibung zu aktualisieren:

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

Ersetzen Sie Folgendes:

  • REPOSITORY: Name des Repositorys. Wenn Sie ein Standard-Repository konfiguriert haben, wird bei Weglassen des Flags dieses Standard-Repository verwendet.
  • PROJECT: die Google Cloud-Projekt-ID. Wenn dieses Flag nicht angegeben ist, wird das aktuelle Projekt oder das Standardprojekt verwendet.
  • LOCATION: einenregionalen oder multiregionalenSpeicherort. Verwenden Sie dieses Flag, um Repositories an einem bestimmten Speicherort aufzurufen. Wenn Sie einen Standard-Speicherort konfiguriert haben, wird bei Weglassen dieses Flags dieser Standardwert verwendet.
  • DESCRIPTION: eine Beschreibung für das Repository.

Zugriff auf vorgelagerte Quellen in einem Dienstperimeter

Dienste in einem Dienstperimeter von VPC Service Controls sind eingeschränkt Zugriff auf Ressourcen außerhalb des Perimeters.

Sie können den Zugriff auf Upstream-Quellen innerhalb einer bestimmten Google Cloud-Projekt und -Standort.

Standardmäßig verweigert Artifact Registry den Zugriff auf Upstream-Quellen, wenn Sie den Zugriff nicht explizit gewährt haben.

Für Artifact Registry ist die erforderliche Rolle der Artifact Registry-Administrator (roles/artifactregistry.admin).

Einstellungen für Upstream-Quellen ansehen

Führen Sie den folgenden Befehl aus, um die Konfiguration für eine bestimmte Kombination aus Projekt und Standort aufzurufen:

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

Mit dem folgenden Befehl können Sie beispielsweise die Einstellungen für Remote-Repositories in us-east1 im Projekt my-project aufrufen:

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

Zugriff auf Upstream-Quellen erlauben

Führen Sie den folgenden Befehl aus, um den Zugriff auf Upstream-Quellen an einem bestimmten Speicherort zuzulassen:

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

Verwenden Sie beispielsweise den folgenden Befehl, um alle Remote-Repositories in us-east1 im Projekt my-project, um auf die Upstream-Quellen außerhalb des Projekts zuzugreifen des Perimeters:

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

Zugriff auf Upstream-Quellen verweigern

Wenn Sie den Zugriff auf Upstream-Quellen verweigern, werden im Remote-Cache gespeicherte Artefakte sind Repositories weiterhin verfügbar.

Führen Sie den folgenden Befehl aus, um den Zugriff auf Upstream-Quellen an einem bestimmten Standort zu verweigern:

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

Verwenden Sie beispielsweise den folgenden Befehl, um den Zugriff auf Upstream-Quellen zu blockieren. außerhalb des Perimeters für alle Remote-Repositories in us-west1 im Projekt my-project:

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

Nächste Schritte