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 es dem Amazon EKS Pod Identity-Dienst (pods.eks.amazonaws.com) ermöglicht, die Rolle zu übernehmen und die Sitzung zu taggen:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "pods.eks.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:TagSession" ] } ] }
SecretProviderClass
Sie verwenden YAML, um zu beschreiben, welche Parameter mithilfe von ASCP in Amazon EKS bereitgestellt 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 Parameterfeld enthält die Details der Mount-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 erhöht den Mehraufwand für Mount-Anfragen. Wir empfehlen daher, die Region für Cluster anzugeben, die eine große Anzahl von Pods verwenden.
Wenn Sie dies auch angeben
failoverRegion, versucht der ASCP, den Parameter aus beiden Regionen abzurufen. Wenn eine der Regionen einen4xxFehler zurückgibt, z. B. aufgrund eines Authentifizierungsproblems, hängt der ASCP keinen der beiden Parameter ein. Wenn der Parameter erfolgreich abgerufen wurderegion, hängt der ASCP diesen Parameterwert ein. Wenn der Parameter nicht erfolgreich abgerufenregion, aber erfolgreich von abgerufen wurdefailoverRegion, hängt der ASCP diesen Parameterwert ein. failoverRegion-
(Optional) Wenn Sie dieses Feld angeben, versucht der ASCP, den Parameter aus den in
regionund diesem Feld definierten Regionen abzurufen. Wenn eine der Regionen einen4xxFehler zurückgibt, z. B. aufgrund eines Authentifizierungsproblems, hängt der ASCP keinen der beiden Parameter ein. Wenn der Parameter erfolgreich abgerufen wurderegion, hängt der ASCP diesen Parameterwert ein. Wenn der Parameter nicht erfolgreich abgerufenregion, aber erfolgreich von abgerufen wurdefailoverRegion, hängt der ASCP diesen Parameterwert ein. Ein Beispiel für die Nutzung dieses Felds finden Sie unter Parameter-Failover für mehrere Regionen. - 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-Rollen für Dienstkonten (IRSA) (IRSA) verwendet.
-
Verwenden Sie einen der folgenden Werte, um EKS Pod Identity zu verwenden:
"true"„,,"True","TRUE"oder."t""T" -
Um IRSA explizit zu verwenden, setzen Sie ihn auf 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-Rollen für Dienstkonten verwendet werden. Bei Werten wird nicht zwischen Groß- und Kleinschreibung unterschieden. Gültige Werte für sind:
-
"ipv4","IPv4"„, oder"IPV4"— Erzwingt die Verwendung des Pod Identity Agent-Endpunkts IPv4 -
"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 Geheimnisses an, der abgerufen werden soll. Denn Parameter Store dies ist der
Namedes Parameters und kann entweder der Name oder der vollständige ARN des Parameters sein. Für Secrets Manager ist dies derSecretIdParameter und 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 die Versions-ID jedes Mal aktualisieren müssen, wenn Sie den Parameter aktualisieren. 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 bereitgestellt werden sollen. Um dieses Feld verwenden zu können, 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 Name der Datei, die im Amazon EKS-Pod bereitgestellt 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 der ASCP, sowohl den im
objectNamePrimärfeld angegebenen Parameter als auch den imfailoverObjectobjectNameUnterfeld angegebenen Parameter abzurufen. Wenn einer der beiden Parameter einen4xxFehler zurückgibt, z. B. aufgrund eines Authentifizierungsproblems, hängt der ASCP keinen der beiden Parameter ein. Wenn der Parameter erfolgreich vom Primärserver abgerufen wurdeobjectName, hängt der ASCP diesen Parameterwert ein. Wenn der Parameter nicht erfolgreich von der PrimärseiteobjectName, aber erfolgreich vom Failover abgerufen wirdobjectName, hängt der ASCP diesen Parameterwert ein. 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 der Failover-Parameter kein Replikat ist. Ein Beispiel dazu, wie Sie ein Replikat angeben, finden Sie unter Parameter-Failover für mehrere Regionen.
- objectName (Objektname)
-
Der Name oder der 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 die Versions-ID jedes Mal aktualisieren müssen, wenn Sie den Parameter aktualisieren. 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 einhängen
Dieses Beispiel zeigt, wie drei verschiedene Parametertypen gemountet werden:
-
Ein durch den vollständigen ARN spezifizierter Parameter
-
Ein namentlich angegebener Parameter
-
Eine Parameterversion eines Geheimnisses
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: Hängen Sie Schlüssel-Wert-Paare aus einem Parameter ein
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: Beispiele für die Failover-Konfiguration
Diese Beispiele zeigen, wie Failover für Parameter konfiguriert wird.
Parameter-Failover für mehrere Regionen
Dieses Beispiel zeigt, wie ein automatisches Failover für einen Parameter konfiguriert wird, 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 ein Failover auf einen anderen Parameter (kein Replikat) konfiguriert wird:
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: