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 können Sie nicht mehr auf die AWS App Mesh Konsole oder die Ressourcen zugreifen. AWS App Mesh Weitere Informationen finden Sie in diesem Blogbeitrag Migration von AWS App Mesh zu Amazon ECS Service Connect.

Die Proxy-Autorisierung autorisiert den Envoy-Proxy, der innerhalb einer ECS Amazon-Aufgabe, in einem Kubernetes-Pod auf Amazon oder auf einer EC2 Amazon-Instance ausgeführt wirdEKS, zum Lesen der Konfiguration eines oder mehrerer Mesh-Endpunkte aus dem App Mesh Envoy Management Service. Für Kundenkonten, die Envoys bereits vor dem 26.04.2021 mit ihrem App Mesh Mesh-Endpunkt verbunden haben, ist eine Proxyautorisierung für virtuelle Knoten erforderlich, die Transport Layer Security (TLS) verwenden, und für virtuelle Gateways (mit oder ohne). TLS Für Kundenkonten, die Envoys nach dem 26.04.2021 mit ihrem App Mesh Mesh-Endpunkt verbinden möchten, ist für alle App Mesh Mesh-Funktionen eine Proxyautorisierung erforderlich. Es wird für alle Kundenkonten empfohlen, die Proxyautorisierung für alle virtuellen Knoten zu aktivieren, auch wenn sie diese nicht verwendenTLS, um eine sichere und konsistente Benutzererfahrung bei der Autorisierung bestimmter Ressourcen IAM zu gewährleisten. Die Proxyautorisierung setzt voraus, dass die appmesh:StreamAggregatedResources Berechtigung in einer IAM Richtlinie angegeben ist. Die Richtlinie muss einer IAM Rolle zugewiesen werden, und diese IAM Rolle muss der Rechenressource zugeordnet sein, auf der Sie den Proxy hosten.

IAMRichtlinie erstellen

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. Rolle erstellen IAM Wenn Sie die Anzahl der Mesh-Endpunkte einschränken möchten, von denen die Konfiguration von einzelnen Mesh-Endpunkten gelesen werden kann, müssen Sie eine oder mehrere Richtlinien erstellen. IAM 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 in einem Service Mesh benannt serviceBv1 und serviceBv2 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 IAMRichtlinien erstellen und IAMRichtlinien bearbeiten.

{ "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.

Rolle erstellen IAM

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 Anzahl der Mesh-Endpunkte einschränken möchten, von denen die Konfiguration von einzelnen Mesh-Endpunkten gelesen werden kann, müssen Sie für jede Richtlinie, die Sie im vorherigen Schritt erstellt haben, eine Rolle erstellen. Füllen Sie die Anweisungen für die Rechenressource aus, 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 ordnen Sie die Rollen den Kubernetes-Dienstkonten zu. Weitere Informationen finden Sie unter IAMRolle und Richtlinie für Ihr Dienstkonto erstellen und IAMRolle für Ihr Dienstkonto angeben.

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

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

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

IAMRichtlinie anhängen

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 einschränken möchten, von denen die Konfiguration von einzelnen Mesh-Endpunkten gelesen werden kann, fügen Sie jede Richtlinie, die Sie erstellt haben, jeder Rolle hinzu, die Sie erstellt haben. Weitere Informationen zum Anhängen einer benutzerdefinierten oder verwalteten IAM Richtlinie an eine IAM Rolle finden Sie unter Hinzufügen von IAM Identitätsberechtigungen.

Rolle anhängen IAM

Ordnen Sie jede IAM Rolle der entsprechenden Rechenressource zu:

  • Amazon EKS — Wenn Sie die Richtlinie an die Rolle angehängt haben, die Ihren Worker-Knoten zugewiesen ist, können Sie diesen Schritt überspringen. Wenn Sie separate Rollen erstellt haben, weisen Sie jede Rolle einem separaten Kubernetes-Servicekonto zu und weisen Sie jedes Dienstkonto einer individuellen Kubernetes-Pod-Bereitstellungsspezifikation zu, die den Envoy-Proxy umfasst. Weitere Informationen finden Sie unter Angeben einer IAM Rolle für Ihr Servicekonto im EKSAmazon-Benutzerhandbuch und Servicekonten für Pods konfigurieren in der Kubernetes-Dokumentation.

  • Amazon ECS — Fügen Sie der ECS Aufgabendefinition, die den Envoy-Proxy enthält, eine Amazon-Aufgabenrolle hinzu. Die Aufgabe kann mit dem Starttyp EC2 oder Fargate bereitgestellt werden. Weitere Informationen darüber, wie Sie eine ECS Amazon-Aufgabenrolle erstellen und an eine Aufgabe anhängen, finden Sie unter Eine IAM Rolle für Ihre Aufgaben angeben.

  • Amazon EC2 — Die IAM Rolle muss der EC2 Amazon-Instance zugewiesen werden, die den Envoy-Proxy hostet. Weitere Informationen zum Anhängen einer Rolle an eine EC2 Amazon-Instance finden Sie unter Ich habe eine IAM Rolle erstellt und möchte sie jetzt einer EC2 Instance zuweisen.

Bestätigen Sie die Erlaubnis

Vergewissern Sie sich, dass die appmesh:StreamAggregatedResources Berechtigung der Computing-Ressource zugewiesen ist, auf der Sie den Proxy hosten, indem Sie einen der Compute-Dienstnamen 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 mit der Rolle verknüpft ist, die den Worker Nodes zugewiesen ist, wählen Sie die EC2 Registerkarte Amazon aus und führen Sie die dort angegebenen Schritte für Ihre Worker Node-Instances aus. Gehen Sie wie folgt vor, um festzustellen, 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 überprüfen möchten, dass ihm 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 eines 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 angezeigt my-service-account.

    kubectl describe serviceaccount my-service-account

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

    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, dann 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 Dienstkonto.

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

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

  5. Vergewissern Sie sich, dass entweder die benutzerdefinierte Richtlinie, die Sie zuvor erstellt haben, oder die AWSAppMeshEnvoyAccess verwaltete Richtlinie aufgeführt ist. Wenn keine Richtlinie angehängt ist, fügen Sie der IAM Rolle eine IAM Richtlinie hinzu. Wenn Sie eine benutzerdefinierte IAM Richtlinie anhängen möchten, aber noch 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 vergewissern Sie sich, dass sie 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 überprüfen, ob der entsprechende Amazon-Ressourcenname (ARN) für einen bestimmten Mesh-Endpunkt aufgeführt ist. Wenn keine Richtlinie ARNs aufgeführt ist, können Sie die Richtlinie bearbeiten, um die aufgelisteten hinzuzufügen, zu entfernen oder zu ändernARNs. Weitere Informationen finden Sie unter IAMRichtlinien bearbeiten undIAMRichtlinie erstellen.

  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 ECS Amazon-Konsole Aufgabendefinitionen aus.

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

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

  4. Wählen Sie auf der Seite Aufgabendefinition den Link mit dem IAM Rollennamen aus, der sich rechts neben 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 Übersichtsseite auf der Registerkarte Berechtigungen, dass entweder die benutzerdefinierte Richtlinie, die Sie zuvor erstellt haben, oder die AWSAppMeshEnvoyAccess verwaltete Richtlinie aufgeführt ist. Wenn keine Richtlinie angehängt ist, fügen Sie der IAM Rolle eine IAM Richtlinie hinzu. Wenn Sie eine benutzerdefinierte IAM Richtlinie anhängen möchten, aber noch 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 vergewissern Sie sich, dass sie 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 überprüfen, ob der entsprechende Amazon-Ressourcenname (ARN) für einen bestimmten Mesh-Endpunkt aufgeführt ist. Wenn keine aufgeführt ARNs sind, können Sie die Richtlinie bearbeiten, um die aufgelisteten ARNs hinzuzufügen, zu entfernen oder zu ändern. Weitere Informationen finden Sie unter IAMRichtlinien bearbeiten undIAMRichtlinie erstellen.

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

Amazon EC2
  1. Wählen Sie in der EC2 Amazon-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 mit dem IAM Rollennamen aus, der sich rechts neben der IAMRolle befindet. Wenn eine IAM Rolle nicht aufgeführt ist, müssen Sie eine IAM Rolle erstellen.

  4. Vergewissern Sie sich auf der Übersichtsseite auf der Registerkarte Berechtigungen, dass entweder die benutzerdefinierte Richtlinie, die Sie zuvor erstellt haben, oder die AWSAppMeshEnvoyAccess verwaltete Richtlinie aufgeführt ist. Wenn keine Richtlinie angehängt ist, fügen Sie die IAM Richtlinie der IAM Rolle hinzu. Wenn Sie eine benutzerdefinierte IAM Richtlinie anhängen möchten, aber noch 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 vergewissern Sie sich, dass sie 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 überprüfen, ob der entsprechende Amazon-Ressourcenname (ARN) für einen bestimmten Mesh-Endpunkt aufgeführt ist. Wenn keine aufgeführt ARNs sind, können Sie die Richtlinie bearbeiten, um die aufgelisteten ARNs hinzuzufügen, zu entfernen oder zu ändern. Weitere Informationen finden Sie unter IAMRichtlinien bearbeiten undIAMRichtlinie erstellen.

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