Envoy Proxy Authorization - 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à.

Envoy Proxy Authorization

L'autorizzazione del proxy autorizza ilInviatoproxy 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 per leggere la configurazione di uno o più endpoint mesh dall'App Mesh Envoy Management Service. Per gli account clienti che hanno già collegato Envoys al proprio endpoint App Mesh prima del 26/04/2021, è necessaria l'autorizzazione proxy per i nodi virtuali che utilizzanoTransport Layer Security (TLS)e per gateway virtuali (con o senza TLS). Per gli account 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 clienti di abilitare l'autorizzazione proxy per tutti i nodi virtuali, anche se non utilizzano TLS, per avere un'esperienza sicura e coerente utilizzando IAM per l'autorizzazione a risorse specifiche. L'autorizzazione proxy richiede che ilappmesh:StreamAggregatedResourcesL'autorizzazione è specificata in una policy IAM. Il criterio deve essere associato a un ruolo IAM e tale ruolo IAM deve essere associato alla risorsa di calcolo su cui si ospita il proxy.

Creazione di policy IAM

Se si desidera che tutti gli endpoint mesh in una mesh di servizio siano in grado di leggere la configurazione per tutti gli endpoint mesh, passare aCreazione di ruolo IAM. Se si desidera limitare gli endpoint mesh da cui è possibile leggere la configurazione dai singoli endpoint mesh, è necessario creare una o più policy IAM. Si consiglia di limitare gli endpoint mesh da cui è possibile leggere la configurazione solo al proxy Envoy in esecuzione su risorse di elaborazione specifiche. Creazione di una policy IAM e aggiunta dellaappmesh:StreamAggregatedResourcesautorizzazione alla politica. La seguente policy di esempio consente la configurazione dei nodi virtuali denominatiserviceBv1eserviceBv2da leggere in una mesh dei servizi. Non è possibile leggere la configurazione per altri nodi virtuali definiti nella mesh del servizio. Per ulteriori informazioni sulla creazione o la modifica di una policy IAM, consultaCreazione di policy IAMeModifica delle 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ù criteri, con ogni criterio che limita l'accesso a diversi endpoint mesh.

Creazione di ruolo IAM

Se si desidera che tutti gli endpoint mesh in una mesh di servizio siano in grado di leggere la configurazione per tutti gli endpoint mesh, è necessario creare un solo ruolo IAM. Se si desidera limitare gli endpoint mesh da cui è possibile leggere la configurazione dai singoli endpoint mesh, è necessario creare un ruolo per ogni criterio creato nel passaggio precedente. Completare le istruzioni per la risorsa di calcolo su cui viene eseguito il proxy.

  • Amazon EKS— Se si desidera utilizzare un singolo ruolo, è possibile utilizzare il ruolo esistente creato e assegnato ai nodi di lavoro durante la creazione del cluster. Per utilizzare più ruoli, il cluster deve soddisfare i requisiti definiti inAbilitazione dei ruoli IAM per gli account di servizio nel cluster. Creare i ruoli IAM e associare i ruoli agli account del servizio Kubernetes. Per ulteriori informazioni, consultaCreazione di un ruolo IAM e di una policy per l'account di servizioeSpecifica di un ruolo IAM per l'account di servizio.

  • Amazon ECS— SelezionaAWSservizio,selezionareElastic Container Servicee quindi seleziona ilAttività Elastic Container Servicecaso d'uso durante la creazione del ruolo IAM.

  • Amazon EC2— SelezionaAWSservizio,selezionareEC2e quindi seleziona ilEC2caso d'uso durante la creazione del ruolo IAM. Questo vale per l'hosting del proxy direttamente su un'istanza di Amazon EC2 o su Kubernetes in esecuzione su un'istanza.

Per ulteriori informazioni su come creare un ruolo IAM, consultaCreazione di un ruolo per unAWSService (Servizio).

Allegare la policy IAM

Se si desidera che tutti gli endpoint mesh in una mesh di servizio siano in grado di leggere la configurazione per tutti gli endpoint mesh, collegare ilAWSAppMeshEnvoyAccessGestito la policy IAM nel ruolo IAM creato in una fase precedente. Se si desidera limitare gli endpoint mesh da cui è possibile leggere la configurazione dai singoli endpoint mesh, allegare ogni criterio creato a ciascun ruolo creato. Per ulteriori informazioni sull'collegamento di una policy IAM personalizzata o gestita a un ruolo IAM, consultaAggiunta di autorizzazioni IAM Identity.

Collegamento del ruolo IAM

Allega ogni ruolo IAM alla risorsa di elaborazione appropriata:

  • Amazon EKS— Se è stato associato il criterio al ruolo associato ai nodi di lavoro, è possibile saltare questo passaggio. Se sono stati creati ruoli separati, assegnare ciascun ruolo a un account di servizio Kubernetes separato e assegnare ciascun account di servizio a una specifica di distribuzione del pod Kubernetes individuale che include il proxy Envoy. Per ulteriori informazioni, consultaSpecifica di un ruolo IAM per l'account di servizionellaGuida dell'utente di Amazon EKSeConfigurazione degli account di servizio per podnella documentazione Kubernetes.

  • Amazon ECS— Collegare un ruolo attività Amazon ECS alla definizione dell'attività che include il proxy Envoy. L'attività può essere distribuita con il tipo di avvio EC2 o Fargate. Per ulteriori informazioni su come creare un ruolo di attività di Amazon ECS e collegarlo a un'attività, consultaSpecifica di un ruolo IAM per i tuoi processi.

  • 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 di Amazon EC2, consultaHo creato un ruolo IAM e ora voglio assegnarlo a un'istanza EC2.

Confermare l'autorizzazione

Confermare che laappmesh:StreamAggregatedResourcesviene assegnata l'autorizzazione alla risorsa di calcolo su cui si ospita il proxy selezionando uno dei nomi dei servizi di calcolo.

Amazon EKS

Un criterio personalizzato può essere assegnato al ruolo assegnato ai nodi di lavoro, ai singoli pod o entrambi. Tuttavia, è consigliabile assegnare il criterio solo ai singoli pod, in modo da limitare l'accesso dei singoli pod ai singoli endpoint mesh. Se il criterio è associato al ruolo assegnato ai nodi di lavoro, selezionare ilAmazon EC2scheda e completa i passaggi trovati per le istanze del nodo di lavoro. Per determinare quale ruolo IAM è assegnato a un pod Kubernetes, attenersi alla seguente procedura.

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

    kubectl describe deployment my-deployment

    Nell'output restituito nota il valore a destra diService Account:. Se una riga inizia conService Account:non esiste, quindi un account di servizio Kubernetes personalizzato non è attualmente assegnato alla distribuzione. Avrai bisogno di assegnarne uno. 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 seguente comando 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 Managementrole, una delle righe restituite sarà simile all'esempio seguente.

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

    Nell'esempio precedentemy-deploymentè il nome del ruolo IAM a cui è associato l'account del 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 Managementaccount 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 di IAM all'indirizzo https://console.aws.amazon.com/iam/.

  4. Nel riquadro di navigazione di sinistra selezionaRuoli. Selezionare il nome del ruolo IAM annotato in precedenza.

  5. Conferma che sia il criterio personalizzato creato in precedenza o ilAWSAppMeshEnvoyAccessè elencato il criterio gestito. Se nessuna delle due policy è allegata,allegare una policy IAMal ruolo IAM. Se vuoi collegare una policy IAM personalizzata ma non ne hai una, allora devicreare una policy IAM personalizzatacon le autorizzazioni richieste in Se è allegato un criterio IAM personalizzato, selezionare il criterio e confermare che contiene"Action": "appmesh:StreamAggregatedResources". In caso contrario, è necessario aggiungere tale autorizzazione alla policy IAM personalizzata. Puoi anche confermare che sia elencato l'Amazon Resource Name (ARN) appropriato per un endpoint mesh specifico. Se non sono elencati ARN, è possibile modificare il criterio per aggiungere, rimuovere o modificare gli ARN elencati. Per ulteriori informazioni, consultaModifica delle policy IAMeCreazione di policy IAM.

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

Amazon ECS
  1. Dalla console Amazon ECS scegliDefinizioni di attività.

  2. Seleziona l'attività di Amazon ECS.

  3. SulNome della definizione dell'attività(pagina), seleziona la definizione dell'attività.

  4. SulDefinizione delle attivitàpagina, selezionare il collegamento del nome del ruolo IAM a destra diRuolo attività. Se un ruolo IAM non è elencato, è necessariocreare un ruolo IAMe allegalo al tuo compito tramiteaggiornamento della definizione dell'attività.

  5. NellaRiepilogopagina, nellaAutorizzazionischeda, conferma che sia il criterio personalizzato creato in precedenza o ilAWSAppMeshEnvoyAccessè elencato il criterio gestito. Se nessuna delle due policy è allegata,allegare una policy IAMal ruolo IAM. Se vuoi collegare una policy IAM personalizzata ma non ne hai una, allora devicreare la policy IAM personalizzata. Se è allegato un criterio IAM personalizzato, selezionare il criterio e confermare che contiene"Action": "appmesh:StreamAggregatedResources". In caso contrario, è necessario aggiungere tale autorizzazione alla policy IAM personalizzata. Puoi anche confermare che sia elencato l'Amazon Resource Name (ARN) appropriato per uno specifico endpoint mesh. Se non sono elencati ARN, è possibile modificare il criterio per aggiungere, rimuovere o modificare gli ARN elencati. Per ulteriori informazioni, consultaModifica delle policy IAMeCreazione di policy IAM.

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

Amazon EC2
  1. Dalla console Amazon EC2 selezionaIstanzenel riquadro di navigazione di sinistra.

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

  3. NellaDescription (Descrizione)scheda, selezionare il collegamento del nome del ruolo IAM a destra diRuolo IAM. Se un ruolo IAM non è elencato, è necessariocreare un ruolo IAM.

  4. NellaRiepilogopagina, nellaAutorizzazionischeda, conferma che sia il criterio personalizzato creato in precedenza o ilAWSAppMeshEnvoyAccessè elencato il criterio gestito. Se nessuna delle due policy è allegata,allegare la policy IAMal ruolo IAM. Se vuoi collegare una policy IAM personalizzata ma non ne hai una, allora devicreare la policy IAM personalizzata. Se è allegato un criterio IAM personalizzato, selezionare il criterio e confermare che contiene"Action": "appmesh:StreamAggregatedResources". In caso contrario, è necessario aggiungere tale autorizzazione alla policy IAM personalizzata. Puoi anche confermare che sia elencato l'Amazon Resource Name (ARN) appropriato per uno specifico endpoint mesh. Se non sono elencati ARN, è possibile modificare il criterio per aggiungere, rimuovere o modificare gli ARN elencati. Per ulteriori informazioni, consultaModifica delle policy IAMeCreazione di policy IAM.

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