

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)
<a name="integrating_ascp_irsa"></a>

**Topics**
+ [Voraussetzungen](#prerequisites)
+ [Einrichten der Zugriffssteuerung](#integrating_ascp_irsa_access)
+ [Identifizieren der Secrets, die gemountet werden sollen](#integrating_ascp_irsa_mount)
+ [Fehlerbehebung](#integrating_ascp_irsa_trouble)

## Voraussetzungen
<a name="prerequisites"></a>
+ Amazon-EKS-Cluster (Version 1.17 oder höher)
+ Zugriff auf AWS CLI einen Amazon EKS-Cluster über `kubectl`

## Einrichten der Zugriffssteuerung
<a name="integrating_ascp_irsa_access"></a>

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**

1. Erstellen Sie eine Berechtigungsrichtlinie, die Zugriff auf die Geheimnisse gewährt`secretsmanager:GetSecretValue`, auf die der Pod zugreifen muss. `secretsmanager:DescribeSecret` Eine Beispielrichtlinie finden Sie unter [Beispiel: Erlaubnis, einzelne Geheimnisse zu lesen und zu beschreiben](auth-and-access_iam-policies.md#auth-and-access_examples-read-and-describe).

1. 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](https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html) im *Benutzerhandbuch für Amazon EKS*.

1. Erstellen Sie eine [IAM-Rolle für das Servicekonto](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html) und fügen Sie die Richtlinie an. Weitere Informationen finden Sie unter [Erstellen einer IAM-Rolle für ein Servicekonto](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html) im *Benutzerhandbuch für Amazon EKS*.

1. 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_interface_vpc_endpoints.html) im *Benutzerhandbuch für AWS Identity and Access Management *.

## Identifizieren der Secrets, die gemountet werden sollen
<a name="integrating_ascp_irsa_mount"></a>

Um zu bestimmen, welche Secrets der ASCP in Amazon EKS als Dateien im Dateisystem bereitstellt, erstellen Sie eine [SecretProviderClass](ascp-examples.md#ascp-examples-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
<a name="mount-secrets"></a>

[Die folgenden Anweisungen zeigen, wie Sie Geheimnisse mithilfe der YAML-Beispieldateien .yaml und [ExampleSecretProviderClass.yaml](https://github.com/aws/secrets-store-csi-driver-provider-aws/blob/main/examples/ExampleSecretProviderClass-IRSA.yaml) als Dateien einhängen. ExampleDeployment](https://github.com/aws/secrets-store-csi-driver-provider-aws/blob/main/examples/ExampleDeployment-IRSA.yaml)

**So hängen Sie Geheimnisse in Amazon EKS ein**

1. Wenden Sie die `SecretProviderClass` auf den Pod an:

   ```
   kubectl apply -f ExampleSecretProviderClass.yaml
   ```

1. Stellen Sie den Pod bereit:

   ```
   kubectl apply -f ExampleDeployment.yaml
   ```

1. ASCP mountet die Dateien.

## Fehlerbehebung
<a name="integrating_ascp_irsa_trouble"></a>

Sie können die meisten Fehler anzeigen, indem Sie die Pod-Bereitstellung beschreiben. 

**Fehlermeldungen für Ihren Container anzeigen**

1. Rufen Sie mit dem folgenden Befehl eine Liste der Pod-Namen ab. Wenn Sie nicht den Standard-Namespace verwenden, verwenden Sie `-n nameSpace`.

   ```
   kubectl get pods
   ```

1. Um den Pod zu beschreiben, *podId* verwenden 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 nameSpace`.

   ```
   kubectl describe pod/podId
   ```

**Fehler für den ASCP anzeigen**
+ Um weitere Informationen in den Anbieterprotokollen zu finden, *podId* verwenden 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.io
  ```

  Dieser Befehl muss Informationen zur benutzerdefinierten Ressourcendefinition von `SecretProviderClass` zurückgeben.
+ 

**Stellen Sie sicher, dass das SecretProviderClass Objekt erstellt wurde.**

  ```
  kubectl get secretproviderclass SecretProviderClassName -o yaml
  ```