View a markdown version of this page

Envoy Proxy-Autorisierung - AWS App Mesh

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.

Envoy Proxy-Autorisierung

Wichtig

Hinweis zum Ende des Supports: Am 30. September 2026 AWS wird der Support für eingestellt. AWS App Mesh Nach dem 30. September 2026 werden Sie nicht mehr auf die AWS App Mesh Konsole oder die Ressourcen zugreifen können. AWS App Mesh Weitere Informationen finden Sie in diesem Blogbeitrag Migration von AWS App Mesh zu Amazon ECS Service Connect.

Die Proxyautorisierung autorisiert den Bild des Gesandten Envoy-Proxy, der innerhalb einer Amazon ECS-Aufgabe, in einem Kubernetes-Pod, der auf Amazon EKS läuft, oder der auf einer Amazon EC2-Instance läuft, dazu, die Konfiguration eines oder mehrerer Mesh-Endpunkte aus dem App Mesh Envoy Management Service zu lesen. Für Kundenkonten, bei denen Envoys bereits vor 04/26 /2021 mit ihrem App Mesh-Endpunkt verbunden sind, ist eine Proxyautorisierung für virtuelle Knoten, die Transport Layer Security (TLS) verwenden, und für virtuelle Gateways (mit oder ohne TLS) erforderlich. Für Kundenkonten, die Envoys nach 04/26 /2021 mit ihrem App Mesh-Endpunkt verbinden möchten, ist eine Proxyautorisierung für alle App Mesh-Funktionen erforderlich. Es wird allen Kundenkonten empfohlen, die Proxy-Autorisierung für alle virtuellen Knoten zu aktivieren, auch wenn diese kein TLS verwenden, um eine sichere und konsistente Nutzung von IAM für die Autorisierung bestimmter Ressourcen zu gewährleisten. Für die Proxyautorisierung muss die appmesh:StreamAggregatedResources Berechtigung in einer IAM-Richtlinie angegeben werden. Die Richtlinie muss einer IAM-Rolle zugeordnet sein, und diese IAM-Rolle muss der Rechenressource zugeordnet sein, auf der Sie den Proxy hosten.

Erstellen einer IAM-Richtlinie

Wenn Sie möchten, dass alle Mesh-Endpunkte in einem Service Mesh die Konfiguration für alle Mesh-Endpunkte lesen können, fahren Sie mit fort. Erstellen einer IAM-Rolle Wenn Sie die Mesh-Endpunkte einschränken möchten, von denen die Konfiguration von einzelnen Mesh-Endpunkten gelesen werden kann, müssen Sie eine oder mehrere IAM-Richtlinien erstellen. Es wird empfohlen, die Mesh-Endpunkte, von denen die Konfiguration gelesen werden kann, auf den Envoy-Proxy zu beschränken, der auf bestimmten Rechenressourcen ausgeführt wird. Erstellen Sie eine IAM-Richtlinie und fügen Sie der Richtlinie die appmesh:StreamAggregatedResources Berechtigung hinzu. Die folgende Beispielrichtlinie ermöglicht die Konfiguration der virtuellen Knoten, die benannt sind serviceBv1 und serviceBv2 in einem Service Mesh gelesen werden können. Die Konfiguration kann für keine anderen virtuellen Knoten gelesen werden, die im Service Mesh definiert sind. Weitere Informationen zum Erstellen oder Bearbeiten einer IAM-Richtlinie finden Sie unter IAM-Richtlinien erstellen und IAM-Richtlinien bearbeiten.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "appmesh:StreamAggregatedResources", "Resource": [ "arn:aws:appmesh:us-east-1:123456789012:mesh/app1/virtualNode/serviceBv1", "arn:aws:appmesh:us-east-1:123456789012:mesh/app1/virtualNode/serviceBv2" ] } ] }

Sie können mehrere Richtlinien erstellen, wobei jede Richtlinie den Zugriff auf verschiedene Mesh-Endpunkte einschränkt.

Erstellen einer IAM-Rolle

Wenn Sie möchten, dass alle Mesh-Endpunkte in einem Service Mesh die Konfiguration für alle Mesh-Endpunkte lesen können, müssen Sie nur eine IAM-Rolle erstellen. Wenn Sie die Mesh-Endpunkte, von denen die Konfiguration gelesen werden kann, von einzelnen Mesh-Endpunkten einschränken möchten, müssen Sie für jede Policy, die Sie im vorherigen Schritt erstellt haben, eine Rolle erstellen. Vervollständigen Sie die Anweisungen für die Rechenressource, auf der der Proxy ausgeführt wird.

  • Amazon EKS — Wenn Sie eine einzelne Rolle verwenden möchten, können Sie die vorhandene Rolle verwenden, die bei der Erstellung Ihres Clusters erstellt und den Worker-Knoten zugewiesen wurde. Um mehrere Rollen verwenden zu können, muss Ihr Cluster die unter Aktivieren von IAM-Rollen für Dienstkonten auf Ihrem Cluster definierten Anforderungen erfüllen. Erstellen Sie die IAM-Rollen und verknüpfen Sie die Rollen mit Kubernetes-Dienstkonten. Weitere Informationen finden Sie unter Erstellen einer IAM-Rolle und -Richtlinie für Ihr Dienstkonto und Angeben einer IAM-Rolle für Ihr Dienstkonto.

  • Amazon ECS — Wählen Sie AWS Service aus, wählen Sie Elastic Container Service und wählen Sie dann den Anwendungsfall Elastic Container Service Task aus, wenn Sie Ihre IAM-Rolle erstellen.

  • Amazon EC2 — Wählen Sie AWS Service aus, wählen Sie EC2 und wählen Sie dann den EC2-Anwendungsfall aus, wenn Sie Ihre IAM-Rolle erstellen. Dies gilt unabhängig davon, ob Sie den Proxy direkt auf einer Amazon EC2-Instance oder auf Kubernetes hosten, das auf einer Instance ausgeführt wird.

Weitere Informationen zum Erstellen einer IAM-Rolle finden Sie unter Erstellen einer Rolle für einen Service. AWS

Fügen Sie eine IAM-Richtlinie hinzu

Wenn Sie möchten, dass alle Mesh-Endpunkte in einem Service Mesh die Konfiguration für alle Mesh-Endpunkte lesen können, fügen Sie die AWSAppMeshEnvoyAccess verwaltete IAM-Richtlinie der IAM-Rolle hinzu, die Sie in einem vorherigen Schritt erstellt haben. Wenn Sie die Anzahl der Mesh-Endpunkte, von denen die Konfiguration gelesen werden kann, von einzelnen Mesh-Endpunkten einschränken möchten, hängen Sie jede von Ihnen erstellte Policy an jede von Ihnen erstellte Rolle an. Weitere Informationen zum Anhängen einer benutzerdefinierten oder verwalteten IAM-Richtlinie an eine IAM-Rolle finden Sie unter Hinzufügen von IAM-Identitätsberechtigungen.

IAM-Rolle anhängen

Ordnen Sie jede IAM-Rolle der entsprechenden Rechenressource zu:

Genehmigung bestätigen

Bestätigen Sie, dass die appmesh:StreamAggregatedResources Berechtigung der Rechenressource zugewiesen ist, auf der Sie den Proxy hosten, indem Sie einen der Rechendienstnamen auswählen.

Amazon EKS

