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.
AWSAnbieter von Workload-Anmeldeinformationen
Der AWS Workload Credentials Provider automatisiert die Verwendung von öffentlichen und privaten TLS-Zertifikaten, die aus ACM exportiert wurden. Der Anbieter ruft regelmäßig Zertifikate und ihre privaten Schlüssel ab, schreibt sie in konfigurierte Pfade und führt optional einen Befehl aus, um abhängige Dienste wie Webserver neu zu laden.
Sie können den Workload Credentials Provider mit den folgenden Computerumgebungen verwenden:
-
Amazon Elastic Compute Cloud (Amazon EC2)
-
On-premises Server mit AWS Anmeldeinformationen
Der Workload Credentials Provider verwendet die IAM-Rollenannahme, um Zertifikate abzurufen. Er wird nativ als Systemdienst sowohl unter Linux als auch unter Windows unter einem dedizierten Benutzer mit niedrigen Rechten ausgeführt und schreibt Zertifikatsdateien mit eingeschränkten Rechten.
Wichtig
Mit diesem Anbieter können nur exportierbare Zertifikate verwendet werden. Weitere Informationen finden Sie unter AWS Certificate Manager exportierbare öffentliche Zertifikate und Exportieren eines privaten Zertifikats.
Der AWS Workload Credentials Provider ist Open Source. Quellcode und Beiträge finden Sie im GitHub Repository
Wie funktioniert die Automatisierung von Zertifikaten
Der Anbieter verwendet einen Scheduler, der jedes konfigurierte Zertifikat in einem festen Intervall aktualisiert:
-
Das Aktualisierungsintervall beträgt 24 Stunden.
-
In jedem Zyklus exportiert der Anbieter das Zertifikat, vergleicht es mit den Dateien auf der Festplatte und schreibt nur dann neue Dateien, wenn sich der Inhalt geändert hat.
-
Wenn die Zertifikatsdateien aktualisiert werden, wird die Konfiguration
refresh_commandausgeführt (z. B. um NGINX oder Apache neu zu laden). -
Wenn sich der Inhalt des Zertifikats nicht geändert hat, wird der Befehl zum Aktualisieren übersprungen.
Der Anbieter führt bei jedem Systemstart und kurz nach dem Start des Dienstes eine erste Aktualisierung mit einem kleinen zufälligen Jitter durch, um synchronisierte API-Aufrufe zu vermeiden, wenn mehrere Anbieter gleichzeitig in der Flotte starten.
Der Anbieter unterstützt auch das dynamische Neuladen von Konfigurationen, sodass Sie Zertifikate hinzufügen, entfernen oder ändern können, ohne sie neu installieren zu müssen. Weitere Informationen finden Sie unter Dynamisches Neuladen der Konfiguration.
Voraussetzungen
Stellen Sie vor der Installation des Anbieters sicher, dass Sie über Folgendes verfügen:
-
Eine Linux-Instance mit systemd (Amazon Linux 2023, Ubuntu 20.04+ oder RHEL 8+)
-
Oder eine Windows-Instance, auf der Windows Server 2016 oder höher mit 5.1 oder höher ausgeführt wird PowerShell
-
Administratorzugriff zum Ausführen des Installationsprogramms
-
Ein exportierbares Zertifikat in ACM
-
Eine IAM-Rolle mit ACM-Exportberechtigungen (siehe) Erforderliche Berechtigungen
-
AWSauf der Instance verfügbare Anmeldeinformationen (Instanzprofil, Umgebungsvariablen oder Anmeldeinformationsdatei)
Installieren Sie den Anbieter
Konfigurieren Sie den Anbieter
Erstellen Sie eine TOML-Konfigurationsdatei mit Ihren Zertifikatsdetails. Das Installationsprogramm kopiert diese Datei in, /etc/aws-workload-credentials-provider/config.toml wenn Sie die --config Option verwenden.
Anmerkung
Wenn diese chain_path Option weggelassen wird, wird die Zertifikatskette an die Datei unter angehängtcertificate_path, um eine vollständige Kettendatei zu erzeugen. Dies ist kompatibel mit Webservern, die eine einzelne Datei erwarten, die das Zertifikat und seine Kette enthält.
Dynamisches Neuladen der Konfiguration
Sie können die Konfiguration des Anbieters ohne Neuinstallation aktualisieren, indem Sie den acm reload Befehl ausführen. Dadurch wird die neue Konfiguration validiert, die Berechtigungen entsprechend den neuen Zertifikatpfaden aktualisiert und der Dienst neu gestartet.
Aus der Konfiguration entfernte Zertifikate werden nicht mehr aktualisiert. Neue Zertifikate beginnen sofort mit dem ersten Export. Jedes Zertifikat wird als eigenständige Aufgabe ausgeführt, sodass ein Fehler in einem Zertifikat keine Auswirkungen auf andere hat.
Erforderliche Berechtigungen
Basisanmeldedaten
Die Basisanmeldedaten des Anbieters (Instanzprofil oder Umgebung) müssen in der Lage sein, die in den einzelnen Zertifikaten angegebene Rolle zu übernehmenrole_arn:
{ "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::123456789012:role/ACMExportRole" }
Rolle für den Export von Zertifikaten
Die in angegebene Rolle role_arn erfordert die folgenden Berechtigungen:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "acm:ExportCertificate", "Resource": "arn:aws:acm:us-west-2:123456789012:certificate/*" } ] }
Die Vertrauensrichtlinie der Rolle muss es der Basisidentität des Anbieters ermöglichen, diese anzunehmen:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/EC2InstanceRole" }, "Action": "sts:AssumeRole" } ] }
Befehlsberechtigungen aktualisieren (Linux)
Unter Linux führt der Anbieter den konfigurierten Befehl ausrefresh_command. sudo Das Installationsprogramm generiert einen Sudoers-Eintrag/etc/sudoers.d/aws-workload-credentials-provider, der es dem Anbieterbenutzer ermöglicht, den exakt konfigurierten Befehl ohne Kennwortabfrage auszuführen.
Wichtig
Stellen Sie sicher, dass das /etc/sudoers Verzeichnis enthalten ist/etc/sudoers.d. Das Installationsprogramm warnt, wenn diese Include-Direktive nicht vorhanden ist. Ohne sie hat die generierte Sudoers-Datei keine Wirkung und die Aktualisierungsbefehle schlagen fehl.
Unter Windows löst der Anbieter die refresh_command als SYSTEM geplante Aufgabe aus.
Überprüfen der Installation
Stellen Sie nach der Installation sicher, dass der Anbieter läuft und Zertifikate geschrieben werden:
Konfigurationsreferenz
| Feld | Erforderlich | Standard | Description |
|---|---|---|---|
logging.log_level |
Nein | info |
Ausführlichkeit der Protokollierung:debug,,,info, warn error none |
logging.log_to_file |
Nein | true |
Protokolle in die Datei schreiben (true) oder stdout/stderr () false |
capabilities.acm.enabled |
Nein | false |
Aktivieren oder deaktivieren Sie die ACM-Funktion |
certificates[].certificate_arn |
Ja | — | ARN des zu exportierenden ACM-Zertifikats |
certificates[].role_arn |
Ja | — | Für den Anruf zu übernehmende IAM-Rolle ARN ExportCertificate |
certificates[].certificate_path |
Ja | — | Absoluter Pfad zum Schreiben der Zertifikatsdatei |
certificates[].private_key_path |
Ja | — | Absoluter Pfad zum Schreiben der privaten Schlüsseldatei |
certificates[].chain_path |
Nein | — | Absoluter Pfad zum Schreiben der Zertifikatskette. Wenn nicht angegeben, wird die Kette angehängt an certificate_path |
certificates[].refresh_command |
Nein | — | Befehl, der ausgeführt wird, nachdem die Zertifikatsdateien aktualisiert wurden. Muss ein absoluter Pfad sein |
certificates[].certificate_and_chain_permission |
Nein | 0600 |
Dateiberechtigungen für Zertifikat- und Kettendateien (modeLinux-Format) |
certificates[].key_permission |
Nein | 0600 |
Dateiberechtigungen für die private Schlüsseldatei (modeLinux-Format) |
Protokollierung
Unter Linux meldet sich der Anbieter bei an/opt/aws/workload-credentials-provider/logs/acm_provider.log.
Unter Windows meldet sich der Anbieter anC:\ProgramData\AWS\WorkloadCredentialsProvider\logs\acm_provider.log. Ereignisse beim Starten und Beenden von Diensten werden auch im Windows-Anwendungsereignisprotokoll unter der Quelle aufgezeichnetAWSWorkloadCredentialsProvider-ACM.
Protokollrotation — Der Anbieter erstellt eine neue Protokolldatei, wenn die aktuelle Datei 10 MB erreicht, und speichert bis zu fünf archivierte Protokolldateien.
AWSDienstprotokollierung — Wenn der Anbieter anruftExportCertificate, wird dieser Anruf AWS CloudTrail mit einer User-Agent-Zeichenfolge aufgezeichnet, die Folgendes enthältaws-workload-credentials-provider. Die internen Operationen des Anbieters (Scheduler-Zyklen, Schreibvorgänge an Dateien) erscheinen nur im lokalen Protokoll.
Sie können die Protokollierung mit den log_to_file Einstellungen log_level und konfigurieren. Weitere Informationen finden Sie unter Konfigurationsreferenz.