

 **Unterstützung für die Verbesserung dieser Seite beitragen** 

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.

Um zu diesem Benutzerhandbuch beizutragen, wählen Sie den GitHub Link **Diese Seite bearbeiten auf**, der sich im rechten Bereich jeder Seite befindet.

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.

# Konfigurieren Sie den AWS Security Token Service-Endpunkt für ein Dienstkonto
<a name="configure-sts-endpoint"></a>

Wenn Sie ein Kubernetes-Dienstkonto mit [IAM-Rollen für Dienstkonten](iam-roles-for-service-accounts.md) verwenden, können Sie den Typ des AWS Security Token Service-Endpunkts konfigurieren, der vom Dienstkonto verwendet wird.

 AWS empfiehlt die Verwendung der regionalen AWS STS-Endpunkte anstelle des globalen Endpunkts. Dies reduziert die Latenz, bietet integrierte Redundanz und erhöht die Gültigkeit der Sitzungstoken. Der AWS Security Token Service muss in der AWS Region aktiv sein, in der der Pod ausgeführt wird. Darüber hinaus muss Ihre Anwendung über eine integrierte Redundanz für eine andere AWS Region verfügen, falls der Dienst in der AWS Region ausfällt. Weitere Informationen finden Sie im IAM-Benutzerhandbuch unter [AWS STS in einer AWS Region verwalten](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html).
+ Einen vorhandenen -Cluster. Wenn Sie keine Rolle haben, können Sie sie mithilfe einer der Anleitungen in [Erste Schritte mit Amazon EKS](getting-started.md) erstellen.
+ Ein vorhandener IAM-OIDC-Anbieter für Ihren Cluster. Weitere Informationen finden Sie unter [Erstellen Sie einen IAM-OIDC-Anbieter für Ihren Cluster](enable-iam-roles-for-service-accounts.md).
+ Ein vorhandenes Kubernetes-Servicekonto, das für die Verwendung mit der Funktion [Amazon-EKS-IAM für Servicekonten](iam-roles-for-service-accounts.md).

Die folgenden Beispiele verwenden alle das vom [Amazon-VPC-CNI-Plugin](cni-iam-role.md) verwendete Kubernetes-Servicekonto aws-node. Sie können die {{example values}} durch Ihre eigenen Dienstkonten, Pods, Namespaces und andere Ressourcen ersetzen.

1. Wählen Sie einen Pod aus, der ein Servicekonto verwendet, für das Sie den Endpunkt ändern möchten. Ermitteln Sie, AWS in welcher Region der Pod ausgeführt wird. Ersetze es {{aws-node-6mfgv}} durch deinen Pod-Namen und {{kube-system}} durch den Namespace deines Pods.

   ```
   kubectl describe pod aws-node-6mfgv -n kube-system |grep Node:
   ```

   Eine Beispielausgabe sieht wie folgt aus.

   ```
   ip-192-168-79-166.us-west-2/192.168.79.166
   ```

   In der vorherigen Ausgabe läuft der Pod auf einem Knoten in der Region US-West-2 AWS .

1. Ermitteln Sie den Endpunkt-Typ, den das Servicekonto des Pods verwendet.

   ```
   kubectl describe pod aws-node-6mfgv -n kube-system |grep AWS_STS_REGIONAL_ENDPOINTS
   ```

   Eine Beispielausgabe sieht wie folgt aus.

   ```
   AWS_STS_REGIONAL_ENDPOINTS: regional
   ```

   Wenn der aktuelle Endpunkt global ist, dann wird `global` in der Ausgabe zurückgegeben. Wenn keine Ausgabe zurückgegeben wird, wird der Standard-Endpunkttyp verwendet und wurde nicht überschrieben.

