In diesem Dokument wird beschrieben, wie Sie die Authentifizierung bei Upstream-Repositories von Maven Central für Remote-Repositories von Artifact Registry konfigurieren.
In diesem Dokument wird davon ausgegangen, dass Sie bereits ein Remote-Repository für Artifact Registry-Maven und ein Maven Central-Konto erstellt haben.
Weitere Informationen zu Remote-Repositories finden Sie in der Übersicht zu Remote-Repositories.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zu gewähren, damit Sie die Berechtigungen erhalten, die Sie zum Konfigurieren der Authentifizierung bei Maven Central für Remote-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 verwalten.
Möglicherweise können Sie die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Persönliches Zugriffstoken für Maven Central erstellen
- Melden Sie sich in Maven Central an.
Erstellen Sie ein Zugriffstoken.
Verwenden Sie den Nutzercode für Ihr persönliches Zugriffstoken als Nutzernamen, wenn Sie Ihre Anmeldedaten zu Artifact Registry hinzufügen. Weitere Informationen zum Verwalten von Nutzertokens in Maven Central finden Sie unter Sicherheitseinrichtung mit Nutzertokens.
Persönliches Zugriffstoken in einer Secret-Version speichern
- Erstellen Sie ein Secret in Secret Manager.
- Speichern Sie Ihr persönliches Zugriffstoken von Maven Central als Secret-Version.
Dem Artifact Registry-Dienstkonto Zugriff auf Ihr Secret gewähren
Der Artifact Registry-Dienst-Agent agiert im Namen von Artifact Registry bei der Interaktion mit Google Cloud-Diensten. Damit der Dienst-Agent die in Secret Manager gespeicherten Secrets verwenden kann, müssen Sie dem Dienst-Agent die Berechtigung zum Aufrufen Ihrer Secret-Version erteilen.
Die Dienst-Agent-ID lautet:
service-PROJECT-NUMBER@gcp-sa-artifactregistry.iam.gserviceaccount.com
PROJECT-NUMBER ist die Projektnummer des Google Cloud-Projekts, in dem Artifact Registry ausgeführt wird.
So gewähren Sie dem Artifact Registry-Dienst-Agent die Rolle Zugriffsfunktion für Secret Manager-Secret:
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 Anmeldedaten von Maven Central hinzufügen
So aktualisieren Sie Ihr Remote-Repository mit Ihren Anmeldedaten von Maven Central:
Console
Öffnen Sie in der Cloud Console die Seite Repositories.
Wählen Sie in der Repository-Liste das Repository aus und klicken Sie auf Repository bearbeiten.
Aktualisieren Sie im Abschnitt Remote-Repository-Authentifizierungsmodus den Nutzercode von Maven Central, der mit Ihrem persönlichen Zugriffstoken verknüpft ist, als Nutzernamen und die Secret-Version, die Ihr Maven Central-Zugriffstoken enthält.
gcloud-CLI
Führen Sie den folgenden Befehl aus, um Ihr Remote-Repository mit Ihren Anmeldedaten von Maven Central zu aktualisieren:
gcloud artifacts repositories update REPOSITORY \
--project=PROJECT_ID \
--location=LOCATION \
--remote-username=USER_CODE \
--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-Repositorys.PROJECT_ID
durch Ihre Google Cloud-Projekt-ID.LOCATION
durch den regionalen oder multiregionalen Standort des Repositorys. Sie können dieses Flag weglassen, wenn Sie einen Standard-Speicherort festgelegt haben. Führen Sie den Befehlgcloud artifacts locations list
aus, um eine Liste der unterstützten Standorte aufzurufen.USER_CODE
ist der Nutzercode, der mit Ihrem Zugriffstoken für Maven Central verknüpft ist. Weitere Informationen zum Verwalten von Nutzertokens in Maven Central finden Sie unter Sicherheitseinrichtung mit Nutzertokens.SECRET_PROJECT_ID
durch die Projekt-ID des Projekts, in dem Sie das Secret erstellt haben.SECRET_ID
durch den Namen, den Sie Ihrem Secret gegeben haben.SECRET_VERSION
durch die Secret-Version, in der Sie Ihr Zugriffstoken von Maven Central gespeichert haben.
Ihre Anmeldedaten werden verwendet, wenn das Remote-Repository das nächste Mal eine Anfrage für ein Artefakt von der Upstream-Quelle sendet.