Eine benutzerdefinierte Richtlinie kann der Rolle zugewiesen werden, die den Worker-Knoten, einzelnen Pods oder beiden zugewiesen ist. Es wird jedoch empfohlen, die Richtlinie nur einzelnen Pods zuzuweisen, sodass Sie den Zugriff einzelner Pods auf einzelne Mesh-Endpunkte einschränken können. Wenn die Richtlinie an die Rolle angehängt ist, die den Worker-Knoten zugewiesen ist, wählen Sie die Registerkarte Amazon EC2 aus und führen Sie die dort aufgeführten Schritte für Ihre Worker-Node-Instances aus. Gehen Sie wie folgt vor, um zu ermitteln, welche IAM-Rolle einem Kubernetes-Pod zugewiesen ist.

  1. Sehen Sie sich die Details einer Kubernetes-Bereitstellung an, die den Pod enthält, für den Sie bestätigen möchten, dass ein Kubernetes-Dienstkonto zugewiesen ist. Mit dem folgenden Befehl werden die Details für eine Bereitstellung mit dem Namen angezeigt. my-deployment

    kubectl describe deployment my-deployment

    Notieren Sie sich in der zurückgegebenen Ausgabe den Wert rechts vonService Account:. Wenn eine Zeile, die mit beginnt, nicht Service Account: existiert, ist der Bereitstellung derzeit kein benutzerdefiniertes Kubernetes-Dienstkonto zugewiesen. Sie müssen einen zuweisen. Weitere Informationen finden Sie unter Konfigurieren von Dienstkonten für Pods in der Kubernetes-Dokumentation.

  2. Sehen Sie sich die Details des im vorherigen Schritt zurückgegebenen Dienstkontos an. Mit dem folgenden Befehl werden die Details eines Dienstkontos mit dem Namen angezeigtmy-service-account.

    kubectl describe serviceaccount my-service-account

    Vorausgesetzt, das Kubernetes-Dienstkonto ist einer AWS Identity and Access Management Rolle zugeordnet, ähnelt eine der zurückgegebenen Zeilen dem folgenden Beispiel.

    Annotations:         eks.amazonaws.com/role-arn=arn:aws:iam::123456789012:role/my-deployment

    Im vorherigen Beispiel my-deployment ist dies der Name der IAM-Rolle, der das Dienstkonto zugeordnet ist. Wenn die Ausgabe des Dienstkontos keine Zeile enthält, die dem obigen Beispiel ähnelt, ist das Kubernetes-Dienstkonto keinem AWS Identity and Access Management Konto zugeordnet und Sie müssen es einem Konto zuordnen. Weitere Informationen finden Sie unter Angeben einer IAM-Rolle für Ihr Servicekonto.

  3. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die IAM-Konsole unter. https://console.aws.amazon.com/iam/

  4. Wählen Sie im linken Navigationsbereich Rollen aus. Wählen Sie den Namen der IAM-Rolle aus, die Sie in einem vorherigen Schritt notiert haben.

  5. Vergewissern Sie sich, dass entweder die zuvor erstellte benutzerdefinierte Richtlinie oder die AWSAppMeshEnvoyAccess verwaltete Richtlinie aufgeführt ist. Wenn keine der Richtlinien angehängt ist, fügen Sie der IAM-Rolle eine IAM-Richtlinie hinzu. Wenn Sie eine benutzerdefinierte IAM-Richtlinie anhängen möchten, aber keine haben, müssen Sie eine benutzerdefinierte IAM-Richtlinie mit den erforderlichen Berechtigungen erstellen. Wenn eine benutzerdefinierte IAM-Richtlinie angehängt ist, wählen Sie die Richtlinie aus und bestätigen Sie, dass sie Folgendes enthält. "Action": "appmesh:StreamAggregatedResources" Ist dies nicht der Fall, müssen Sie diese Berechtigung zu Ihrer benutzerdefinierten IAM-Richtlinie hinzufügen. Sie können auch bestätigen, dass der entsprechende Amazon-Ressourcenname (ARN) für einen bestimmten Mesh-Endpunkt aufgeführt ist. Wenn keine ARNs aufgeführt sind, können Sie die Richtlinie bearbeiten, um die aufgelisteten ARNs hinzuzufügen, zu entfernen oder zu ändern. Weitere Informationen finden Sie unter IAM-Richtlinien bearbeiten und. Erstellen einer IAM-Richtlinie

  6. Wiederholen Sie die vorherigen Schritte für jeden Kubernetes-Pod, der den Envoy-Proxy enthält.

Amazon ECS
  1. Wählen Sie in der Amazon ECS-Konsole Aufgabendefinitionen aus.

  2. Wählen Sie Ihre Amazon ECS-Aufgabe aus.

  3. Wählen Sie auf der Seite „Name der Aufgabendefinition“ Ihre Aufgabendefinition aus.

  4. Wählen Sie auf der Seite mit der Aufgabendefinition den Link des IAM-Rollennamens aus, der sich rechts neben der Aufgabenrolle befindet. Wenn eine IAM-Rolle nicht aufgeführt ist, müssen Sie eine IAM-Rolle erstellen und sie Ihrer Aufgabe zuordnen, indem Sie Ihre Aufgabendefinition aktualisieren.

  5. Vergewissern Sie sich auf der Seite „Zusammenfassung“ auf der Registerkarte „Berechtigungen“, dass entweder die zuvor erstellte benutzerdefinierte Richtlinie oder die AWSAppMeshEnvoyAccess verwaltete Richtlinie aufgeführt ist. Wenn keine der Richtlinien angehängt ist, fügen Sie der IAM-Rolle eine IAM-Richtlinie hinzu. Wenn Sie eine benutzerdefinierte IAM-Richtlinie anhängen möchten, aber keine haben, müssen Sie die benutzerdefinierte IAM-Richtlinie erstellen. Wenn eine benutzerdefinierte IAM-Richtlinie angehängt ist, wählen Sie die Richtlinie aus und bestätigen Sie, dass sie Folgendes enthält. "Action": "appmesh:StreamAggregatedResources" Ist dies nicht der Fall, müssen Sie diese Berechtigung zu Ihrer benutzerdefinierten IAM-Richtlinie hinzufügen. Sie können auch bestätigen, dass der entsprechende Amazon-Ressourcenname (ARN) für einen bestimmten Mesh-Endpunkt aufgeführt ist. Wenn keine ARNs aufgeführt sind, können Sie die Richtlinie bearbeiten, um die aufgelisteten ARNs hinzuzufügen, zu entfernen oder zu ändern. Weitere Informationen finden Sie unter IAM-Richtlinien bearbeiten und. Erstellen einer IAM-Richtlinie

  6. Wiederholen Sie die vorherigen Schritte für jede Aufgabendefinition, die den Envoy-Proxy enthält.

Amazon EC2
  1. Wählen Sie in der Amazon EC2-Konsole im linken Navigationsbereich Instances aus.

  2. Wählen Sie eine Ihrer Instances aus, die den Envoy-Proxy hostet.

  3. Wählen Sie auf der Registerkarte Beschreibung den Link des IAM-Rollennamens aus, der sich rechts neben der IAM-Rolle befindet. Wenn eine IAM-Rolle nicht aufgeführt ist, müssen Sie eine IAM-Rolle erstellen.

  4. Vergewissern Sie sich auf der Seite „Zusammenfassung“ auf der Registerkarte „Berechtigungen“, dass entweder die zuvor erstellte benutzerdefinierte Richtlinie oder die AWSAppMeshEnvoyAccess verwaltete Richtlinie aufgeführt ist. Wenn keine der Richtlinien angehängt ist, fügen Sie die IAM-Richtlinie der IAM-Rolle hinzu. Wenn Sie eine benutzerdefinierte IAM-Richtlinie anhängen möchten, aber keine haben, müssen Sie die benutzerdefinierte IAM-Richtlinie erstellen. Wenn eine benutzerdefinierte IAM-Richtlinie angehängt ist, wählen Sie die Richtlinie aus und bestätigen Sie, dass sie Folgendes enthält. "Action": "appmesh:StreamAggregatedResources" Ist dies nicht der Fall, müssen Sie diese Berechtigung zu Ihrer benutzerdefinierten IAM-Richtlinie hinzufügen. Sie können auch bestätigen, dass der entsprechende Amazon-Ressourcenname (ARN) für einen bestimmten Mesh-Endpunkt aufgeführt ist. Wenn keine ARNs aufgeführt sind, können Sie die Richtlinie bearbeiten, um die aufgelisteten ARNs hinzuzufügen, zu entfernen oder zu ändern. Weitere Informationen finden Sie unter IAM-Richtlinien bearbeiten und. Erstellen einer IAM-Richtlinie

  5. Wiederholen Sie die vorherigen Schritte für jede Instance, auf der Sie den Envoy-Proxy hosten.