Wenn Sie die Upstream-Authentifizierung für Artifact Registry-Connector-Repositories konfigurieren, können Sie mit Ihren Kontoanmeldedaten eine Verbindung zu privaten externen Registries herstellen. Sie können ein persönliches Zugriffstoken in Secret Manager speichern und es an Ihr Connector-Repository anhängen, um Anfragen an Upstream-Quellen zu authentifizieren.
Für diese Schritte benötigen Sie ein Connector-Repository in Artifact Registry und ein Konto bei der externen Quelle. Weitere Informationen zu Connector-Repositories finden Sie in der Übersicht über Connector-Repositories.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Konfigurieren der Authentifizierung für Upstream-Quellen für Connector-Repositories benötigen:
- Artifact Registry-Administrator (
roles/artifactregistry.admin) - Secret Manager-Administrator (
roles/secretmanager.admin)
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.
Benutzerdefinierte Upstream-Quellen
Führen Sie die folgenden Schritte aus, um die Authentifizierung für nutzerdefinierte Upstream-Quellen zu konfigurieren.
Zugriffstoken in einem Secret speichern
- Erstellen Sie ein Zugriffstoken in der privaten Registry.
- Secret in Secret Manager erstellen
- Speichern Sie Ihr persönliches Zugriffstoken als Secret-Version.
Dem Artifact Registry-Dienstkonto Zugriff auf Ihr Secret gewähren
Der Artifact Registry-Dienst-Agent agiert im Namen von Artifact Registry, wenn er mit Cloud de Confiance -Diensten interagiert. Damit der Dienst-Agent in Secret Manager gespeicherte Secrets verwenden kann, müssen Sie ihm die Berechtigung zum Aufrufen Ihrer Secret-Version erteilen.
Die Kennung des Dienst-Agents lautet:
service-PROJECT-NUMBER@gcp-sa-artifactregistry.s3ns-system.iam.gserviceaccount.com
PROJECT-NUMBER ist die Projektnummer des Projekts Cloud de Confiance , in dem Artifact Registry ausgeführt wird.
So weisen Sie dem Artifact Registry-Dienst-Agent die Rolle Secret Manager Secret Accessor zu:
Console
-
Rufen Sie in der Cloud de Confiance Console die Seite Secret Manager auf:
-
Klicken Sie auf der Seite Secret Manager auf das Kästchen neben dem Namen des Secrets.
-
Falls das Fenster noch nicht geöffnet ist, klicken Sie auf Infofeld ansehen, um es zu öffnen.
-
Klicken Sie im Infofeld auf Hauptkonto hinzufügen.
-
Geben Sie im Textbereich Neue Hauptkonten die E-Mail-Adressen der Mitglieder ein, die Sie hinzufügen möchten.
-
Wählen Sie im Drop-down-Menü Rolle auswählen die Option Secret Manager und dann Zugriffsfunktion für Secret Manager-Secret aus.
gcloud
$ gcloud secrets add-iam-policy-binding secret-id \
--member="member" \
--role="roles/secretmanager.secretAccessor"
Dabei ist member ein IAM-Mitglied, z. B. ein Nutzer, eine Gruppe oder ein Dienstkonto.
API
Hinweis: Im Gegensatz zu den anderen Beispielen wird dadurch die gesamte IAM-Richtlinie ersetzt.
$ curl "https://secretmanager.googleapis.com/v1/projects/project-id/secrets/secret-id:setIamPolicy" \
--request "POST" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json" \
--data "{\"policy\": {\"bindings\": [{\"members\": [\"member\"], \"role\": \"roles/secretmanager.secretAccessor\"}]}}"
Weitere Informationen zum Gewähren oder Widerrufen des Zugriffs auf Secrets finden Sie unter Zugriff auf Secrets verwalten.
Upstream-Anmeldedaten zu Ihrem Connector-Repository hinzufügen
So aktualisieren Sie Ihr Connector-Repository mit den Anmeldedaten Ihrer Upstream-Quelle:
Console
Öffnen Sie in der Cloud de Confiance Console die Seite Repositories.
Wählen Sie in der Repository-Liste das Repository aus und klicken Sie auf Repository bearbeiten.
Aktualisieren oder fügen Sie im Abschnitt Authentifizierungsmodus für Connector-Repository den Nutzernamen der Upstream-Quelle und das Secret mit Ihrem Zugriffstoken hinzu.
gcloud-CLI
Führen Sie den folgenden Befehl aus, um Ihr Connector-Repository mit den Anmeldedaten Ihrer Upstream-Quelle zu aktualisieren:
gcloud artifacts repositories update REPOSITORY \
--project=PROJECT_ID \
--location=LOCATION \
--remote-username=USERNAME \
--remote-password-secret-version=projects/SECRET_PROJECT_ID/secrets/SECRET_ID/versions/SECRET_VERSION
Ersetzen Sie Folgendes:
REPOSITORY: der Name Ihres Artifact Registry-Connector-Repositorys.PROJECT_ID: Projekt-ID in Cloud de Confiance .LOCATION: der regionale oder multiregionale Speicherort für das Repository. Sie können dieses Flag weglassen, wenn Sie einen Standard-Speicherort festgelegt haben. Führen Sie den Befehlgcloud artifacts locations listaus, um eine Liste der unterstützten Standorte aufzurufen.USERNAME: Ihr Nutzername für die Upstream-Quelle.SECRET_PROJECT_ID: die Projekt-ID des Projekts, in dem Sie das Secret erstellt haben.SECRET_ID: der Name, den Sie Ihrem Secret gegeben haben.SECRET_VERSION: Die Secret-Version, in der Sie Ihr Zugriffstoken gespeichert haben.
Ihre Anmeldedaten werden verwendet, wenn das Connector-Repository das nächste Mal eine Anfrage für ein Artefakt von der Upstream-Quelle sendet.