1. Wenn Ihre Cluster- oder Plattformversion dieselbe oder höher ist als die in der Tabelle aufgeführten, können Sie den von Ihrem Servicekonto verwendeten Endpunkttyp mit einem der folgenden Befehle vom Standardtyp in einen anderen Typ ändern. Ersetzen Sie {{aws-node}} mit dem Namen Ihres Servicekontos, {{kube-system}} mit dem Namespace Ihres vorhandenen -Servicekontos.
   + Wenn Ihr Standard- oder aktueller Endpunkttyp global ist und Sie ihn in regional ändern möchten:

     ```
     kubectl annotate serviceaccount -n kube-system aws-node eks.amazonaws.com/sts-regional-endpoints=true
     ```

     Wenn Sie [IAM-Rollen für Servicekonten](iam-roles-for-service-accounts.md) verwenden, um vorsignierte S3-URLs in Ihrer Anwendung zu generieren, die in Pods-Containern ausgeführt wird, ähnelt das Format der URL für regionale Endpunkte dem folgenden Beispiel:

     ```
     https://bucket.s3.us-west-2.amazonaws.com/path?...&X-Amz-Credential=your-access-key-id/date/us-west-2/s3/aws4_request&...
     ```
   + Wenn Ihr Standard- oder aktueller Endpunkttyp regional ist und Sie ihn in global ändern möchten:

     ```
     kubectl annotate serviceaccount -n kube-system aws-node eks.amazonaws.com/sts-regional-endpoints=false
     ```

     Wenn Ihre Anwendung explizit Anfragen an globale AWS STS-Endpunkte stellt und Sie das Standardverhalten der Verwendung regionaler Endpunkte in Amazon EKS-Clustern nicht außer Kraft setzen, schlagen Anfragen mit einem Fehler fehl. Weitere Informationen finden Sie unter [Pod-Container erhalten folgenden Fehler: `An error occurred (SignatureDoesNotMatch) when calling the GetCallerIdentity operation: Credential should be scoped to a valid region`](security-iam-troubleshoot.md#security-iam-troubleshoot-wrong-sts-endpoint).

     Wenn Sie [IAM-Rollen für Servicekonten](iam-roles-for-service-accounts.md) verwenden, um vorsignierte S3-URLs in Ihrer Anwendung zu generieren, die in Pods-Containern ausgeführt wird, entspricht das Format der URL für globale Endpunkte in etwa dem folgenden Beispiel:

     ```
     https://bucket.s3.amazonaws.com/path?...&X-Amz-Credential=your-access-key-id/date/us-west-2/s3/aws4_request&...
     ```

   Wenn Ihre Automatisierung die vorsignierte URL in einem bestimmten Format erwartet, oder wenn Ihre Anwendung oder Downstream-Abhängigkeiten, die vorsignierte URLs verwenden, Erwartungen an die AWS Zielregion stellen, nehmen Sie die erforderlichen Änderungen vor, um den entsprechenden STS-Endpunkt zu verwenden. AWS 

1. Löschen Sie alle vorhandenen Pods, die dem Servicekonto zugeordnet sind, und erstellen Sie sie neu, um die Umgebungsvariablen für Anmeldeinformationen anzuwenden. Der mutierende Webhook wendet sie nicht auf Pods an, die bereits ausgeführt werden. Sie können {{Pods}}{{kube-system}}, und {{-l k8s-app=aws-node}} durch die Informationen für die Pods ersetzen, für die Sie Ihre Anmerkung festgelegt haben.

   ```
   kubectl delete Pods -n kube-system -l k8s-app=aws-node
   ```

1. Vergewissern Sie sich, dass alle Pods neu gestartet wurden.

   ```
   kubectl get Pods -n kube-system -l k8s-app=aws-node
   ```

1. Zeigen Sie die Umgebungsvariablen für einen der Pods an. Stellen Sie sicher, dass der `AWS_STS_REGIONAL_ENDPOINTS`-Wert der ist, den Sie im vorherigen Schritt festgelegt haben.

   ```
   kubectl describe pod aws-node-kzbtr -n kube-system |grep AWS_STS_REGIONAL_ENDPOINTS
   ```

   Eine Beispielausgabe sieht wie folgt aus.

   ```
   AWS_STS_REGIONAL_ENDPOINTS=regional
   ```