Autorizzazione proxy Envoy Proxy - AWS App Mesh

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Autorizzazione proxy Envoy Proxy

L'autorizzazione proxy autorizza il proxy Envoy in esecuzione all'interno di un'attività Amazon ECS, in un pod Kubernetes in esecuzione su Amazon EKS o in esecuzione su un'istanza Amazon EC2 a leggere la configurazione di uno o più endpoint mesh dall'App Mesh Envoy Management Service. Per gli account dei clienti che hanno già Envoys connesso all'endpoint App Mesh prima del 26/04/2021, l'autorizzazione proxy è richiesta per i nodi virtuali che utilizzano Transport Layer Security (TLS) e per i gateway virtuali (con o senza TLS). Per gli account dei clienti che desiderano connettere Envoys al proprio endpoint App Mesh dopo il 26/04/2021, è necessaria l'autorizzazione proxy per tutte le funzionalità di App Mesh. Si consiglia a tutti gli account dei clienti di abilitare l'autorizzazione proxy per tutti i nodi virtuali, anche se non utilizzano TLS, per avere un'esperienza sicura e coerente nell'uso di IAM per l'autorizzazione a risorse specifiche. L'autorizzazione proxy richiede che l'appmesh:StreamAggregatedResourcesautorizzazione sia specificata in una policy IAM. La policy deve essere associata a un ruolo IAM e quel ruolo IAM deve essere associato alla risorsa di elaborazione su cui si ospita il proxy.

Creare una policy IAM

Se desideri che tutti gli endpoint mesh in un service mesh siano in grado di leggere la configurazione per tutti gli endpoint mesh, passa aCreazione di un ruolo IAM. Se si desidera limitare gli endpoint mesh da cui è possibile leggere la configurazione ai singoli endpoint mesh, è necessario creare una o più policy IAM. Si consiglia di limitare gli endpoint mesh da cui è possibile leggere la configurazione al solo proxy Envoy in esecuzione su risorse di elaborazione specifiche. Crea una policy IAM e aggiungere l'appmesh:StreamAggregatedResourcesautorizzazione alla policy. La seguente politica di esempio consente la configurazione dei nodi virtuali denominatiserviceBv1 eserviceBv2 la lettura in una mesh di servizio. La configurazione non può essere letta per nessun altro nodo virtuale definito nella service mesh. Per ulteriori informazioni sulla creazione o la modifica di una policy IAM, consulta Creazione di policy IAM e Modifica di policy IAM.

{ "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" ] } ] }

È possibile creare più policy, ciascuna delle quali limita l'accesso a diversi endpoint mesh.

Creazione di un ruolo IAM

Se desideri che tutti gli endpoint mesh in una service mesh siano in grado di leggere la configurazione per tutti gli endpoint mesh, devi creare un solo ruolo IAM. Se si desidera limitare gli endpoint mesh dai quali è possibile leggere la configurazione ai singoli endpoint mesh, è necessario creare un ruolo per ogni policy creata nel passaggio precedente. Completa le istruzioni per la risorsa di elaborazione su cui viene eseguito il proxy.

  • Amazon EKS: se desideri utilizzare un singolo ruolo, puoi utilizzare il ruolo esistente che è stato creato e assegnato ai nodi di lavoro al momento della creazione del cluster. Per utilizzare più ruoli, il cluster deve soddisfare i requisiti definiti in Abilitazione dei ruoli IAM per gli account di servizio nel cluster. Crea i ruoli IAM e associa i ruoli agli account del servizio Kubernetes. Per ulteriori informazioni, vedi Creazione di un ruolo e una politica IAM per il tuo account di servizio e Specificazione di un ruolo IAM per il tuo account di servizio.

  • Amazon ECS: seleziona il AWSservizio, seleziona Elastic Container Service, quindi seleziona lo use case di Elastic Container Service Task durante la creazione del tuo ruolo IAM.

  • Amazon EC2: seleziona il AWSservizio, seleziona EC2 e quindi seleziona lo use case EC2 durante la creazione del tuo ruolo IAM. Questo vale sia che il proxy sia ospitato direttamente su un'istanza di Amazon EC2 o Kubernetes in esecuzione su un'istanza.

Per ulteriori informazioni su come creare un ruolo IAM, consulta Creazione di un ruolo per unAWS servizio.

Collegamento di policy IAM

Se desideri che tutti gli endpoint mesh di una service mesh siano in grado di leggere la configurazione di tutti gli endpoint mesh, collega la policy IAMAWSAppMeshEnvoyAccess gestita al ruolo IAM creato in un passaggio precedente. Se desideri limitare gli endpoint mesh da cui è possibile leggere la configurazione ai singoli endpoint mesh, collega ogni policy che hai creato a ogni ruolo che hai creato. Per ulteriori informazioni sull'associazione di una policy IAM personalizzata o gestita a un ruolo IAM, vedi Aggiungere le autorizzazioni di identità IAM.

Collegamento di un ruolo IAM

Collega ogni ruolo IAM alla risorsa di elaborazione appropriata:

  • Amazon EKS: se hai collegato la policy al ruolo associato ai tuoi nodi di lavoro, puoi saltare questo passaggio. Se hai creato ruoli separati, assegna ogni ruolo a un account di servizio Kubernetes separato e assegna ogni account di servizio a una specifica di distribuzione del pod Kubernetes che include il proxy Envoy. Per ulteriori informazioni, consulta Specificare un ruolo IAM per il tuo account di servizio nella Guida per l'utente di Amazon EKS e Configurazione degli account di servizio per i Pod nella documentazione di Kubernetes.

  • Amazon ECS: allega un ruolo di attività Amazon ECS alla definizione dell'attività che include il proxy Envoy. L'attività può essere implementata con il tipo di avvio EC2 o Fargate. Per ulteriori informazioni su come creare un ruolo di attività Amazon ECS e collegarlo a un'attività, consulta Specificare un ruolo IAM per le tue attività.

  • Amazon EC2: il ruolo IAM deve essere associato all'istanza Amazon EC2 che ospita il proxy Envoy. Per ulteriori informazioni su come collegare un ruolo a un'istanza Amazon EC2, vedi Ho creato un ruolo IAM e ora voglio assegnarlo a un'istanza EC2.

Conferma l'autorizzazione

Verificare che l'appmesh:StreamAggregatedResourcesautorizzazione sia assegnata alla risorsa di elaborazione su cui si ospita il proxy selezionando uno dei nomi dei servizi di elaborazione.

Amazon EKS

È possibile assegnare una politica personalizzata al ruolo assegnato ai nodi di lavoro, ai singoli pod o a entrambi. Si consiglia tuttavia di assegnare la policy solo ai singoli pod, in modo da poter limitare l'accesso dei singoli pod ai singoli endpoint mesh. Se la policy è associata al ruolo assegnato ai nodi di lavoro, seleziona la scheda Amazon EC2 e completa i passaggi indicati per le istanze del tuo nodo di lavoro. Per determinare quale ruolo IAM è assegnato a un pod Kubernetes, completa i seguenti passaggi.

  1. Visualizza i dettagli di una distribuzione Kubernetes che include il pod a cui desideri confermare l'assegnazione di un account di servizio Kubernetes. Il comando seguente visualizza i dettagli di una distribuzione denominata my-deployment.

    kubectl describe deployment my-deployment

    Nell'output restituito annota il valore a destra diService Account:. SeService Account: non esiste una riga che inizia con, un account di servizio Kubernetes personalizzato non è attualmente assegnato alla distribuzione. Dovrai assegnarne una. Per ulteriori informazioni, consultare Configurare gli account di servizio per i pod nella documentazione di Kubernetes.

  2. Visualizza i dettagli dell'account di servizio restituito nel passaggio precedente. Il comando seguente visualizza i dettagli di un account di servizio denominato my-service-account.

    kubectl describe serviceaccount my-service-account

    A condizione che l'account del servizio Kubernetes sia associato a unAWS Identity and Access Management ruolo, una delle righe restituite avrà un aspetto simile all'esempio seguente.

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

    Nell'esempio precedentemy-deployment c'è il nome del ruolo IAM a cui è associato l'account di servizio. Se l'output dell'account di servizio non contiene una riga simile all'esempio precedente, l'account del servizio Kubernetes non è associato a unAWS Identity and Access Management account e devi associarlo a uno. Per ulteriori informazioni, consulta Specificare un ruolo IAM per l'account di servizio.

  3. Accedi alla AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  4. Nel riquadro di navigazione di sinistra seleziona Ruoli. Seleziona il nome del ruolo IAM annotato in una fase precedente.

  5. Conferma che la politica personalizzata creata in precedenza o la politicaAWSAppMeshEnvoyAccess gestita sia elencata. Se nessuna delle politiche è associata, allega una politica IAM al ruolo IAM. Se desideri allegare una politica IAM personalizzata ma non ne hai una, devi creare una politica IAM personalizzata con le autorizzazioni richieste. Se è allegata una politica IAM personalizzata, seleziona la politica e conferma che contiene"Action": "appmesh:StreamAggregatedResources". In caso contrario, è necessario aggiungere tale autorizzazione alla politica IAM personalizzata. Puoi anche confermare l'Amazon Resource Name (ARN) appropriato per uno specifico endpoint mesh. Se non è elencato alcun ARN, puoi modificare la policy per aggiungere, rimuovere o modificare gli ARN elencati. Per ulteriori informazioni, consulta Modifica di policy IAM eCreare una policy IAM .

  6. Ripeti i passaggi precedenti per ogni pod Kubernetes che contiene il proxy Envoy.

Amazon ECS
  1. Dalla console Amazon ECS, scegli Definizioni delle attività.

  2. Seleziona l'attività di Amazon ECS.

  3. Nella pagina Nome della definizione dell'attività, seleziona la definizione dell'attività.

  4. Nella pagina Definizione dell'attività, seleziona il link del nome del ruolo IAM a destra di Task Role. Se un ruolo IAM non è elencato, devi creare un ruolo IAM e collegarlo all'attività aggiornando la definizione dell'attività.

  5. Nella pagina Riepilogo, nella scheda Autorizzazioni, conferma che sia elencata la politica personalizzata creata in precedenza o la politicaAWSAppMeshEnvoyAccess gestita. Se nessuna delle politiche è associata, allega una politica IAM al ruolo IAM. Se desideri allegare una politica IAM personalizzata ma non ne hai una, devi creare la politica IAM personalizzata. Se è allegata una politica IAM personalizzata, seleziona la politica e conferma che contiene"Action": "appmesh:StreamAggregatedResources". In caso contrario, è necessario aggiungere tale autorizzazione alla politica IAM personalizzata. Puoi anche confermare l'Amazon Resource Name (ARN) appropriato per uno specifico endpoint mesh. Se non è elencato alcun ARN, puoi modificare la policy per aggiungere, rimuovere o modificare gli ARN elencati. Per ulteriori informazioni, consulta Modifica di policy IAM eCreare una policy IAM .

  6. Ripeti i passaggi precedenti per ogni definizione di attività che contiene il proxy Envoy.

Amazon EC2
  1. Dalla console Amazon EC2, seleziona Istanze nella barra di navigazione a sinistra.

  2. Seleziona una delle tue istanze che ospita il proxy Envoy.

  3. Nella scheda Descrizione, seleziona il link del nome del ruolo IAM a destra del ruolo IAM. Se un ruolo IAM non è elencato, devi creare un ruolo IAM.

  4. Nella pagina Riepilogo, nella scheda Autorizzazioni, conferma che sia elencata la politica personalizzata creata in precedenza o la politicaAWSAppMeshEnvoyAccess gestita. Se nessuna delle politiche è associata, collega la politica IAM al ruolo IAM. Se desideri allegare una politica IAM personalizzata ma non ne hai una, devi creare la politica IAM personalizzata. Se è allegata una politica IAM personalizzata, seleziona la politica e conferma che contiene"Action": "appmesh:StreamAggregatedResources". In caso contrario, è necessario aggiungere tale autorizzazione alla politica IAM personalizzata. Puoi anche confermare l'Amazon Resource Name (ARN) appropriato per uno specifico endpoint mesh. Se non è elencato alcun ARN, puoi modificare la policy per aggiungere, rimuovere o modificare gli ARN elencati. Per ulteriori informazioni, consulta Modifica di policy IAM eCreare una policy IAM .

  5. Ripeti i passaggi precedenti per ogni istanza in cui ospiti il proxy Envoy.