In diesem Dokument wird die Authentifizierung bei Upstream-Quellen für Remote-Repositories von Artifact Registry.
In diesem Dokument wird davon ausgegangen, dass Sie bereits eine Artifact Registry erstellt haben Remote-Repository und haben ein Konto beim externen Repository Quelle.
Weitere Informationen zu Remote-Repositories finden Sie in der Remote-Repositories – Übersicht
Erforderliche Rollen
Um die Berechtigungen zu erhalten, die Sie zum Konfigurieren der Authentifizierung bei vorgelagerten Quellen für Remote-Repositories benötigen, bitten Sie Ihren Administrator, Ihnen folgende IAM-Rollen für das Projekt:
-
Artifact Registry-Administrator (
roles/artifactregistry.admin
) -
Secret Manager-Administrator (
roles/secretmanager.admin
)
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Voreingestellte Upstream-Quellen
Informationen zum Konfigurieren der Authentifizierung für voreingestellte Upstream-Quellen finden Sie in den entsprechenden für jeden Upstream, der folgt:
Benutzerdefinierte Upstream-Quellen
Führen Sie die folgenden Schritte aus, um die Authentifizierung für benutzerdefinierte Upstream-Quellen zu konfigurieren: folgenden Schritten.
Zugriffstoken in einem Secret speichern
- Erstellen Sie ein Zugriffstoken in der privaten Registry.
- Erstellen Sie ein Secret in Secret Manager.
- Speichern Sie Ihr persönliches Zugriffstoken als Secret-Version.
Artifact Registry-Dienstkonto Zugriff auf Ihr Secret gewähren
Der Artifact Registry-Dienst-Agent agiert im Namen von Artifact Registry mit Google Cloud-Diensten. So erlauben Sie dem Dienst-Agent, Secrets zu verwenden müssen Sie dem Dienst-Agent die Berechtigung um die Secret-Version aufzurufen.
Die Dienst-Agent-ID lautet:
service-PROJECT-NUMBER@gcp-sa-artifactregistry.iam.gserviceaccount.com
PROJECT-NUMBER ist der/die/das Projektnummer des Google Cloud-Projekts, in dem Artifact Registry ausgeführt wird.
So gewähren Sie dem Artifact Registry-Dienst-Agent die Zugriffsfunktion für Secret Manager-Secrets Rolle:
Console
-
Rufen Sie in der Google Cloud 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.
C#
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Artifact Registry zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Go
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Artifact Registry zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Artifact Registry zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Artifact Registry zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
PHP
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Artifact Registry zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Artifact Registry zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Ruby
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Artifact Registry zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
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 Entziehen des Zugriffs auf Secrets finden Sie unter Zugriff auf Secrets verwalten
Dem Remote-Repository Upstream-Anmeldedaten hinzufügen
So aktualisieren Sie Ihr Remote-Repository mit den Anmeldedaten der Upstream-Quelle:
Console
Öffnen Sie in der Cloud Console die Seite Repositories.
Wählen Sie das Repository aus der Repository-Liste aus und klicken Sie auf Repository bearbeiten.
Aktualisieren oder fügen Sie im Abschnitt Remote-Repository-Authentifizierungsmodus Ihren Upstream-Quellnutzernamen und das Secret, das Ihr Zugriffstoken enthält.
gcloud-CLI
Führen Sie den folgenden Befehl aus, um Ihr Remote-Repository mit den Anmeldedaten der Upstream-Quelle zu aktualisieren: folgenden Befehl:
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
durch den Namen Ihres Artifact Registry-Remote-Servers zu erstellen.PROJECT_ID
durch Ihre Google Cloud-Projekt-ID.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 Befehlgcloud artifacts locations list
aus.USERNAME
durch den Nutzernamen der Upstream-Quelle.SECRET_PROJECT_ID
durch die Projekt-ID des Projekts in dem Sie Ihr Secret erstellt haben.SECRET_ID
durch den Namen, den Sie Ihrem Secret gegeben haben.SECRET_VERSION
durch die gespeicherte Secret-Version in Ihr Zugriffstoken ein.
Ihre Anmeldedaten werden verwendet, wenn das Remote-Repository das nächste Mal eine Anfrage sendet für ein Artefakt aus der vorgelagerten Quelle.
Nächste Schritte
- Erstellen Sie Bereinigungsrichtlinien, um nicht benötigte Artefakte zu bereinigen.