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 and Configuration Provider CSI mit IAM-Rollen für Dienstkonten (IRSA)
Themen
Voraussetzungen
-
Amazon-EKS-Cluster (Version 1.17 oder höher)
-
Zugriff auf AWS CLI einen Amazon EKS-Cluster über
kubectl
Einrichten der Zugriffssteuerung
ASCP ruft die Amazon-EKS-Pod-Identität ab und tauscht sie gegen eine IAM-Rolle. Sie legen in einer IAM-Richtlinie Berechtigungen für diese IAM-Rolle fest. Wenn das ASCP die IAM-Rolle übernimmt, erhält es Zugriff auf die von Ihnen autorisierten Geheimnisse. Andere Container können nur auf die Secrets zugreifen, wenn Sie diese auch der IAM-Rolle zuordnen.
So gewähren Sie Ihrem Amazon EKS Pod Zugriff auf Geheimnisse in Secrets Manager
-
Erstellen Sie eine Berechtigungsrichtlinie, die Zugriff auf die Geheimnisse gewährt
secretsmanager:GetSecretValue, auf die der Pod zugreifen muss.secretsmanager:DescribeSecretEine Beispielrichtlinie finden Sie unter Beispiel: Erlaubnis, einzelne Geheimnisse zu lesen und zu beschreiben. -
Erstellen Sie einen IAM OpenID Connect (OIDC)-Anbieter für den Cluster, wenn Sie noch keinen haben. Weitere Informationen finden Sie unter Erstellen eines IAM-OIDC-Anbieters für Ihren Cluster im Benutzerhandbuch für Amazon EKS.
-
Erstellen Sie eine IAM-Rolle für das Servicekonto und fügen Sie die Richtlinie an. Weitere Informationen finden Sie unter Erstellen einer IAM-Rolle für ein Servicekonto im Benutzerhandbuch für Amazon EKS.
-
Wenn Sie einen privaten Amazon EKS-Cluster verwenden, stellen Sie sicher, dass die VPC, in der sich der Cluster befindet, über einen AWS STS Endpunkt verfügt. Weitere Informationen zum Erstellen eines Endpunktes finden Sie unter Schnittstellen-VPC-Endpunkte im Benutzerhandbuch für AWS Identity and Access Management .
Identifizieren der Secrets, die gemountet werden sollen
Um zu bestimmen, welche Secrets der ASCP in Amazon EKS als Dateien im Dateisystem bereitstellt, erstellen Sie eine SecretProviderClass-YAML-Datei. Die SecretProviderClass listet die Secrets auf, die gemountet werden sollen, und den Dateinamen, unter dem sie bereitgestellt werden sollen. SecretProviderClass muss sich im gleichen Namespace wie der Amazon-EKS-Pod befinden, auf den verwiesen wird.
Hängen Sie die Secrets als Dateien ein
Die folgenden Anweisungen zeigen, wie Sie Geheimnisse mithilfe der YAML-Beispieldateien .yaml und ExampleSecretProviderClass.yaml
So hängen Sie Geheimnisse in Amazon EKS ein
-
Wenden Sie die
SecretProviderClassauf den Pod an:kubectl apply -f ExampleSecretProviderClass.yaml -
Stellen Sie den Pod bereit:
kubectl apply -f ExampleDeployment.yaml -
ASCP mountet die Dateien.
Fehlerbehebung
Sie können die meisten Fehler anzeigen, indem Sie die Pod-Bereitstellung beschreiben.
Fehlermeldungen für Ihren Container anzeigen
-
Rufen Sie mit dem folgenden Befehl eine Liste der Pod-Namen ab. Wenn Sie nicht den Standard-Namespace verwenden, verwenden Sie
-n.nameSpacekubectl get pods -
Um den Pod zu beschreiben,
podIdverwenden Sie im folgenden Befehl die Pod-ID der Pods, die Sie im vorherigen Schritt gefunden haben. Wenn Sie nicht den Standard-Namespace verwenden, verwenden Sie-n.nameSpacekubectl describe pod/podId
Fehler für den ASCP anzeigen
-
Um weitere Informationen in den Anbieterprotokollen zu finden,
podIdverwenden Sie im folgenden Befehl die ID des Pods csi-secrets-store-provider-aws.kubectl -n kube-system get pods kubectl -n kube-system logs Pod/podId
-
Überprüfen Sie, ob die
SecretProviderClass-CRD installiert wurde:kubectl get crd secretproviderclasses.secrets-store.csi.x-k8s.ioDieser Befehl muss Informationen zur benutzerdefinierten Ressourcendefinition von
SecretProviderClasszurückgeben.
-
Stellen Sie sicher, dass das SecretProviderClass Objekt erstellt wurde.
kubectl get secretproviderclassSecretProviderClassName-o yaml