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 Secrets mithilfe des ASCP in Amazon EKS gemountet werden sollen. Beispiele finden Sie unter SecretProviderClass Verwendung.
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) Das AWS-Region Geheimnis. 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 der ASCP, das Secret aus beiden Regionen abzurufen. Wenn eine Region einen 4xx-Fehler zurückgibt, z. B. aufgrund eines Authentifizierungsproblems, mountet der ASCP keines der Secrets. Wenn das Secret erfolgreich vonregionabgerufen wurde, mountet der ASCP diesen Secret-Wert. Wenn das Secret nicht erfolgreich vonregionabgerufen wurde, aber efolgreich vonfailoverRegionabgerufen werden konnte, mountet der ASCP diesen Secret-Wert. - failoverRegion
-
(Optional) Wenn Sie dieses Feld angeben, versucht der ASCP, das Secret aus den Regionen abzurufen, die in
regionund diesem Feld definiert sind. Wenn eine Region einen 4xx-Fehler zurückgibt, z. B. aufgrund eines Authentifizierungsproblems, mountet der ASCP keines der Secrets. Wenn das Secret erfolgreich vonregionabgerufen wurde, mountet der ASCP diesen Secret-Wert. Wenn das Secret nicht erfolgreich vonregionabgerufen wurde, aber efolgreich vonfailoverRegionabgerufen werden konnte, mountet der ASCP diesen Secret-Wert. Ein Beispiel für die Nutzung dieses Felds finden Sie unter Geheimes 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/Secretwird alsMy_Path_Secretgemountet.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. Gültige Werte für sind:
-
"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 Geheimnisses oder Parameters an, der abgerufen werden soll. Für Secrets Manager ist dies der Parameter
SecretIdund kann entweder der Anzeigename oder der vollständige ARN des Secrets sein. Für SSM Parameter Store ist diesNameder Parameter und kann entweder der Name oder der vollständige ARN des Parameters sein. - objectType
-
Erforderlich, wenn Sie keinen Secrets Manager ARN für
objectNameverwenden. Kannsecretsmanageroderssmparametersein. - objectAlias (Objektalias)
-
(Optional) Der Dateiname des Secrets im Amazon-EKS-Pod. Wenn Sie dieses Feld nicht angeben, wird
objectNameals Dateiname angezeigt. - Dateiberechtigung
-
(Optional) Die vierstellige Oktalzeichenfolge, die die Dateiberechtigung zum Einhängen von Secret angibt. Wenn Sie dieses Feld nicht angeben, wird standardmäßig verwendet.
"0644" - objectVersion (Objektversion)
-
(Optional) Die Versions-ID des Secrets. Nicht empfohlen, da Sie jedes Mal, wenn Sie das Secret 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. Weitere Informationen finden Sie unter Geheime Versionen. Wenn Sie eine
failoverRegionangeben, stellt dieses Feld den primärenobjectVersionLabeldar. - jmesPath (jmes-Pfad)
-
(Optional) Eine Zuordnung der Schlüssel im Secret zu den Dateien, die in Amazon EKS bereitgestellt werden sollen. Um dieses Feld zu verwenden, muss Ihr Secret-Wert im JSON-Format vorliegen. Wenn Sie dieses Feld verwenden, müssen Sie die Unterfelder
pathundobjectAliasangeben.- Pfad
-
Ein Schlüssel aus einem Schlüssel-Wert-Paar im JSON des geheimen Werts. 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"' - Datei/Berechtigung
-
(Optional) Die vierstellige Oktalzeichenfolge, die die Dateiberechtigung zum Einhängen von Secret angibt. Wenn Sie dieses Feld nicht angeben, wird standardmäßig die Dateiberechtigung des übergeordneten Objekts verwendet.
- failoverObject
-
(Optional) Wenn Sie dieses Feld angeben, versucht der ASCP, sowohl das im primären
objectNameangegebene Secret als auch das imfailoverObject-objectName-Unterfeld angegebene Secret abzurufen. Wenn eines von beiden einen 4xx-Fehler zurückgibt, z. B. aufgrund eines Authentifizierungsproblems, mountet der ASCP keines der Secrets. Wenn das Secret erfolgreich vom primärenobjectNameabgerufen wurde, mountet der ASCP diesen Secret-Wert. Wenn das Secret nicht erfolgreich vom primärenobjectNameabgerufen wurde, aber efolgreich vom Failover-objectNameabgerufen werden konnte, mountet der ASCP diesen Secret-Wert. Wenn Sie dieses Feld angeben, müssen Sie auch das FeldobjectAliasangeben. Ein Beispiel für die Nutzung dieses Felds finden Sie unter Failover auf ein anderes Geheimnis.In der Regel verwenden Sie dieses Feld, wenn es sich bei dem Failover-Secret nicht um ein Replikat handelt. Ein Beispiel dazu, wie Sie ein Replikat angeben, finden Sie unter Geheimes Failover für mehrere Regionen.
- objectName (Objektname)
-
Der Name oder vollständige ARN des Failover-Secrets. Wenn Sie einen ARN verwenden, muss die Region im ARN mit dem Feld
failoverRegionübereinstimmen. - objectVersion (Objektversion)
-
(Optional) Die Versions-ID des Secrets. Muss mit der primären
objectVersionübereinstimmen. Nicht empfohlen, da Sie jedes Mal, wenn Sie das Secret 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. Weitere Informationen finden Sie unter Geheime Versionen.
Erstellen Sie eine SecretProviderClass Basiskonfiguration, um Secrets in Ihren Amazon EKS-Pods zu mounten.
SecretProviderClass Verwendung
Verwenden Sie diese Beispiele, um SecretProviderClass Konfigurationen für verschiedene Szenarien zu erstellen.
Beispiel: Secrets nach Namen oder ARN mounten
Dieses Beispiel zeigt, wie drei verschiedene Arten von Geheimnissen bereitgestellt werden:
-
Ein Geheimnis, das durch den vollständigen ARN angegeben wird
-
Ein namentlich angegebenes Geheimnis
-
Eine bestimmte Version eines Geheimnisses
apiVersion: secrets-store.csi.x-k8s.io/v1 kind: SecretProviderClass metadata: name:aws-secretsspec: provider: aws parameters: objects: | - objectName: "arn:aws:secretsmanager:us-east-2:777788889999:secret:MySecret2-d4e5f6" - objectName: "MySecret3" objectType: "secretsmanager" - objectName: "MySecret4" objectType: "secretsmanager" objectVersionLabel: "AWSCURRENT"
Beispiel: Hängen Sie Schlüssel-Wert-Paare aus einem Secret ein
Dieses Beispiel zeigt, wie bestimmte Schlüssel-Wert-Paare aus einem Geheimnis im JSON-Format gemountet werden:
apiVersion: secrets-store.csi.x-k8s.io/v1 kind: SecretProviderClass metadata: name:aws-secretsspec: provider: aws parameters: objects: | - objectName: "arn:aws:secretsmanager:us-east-2:777788889999:secret:MySecret-a1b2c3" jmesPath: - path: username objectAlias: dbusername - path: password objectAlias: dbpassword
Beispiel: Einhängen von Geheimnissen mit Dateiberechtigungen
Dieses Beispiel zeigt, wie ein Secret mit einer bestimmten Dateiberechtigung gemountet wird
apiVersion: secrets-store.csi.x-k8s.io/v1 kind: SecretProviderClass metadata: name:aws-secretsspec: provider: aws parameters: objects: | - objectName: "mySecret" objectType: "secretsmanager" filePermission: "0600" jmesPath: - path: username objectAlias: dbusername filePermission: "0400"
Beispiel: verschiedene Failover-Konfigurationen
Diese Beispiele zeigen, wie ein Failover für geheime Daten konfiguriert wird.
Geheimes Failover für mehrere Regionen
Dieses Beispiel zeigt, wie ein automatisches Failover für ein Geheimnis konfiguriert wird, das in mehreren Regionen repliziert wird:
apiVersion: secrets-store.csi.x-k8s.io/v1 kind: SecretProviderClass metadata: name:aws-secretsspec: provider: aws parameters: region: us-east-1 failoverRegion: us-east-2 objects: | - objectName: "MySecret"
Failover auf ein anderes Geheimnis
Dieses Beispiel zeigt, wie ein Failover auf ein anderes Geheimnis (kein Replikat) konfiguriert wird:
apiVersion: secrets-store.csi.x-k8s.io/v1 kind: SecretProviderClass metadata: name: aws-secrets spec: provider: aws parameters: region: us-east-1 failoverRegion: us-east-2 objects: | - objectName: "arn:aws:secretsmanager:us-east-1:777788889999:secret:MySecret-a1b2c3" objectAlias: "MyMountedSecret" failoverObject: - objectName: "arn:aws:secretsmanager:us-east-2:777788889999:secret:MyFailoverSecret-d4e5f6"
Weitere Ressourcen
Weitere Informationen zur Verwendung von ASCP mit Amazon EKS finden Sie in den folgenden Ressourcen: