Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verwenden Sie AWS Secrets Manager in GitLab
AWS Secrets Manager integriert mit GitLab. Sie können Secrets Manager Secrets nutzen, um Ihre GitLab Anmeldeinformationen zu schützen, sodass sie nicht mehr fest codiert sind. GitLab Stattdessen ruft GitLab Runner
Um diese Integration zu nutzen, erstellen Sie einen OpenID Connect (OIDC) -Identitätsanbieter in IAM AWS Identity and Access Management und eine IAM-Rolle. Dadurch kann GitLab Runner auf Ihr Secrets Manager Manager-Geheimnis zugreifen. Weitere Informationen zu GitLab CI/CD und OIDC finden Sie in der Dokumentation. GitLab
Überlegungen
Wenn Sie eine nicht öffentliche GitLab Instanz verwenden, können Sie diese Secrets Manager Manager-Integration nicht verwenden. Sehen Sie sich stattdessen die GitLab Dokumentation für nicht öffentliche Instanzen an
Voraussetzungen
Um Secrets Manager mit zu integrieren GitLab, müssen Sie die folgenden Voraussetzungen erfüllen:
-
Erstellen Sie ein AWS Secrets Manager Geheimnis
Sie benötigen ein Secrets Manager Manager-Geheimnis, das bei Ihrem GitLab Job abgerufen wird und das Festcodieren dieser Anmeldeinformationen überflüssig macht. Sie benötigen die geheime ID von Secrets Manager, wenn Sie Ihre GitLab Pipeline konfigurieren. Weitere Informationen finden Sie unter Erstelle ein AWS Secrets Manager Geheimnis.
-
Geben Sie in der IAM-Konsole GitLab Ihren OIDC-Anbieter an.
In diesem Schritt erstellen Sie GitLab Ihren OIDC-Anbieter in der IAM-Konsole. Weitere Informationen finden Sie unter Erstellen eines OpenID Connect (OIDC) -Identitätsanbieters und in der Dokumentation. GitLab
Verwenden Sie beim Erstellen des OIDC-Anbieters in der IAM-Konsole die folgenden Konfigurationen:
-
Stellen Sie das auf Ihre Instanz
provider URL
ein. GitLab Beispiel,gitlab.example.com
. -
Setzen Sie das
audience
oderaud
aufsts.amazonaws.com
.
-
-
Erstellen Sie eine IAM-Rolle und -Richtlinie
Sie müssen eine IAM-Rolle und -Richtlinie erstellen. Diese Rolle wird von GitLab with AWS Security Token Service (STS) übernommen. Weitere Informationen finden Sie unter Erstellen einer Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien.
-
Verwenden Sie in der IAM-Konsole die folgenden Einstellungen, wenn Sie die IAM-Rolle erstellen:
-
Setzen Sie
Trusted entity type
aufWeb identity
. -
Setzen Sie
Group
aufyour GitLab group
. -
Stellen
Identity provider
Sie dieselbe Anbieter-URL (die GitLab Instanz) ein, die Sie in Schritt 2 verwendet haben. -
Stellen
Audience
Sie dieselbe Zielgruppe ein, die Sie in Schritt 2 verwendet haben.
-
Sie müssen außerdem eine IAM-Richtlinie erstellen, um den GitLab Zugriff darauf zu AWS Secrets Manager ermöglichen. Sie können diese Richtlinie zu Ihrer Vertrauensrichtlinie hinzufügen. Weitere Informationen finden Sie unter IAM-Richtlinien erstellen.
-
Integration AWS Secrets Manager mit GitLab
Nachdem Sie die Voraussetzungen erfüllt haben, können Sie konfigurieren, GitLab dass Secrets Manager zum Schutz Ihrer Anmeldeinformationen verwendet wird.
GitLab Pipeline für die Verwendung von Secrets Manager konfigurieren
Sie müssen Ihre GitLab CI/CD-Konfigurationsdatei
-
Die Zielgruppe des Tokens ist auf STS festgelegt.
-
Die geheime ID von Secrets Manager.
-
Die IAM-Rolle, die GitLab Runner bei der Ausführung von Jobs in der GitLab Pipeline übernehmen soll.
-
Der AWS-Region Ort, an dem das Geheimnis gespeichert ist.
GitLab ruft das Geheimnis aus Secrets Manager ab und speichert den Wert in einer temporären Datei. Der Pfad zu dieser Datei wird in einer CI/CD Variablen gespeichert, ähnlich wie CI/CD-Variablen vom Dateityp
Im Folgenden finden Sie einen Auszug aus der YAML-Datei für eine CI/CD-Konfigurationsdatei: GitLab
variables: AWS_REGION:
us-east-1
AWS_ROLE_ARN: 'arn:aws:iam::111122223333
:role/gitlab-role
' job: id_tokens: AWS_ID_TOKEN: aud: 'sts.amazonaws.com' secrets: DATABASE_PASSWORD: aws_secrets_manager: secret_id: "arn:aws:secretsmanager:us-east-1
:111122223333
:secret:secret-name
"
Weitere Informationen finden Sie in der GitLabSecrets Manager Manager-Integrationsdokumentation
Optional können Sie Ihre OIDC-Konfiguration in testen. GitLab Weitere Informationen finden Sie in der GitLab Dokumentation zum Testen der OIDC-Konfiguration
Fehlerbehebung
Die folgenden Informationen können Ihnen helfen, häufig auftretende Probleme zu beheben, die bei der Integration von Secrets Manager auftreten können GitLab.
GitLab Probleme mit der Pipeline
Wenn Sie Probleme mit der GitLab Pipeline haben, stellen Sie Folgendes sicher:
-
Ihre YAML-Datei ist ordnungsgemäß formatiert. Weitere Informationen finden Sie in der DokumentationGitLab.
-
Ihre GitLab Pipeline nimmt die richtige Rolle ein, verfügt über die entsprechenden Berechtigungen und hat Zugriff auf das richtige AWS Secrets Manager Geheimnis.
Weitere Ressourcen
Die folgenden Ressourcen können Ihnen bei der Behebung von Problemen mit GitLab und helfen AWS Secrets Manager: