AWS Systems ManagerChange Managersteht neuen Kunden nicht mehr offen. Bestandskunden können den Service weiterhin wie gewohnt nutzen. Weitere Informationen finden Sie unter Änderung der AWS Systems ManagerChange Manager Verfügbarkeit.
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.
AWS Codebeispiele für Secrets und Configuration Provider
Beispiele für ASCP-Authentifizierung und Zugriffskontrolle
Beispiel: IAM-Richtlinie, die dem Service Amazon EKS Pod Identity (pods.eks.amazonaws.com) ermöglicht, die Rolle zu übernehmen und die Sitzung zu taggen:
SecretProviderClass
Sie verwenden YAML, um zu beschreiben, welche Parameter mithilfe von ASCP in Amazon EKS gemountet werden sollen. Beispiele finden Sie unter SecretProviderClass-Nutzung.
SecretProviderClass YAML-Struktur
apiVersion: secrets-store.csi.x-k8s.io/v1 kind: SecretProviderClass metadata: name:namespec: provider: aws parameters: region: failoverRegion: pathTranslation: usePodIdentity: preferredAddressType: objects:
Das Feld Parameter enthält die Details der Mounting-Anfrage:
- Region
-
(Optional) Der Wert AWS-Region des Parameters. Wenn Sie dieses Feld nicht verwenden, sucht der ASCP die Region aus der Anmerkung auf dem Knoten. Diese Suche steigert den Overhead von Mounting-Anfragen. Daher wird empfohlen, die Region für Cluster mit einer großen Anzahl von Pods anzugeben.
Wenn Sie auch
failoverRegionangeben, versucht ASCP, den Parameter aus beiden Regionen abzurufen. Wenn eine Region einen4xx-Fehler zurückgibt, z. B. aufgrund eines Authentifizierungsproblems, mountet ASCP keinen der Parameter. Wenn der Parameter erfolgreich vonregionabgerufen wurde, mountet ASCP diesen Parameterwert. Wenn das Secret nicht erfolgreich vonregionabgerufen wurde, aber erfolgreich vonfailoverRegionabgerufen werden konnte, mountet ASCP diesen Parameter-Wert. failoverRegion-
(Optional) Wenn Sie dieses Feld angeben, versucht ASCP, das Secret aus den Regionen abzurufen, die in
regionund diesem Feld definiert sind. Wenn eine Region einen4xx-Fehler zurückgibt, z. B. aufgrund eines Authentifizierungsproblems, mountet ASCP keinen der Parameter. Wenn der Parameter erfolgreich vonregionabgerufen wurde, mountet ASCP diesen Parameterwert. Wenn das Secret nicht erfolgreich vonregionabgerufen wurde, aber erfolgreich vonfailoverRegionabgerufen werden konnte, mountet ASCP diesen Parameter-Wert. Ein Beispiel für die Nutzung dieses Felds finden Sie unter Multiregionaler Parameter-Failover. - pathTranslation (Pfadangabe)
-
(Optional) Ein einzelnes Ersetzungszeichen, das verwendet werden soll, wenn der Dateiname in Amazon EKS das Pfadtrennzeichen enthält, z. B. Schrägstrich (/) unter Linux. ASCP kann keine gemountete Datei erstellen, die ein Pfadtrennzeichen enthält. Stattdessen ersetzt ASCP das Pfadtrennzeichen durch ein anderes Zeichen. Wenn Sie dieses Feld nicht verwenden, ist das Ersatzzeichen ein Unterstrich (_), d. h.
My/Path/Parameterwird alsMy_Path_Parametergemountet.Um die Zeichenersetzung zu verhindern, geben Sie die Zeichenfolge
Falseein. usePodIdentity-
(Optional) Legt den Authentifizierungsansatz fest. Wenn nicht angegeben, wird standardmäßig IAM Roles for Service Accounts (IRSA) verwendet.
-
Verwenden Sie einen der folgenden Werte, um EKS Pod Identity zu verwenden:
"true","True","TRUE","t"oder"T". -
Wenn Sie explizit IRSA nutzen möchten, verwenden Sie einen der folgenden Werte:
"false","False","FALSE","f"oder"F".
-
preferredAddressType-
(Optional) Gibt den bevorzugten IP-Adresstyp für die Pod-Identity-Agent-Endpunktkommunikation an. Das Feld ist nur bei Verwendung der EKS-Pod-Identity-Funktion relevant und wird ignoriert, wenn IAM-Roles for Service Accounts verwendet wird. Bei den Werten wird zwischen Groß- und Kleinschreibung unterschieden. Folgende sind gültige Werte:
-
"ipv4","IPv4"„, oder"IPV4"— Erzwingt die Verwendung des Pod Identity IPv4 Agent-Endpunkts -
"ipv6","IPv6", oder"IPV6"— Erzwingen Sie die Verwendung des Pod Identity IPv6 Agent-Endpunkts -
nicht spezifiziert — auto Endpunktauswahl verwenden, zuerst den IPv4 Endpunkt ausprobieren und bei einem Fehler auf den IPv6 Endpunkt IPv4 zurückgreifen
-
- objects (Objekte)
-
Eine Zeichenfolge, die eine YAML-Deklaration der bereitzustellenden Secrets enthält. Wir empfehlen, eine mehrzeilige YAML-Zeichenfolge oder ein Pipe-Zeichen (|) zu verwenden.
- objectName (Objektname)
-
Erforderlich Gibt den Namen des Parameters oder Secrets an, das abgerufen werden soll. Für Parameter Store ist dies der
Namedes Parameters und kann entweder der Name oder der vollständige ARN sein. Für Secrets Manager ist dies der ParameterSecretIdund kann entweder der Anzeigename oder der vollständige ARN des Secrets sein. - objectType
-
Erforderlich, wenn Sie keinen Secrets Manager ARN für
objectNameverwenden. Geben Sie als Parameter Storessmparameterein. Verwenden Sie für Secrets Managersecretsmanager. - objectAlias
-
(Optional) Der Dateiname des Secrets im Amazon-EKS-Pod. Wenn Sie dieses Feld nicht angeben, wird
objectNameals Dateiname angezeigt. - objectVersion (Objektversion)
-
(Optional) Die Versions-ID des Parameters. Nicht empfohlen, da Sie jedes Mal, wenn Sie den Parameter aktualisieren, die Versions-ID aktualisieren müssen. Standardmäßig wird die neueste Version verwendet. Wenn Sie eine
failoverRegionangeben, stellt dieses Feld den primärenobjectVersiondar. - objectVersionLabel
-
(Optional) Der Alias für die Version. Die Standardversion ist die neueste Version
AWSCURRENT. Wenn Sie einefailoverRegionangeben, stellt dieses Feld den primärenobjectVersionLabeldar. - jmesPath
-
(Optional) Eine Zuordnung der Schlüssel im Parameter zu den Dateien, die in Amazon EKS gemountet werden sollen. Um dieses Feld zu verwenden, muss Ihr Parameterwert im JSON-Format vorliegen.
Das folgende Beispiel zeigt, wie ein JSON-kodierter Parameter aussieht.
{ "username" : "myusername", "password" : "mypassword" }Die Schlüssel sind
usernameundpassword. Der Wert, der mitusernameverbunden ist, istmyusername, und der Wert, der mitpasswordverbunden ist, istmypassword.Wenn Sie dieses Feld verwenden, müssen Sie die Unterfelder
pathundobjectAliasangeben.- Pfad
-
Ein Schlüssel aus einem Schlüssel-Wert-Paar im JSON des Parameterwerts. Wenn das Feld einen Bindestrich enthält, verwenden Sie einfache Anführungszeichen als Escape-Zeichen. Beispiel:
path: '"hyphenated-path"' - objectAlias
-
Der Dateiname, der im Amazon-EKS-Pod gemountet werden soll. Wenn das Feld einen Bindestrich enthält, verwenden Sie einfache Anführungszeichen als Escape-Zeichen. Beispiel:
objectAlias: '"hyphenated-alias"'
failoverObject-
(Optional) Wenn Sie dieses Feld angeben, versucht ASCP, den im primären
objectNameangegebenen Parameter und den imfailoverObject-objectName-Unterfeld angegebenen Parameter abzurufen. Wenn einer der Parameter einen4xx-Fehler zurückgibt, z. B. aufgrund eines Authentifizierungsproblems, mountet ASCP keinen der Parameter. Wenn der Parameter erfolgreich vom primärenobjectNameabgerufen wurde, mountet ASCP diesen Parameterwert. Wenn der Parameter nicht erfolgreich vom primärenobjectNameabgerufen wurde, aber erfolgreich vom Failover-objectNameabgerufen werden konnte, mountet ASCP diesen Parameterwert. Wenn Sie dieses Feld angeben, müssen Sie auch das FeldobjectAliasangeben. Ein Beispiel für die Nutzung dieses Felds finden Sie unter Failover auf einen anderen Parameter.In der Regel verwenden Sie dieses Feld, wenn es sich bei dem Failover-Parameter nicht um ein Replikat handelt. Ein Beispiel dazu, wie Sie ein Replikat angeben, finden Sie unter Multiregionaler Parameter-Failover.
- objectName (Objektname)
-
Der Name oder vollständige ARN des Failover-Parameters. Wenn Sie einen ARN verwenden, muss die Region im ARN mit dem Feld
failoverRegionübereinstimmen. - objectVersion (Objektversion)
-
(Optional) Die Versions-ID des Parameters. Muss mit der primären
objectVersionübereinstimmen. Nicht empfohlen, da Sie jedes Mal, wenn Sie den Parameter aktualisieren, die Versions-ID aktualisieren müssen. Standardmäßig wird die neueste Version verwendet. - objectVersionLabel
-
(Optional) Der Alias für die Version. Die Standardversion ist die neueste Version
AWSCURRENT.
Erstellen Sie eine SecretProviderClass Basiskonfiguration, um Parameter in Ihren Amazon EKS-Pods zu mounten.
SecretProviderClass-Nutzung
Verwenden Sie diese Beispiele, um SecretProviderClass-Konfigurationen für verschiedene Szenarien zu erstellen.
Beispiel: Parameter nach Namen oder ARN mounten
Dieses Beispiel zeigt, wie drei verschiedene Parametertypen gemountet werden:
-
Ein Parameter, der anhand des vollständigen ARN angegeben wird
-
Ein Parameter, der anhand des Namens angegeben wird
-
Eine Parameterversion eines Secrets
apiVersion: secrets-store.csi.x-k8s.io/v1 kind: SecretProviderClass metadata: name:aws-parametersspec: provider: aws parameters: objects: | - objectName: "arn:aws:ssm:us-east-2:777788889999:parameter:MyParameter2-d4e5f6" - objectName: "MyParameter3" objectType: "ssmparameter" - objectName: "MyParameter4" objectType: "ssmparameter" objectVersionLabel: "AWSCURRENT"
Beispiel: Schlüssel-Wert-Paare aus einem Parameter mounten
Dieses Beispiel zeigt, wie bestimmte Schlüssel-Wert-Paare aus einem Parameter im JSON-Format gemountet werden:
apiVersion: secrets-store.csi.x-k8s.io/v1 kind: SecretProviderClass metadata: name:aws-parametersspec: provider: aws parameters: objects: | - objectName: "arn:aws:ssm:us-east-2:777788889999:parameter:MyParameter-a1b2c3" jmesPath: - path: username objectAlias: dbusername - path: password objectAlias: dbpassword
Beispiel: verschiedene Failover-Konfigurationen
Diese Beispiele veranschaulichen, wie Failover für Parameter konfiguriert wird.
Multiregionaler Parameter-Failover
Dieses Beispiel zeigt, wie Sie einen automatischen Failover für einen Parameter konfigurieren, der über mehrere Regionen repliziert wird:
apiVersion: secrets-store.csi.x-k8s.io/v1 kind: SecretProviderClass metadata: name:aws-parametersspec: provider: aws parameters: region: us-east-1 failoverRegion: us-east-2 objects: | - objectName: "MyParameter"
Failover auf einen anderen Parameter
Dieses Beispiel zeigt, wie Sie einen Failover auf einen anderen Parameter (kein Replikat) konfigurieren:
apiVersion: secrets-store.csi.x-k8s.io/v1 kind: SecretProviderClass metadata: name: aws-parameters spec: provider: aws parameters: region: us-east-1 failoverRegion: us-east-2 objects: | - objectName: "arn:aws:ssm:us-east-1:777788889999:parameter:MyParameter-a1b2c3" objectAlias: "MyMountedParameter" failoverObject: - objectName: "arn:aws:ssm:us-east-2:777788889999:parameter:MyFailoverParameter-d4e5f6"
Weitere Ressourcen
Weitere Informationen zur Verwendung von ASCP mit Amazon EKS finden Sie in den folgenden Ressourcen: