Controlla l'accesso ai servizi VPC Lattice utilizzando le policy di autenticazione - Amazon VPC Lattice

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à.

Controlla l'accesso ai servizi VPC Lattice utilizzando le policy di autenticazione

Le policy di autenticazione VPC Lattice sono documenti di policy IAM da allegare a reti o servizi di servizio per controllare se uno specifico principale ha accesso a un gruppo di servizi o a un servizio specifico. È possibile allegare una policy di autenticazione a ogni rete di servizio o servizio a cui si desidera controllare l'accesso.

Le politiche di autenticazione sono diverse dalle politiche basate sull'identità IAM. Le policy basate sull'identità IAM sono associate agli utenti, ai gruppi o ai ruoli IAM e definiscono quali azioni tali identità possono eseguire su quali risorse. Le politiche di autenticazione sono collegate ai servizi e alle reti di servizi. Affinché l'autorizzazione abbia esito positivo, sia le politiche di autenticazione che le politiche basate sull'identità devono avere istruzioni di autorizzazione esplicite. Per ulteriori informazioni, consulta Come funziona l'autorizzazione.

È possibile utilizzare la console AWS CLI and per visualizzare, aggiungere, aggiornare o rimuovere i criteri di autenticazione su servizi e reti di servizi. Quando usi il AWS CLI, ricorda che i comandi vengono eseguiti nella Regione AWS configurazione per il tuo profilo. Per eseguire i comandi in un'altra regione, modificare la regione predefinita per il profilo oppure utilizzare il parametro --region con il comando.

Per iniziare a utilizzare i criteri di autenticazione, segui la procedura per creare un criterio di autenticazione applicabile a una rete di servizi. Per autorizzazioni più restrittive che non desideri applicare ad altri servizi, puoi facoltativamente impostare politiche di autenticazione su singoli servizi.

Le seguenti AWS CLI attività mostrano come gestire l'accesso a una rete di servizi utilizzando le politiche di autenticazione. Per istruzioni sull'utilizzo della console, consultaReti di servizio in VPC Lattice.

Aggiungere un criterio di autenticazione a una rete di servizi

Segui i passaggi descritti in questa sezione per utilizzare: AWS CLI

  • Abilita il controllo degli accessi su una rete di servizi utilizzando IAM.

  • Aggiungi una politica di autenticazione alla rete di servizi. Se non aggiungi un criterio di autenticazione, tutto il traffico riceverà un errore di accesso negato.

Per abilitare il controllo degli accessi e aggiungere una politica di autenticazione a una nuova rete di servizi
  1. Per abilitare il controllo degli accessi su una rete di servizi in modo che possa utilizzare una politica di autenticazione, usa il create-service-network comando con l'--auth-typeopzione e il valore di. AWS_IAM

    aws vpc-lattice create-service-network --name Name --auth-type AWS_IAM [--tags TagSpecification]

    Se il comando viene eseguito correttamente, verrà visualizzato un output simile al seguente:

    { "arn": "arn", "authType": "AWS_IAM", "id": "sn-0123456789abcdef0", "name": "Name" }
  2. Usa il put-auth-policy comando, specificando l'ID della rete di servizi in cui desideri aggiungere la politica di autenticazione e la politica di autenticazione che desideri aggiungere.

    Ad esempio, utilizzate il comando seguente per creare una politica di autenticazione per la rete di servizi con l'ID. sn-0123456789abcdef0

    aws vpc-lattice put-auth-policy --resource-identifier sn-0123456789abcdef0 --policy file://policy.json

    Utilizzate JSON per creare una definizione di policy. Per ulteriori informazioni, consulta Elementi comuni in una politica di autenticazione.

    Se il comando viene eseguito correttamente, verrà visualizzato un output simile al seguente:

    { "policy": "policy", "state": "Active" }
Per abilitare il controllo degli accessi e aggiungere una politica di autenticazione a una rete di servizi esistente
  1. Per abilitare il controllo degli accessi su una rete di servizi in modo che possa utilizzare una politica di autenticazione, usa il update-service-network comando con l'--auth-typeopzione e il valore di. AWS_IAM

    aws vpc-lattice update-service-network --service-network-identifier sn-0123456789abcdef0 --auth-type AWS_IAM

    Se il comando viene eseguito correttamente, verrà visualizzato un output simile al seguente:

    { "arn": "arn", "authType": "AWS_IAM", "id": "sn-0123456789abcdef0", "name": "Name" }
  2. Usa il put-auth-policy comando, specificando l'ID della rete di servizi in cui desideri aggiungere la politica di autenticazione e la politica di autenticazione che desideri aggiungere.

    aws vpc-lattice put-auth-policy --resource-identifier sn-0123456789abcdef0 --policy file://policy.json

    Usa JSON per creare una definizione di policy. Per ulteriori informazioni, consulta Elementi comuni in una politica di autenticazione.

    Se il comando viene eseguito correttamente, verrà visualizzato un output simile al seguente:

    { "policy": "policy", "state": "Active" }

Modifica il tipo di autenticazione di una rete di servizi

Per disabilitare la politica di autenticazione per una rete di servizi

Utilizzare il update-service-network comando con l'--auth-typeopzione e il valore diNONE.

aws vpc-lattice update-service-network --service-network-identifier sn-0123456789abcdef0 --auth-type NONE

Se è necessario abilitare nuovamente la politica di autenticazione in un secondo momento, esegui questo comando con AWS_IAM specified for the --auth-type option.

Rimuovi una politica di autenticazione da una rete di servizi

Per rimuovere una politica di autenticazione da una rete di servizi

Utilizza il comando delete-auth-policy.

aws vpc-lattice delete-auth-policy --resource-identifier sn-0123456789abcdef0

La richiesta ha esito negativo se si rimuove una politica di autenticazione prima di modificare il tipo di autenticazione di una rete di servizi in. NONE

Le seguenti AWS CLI attività mostrano come gestire l'accesso a un servizio utilizzando le politiche di autenticazione. Per istruzioni sull'utilizzo della console, consultaServizi in VPC Lattice.

Aggiungere un criterio di autenticazione a un servizio

Segui questi passaggi per utilizzare il file AWS CLI per:

  • Abilita il controllo degli accessi su un servizio utilizzando IAM.

  • Aggiungi una politica di autenticazione al servizio. Se non aggiungi una politica di autenticazione, tutto il traffico riceverà un errore di accesso negato.

Per abilitare il controllo degli accessi e aggiungere una politica di autenticazione a un nuovo servizio
  1. Per abilitare il controllo degli accessi su un servizio in modo che possa utilizzare una politica di autenticazione, usa il create-service comando con l'--auth-typeopzione e il valore di. AWS_IAM

    aws vpc-lattice create-service --name Name --auth-type AWS_IAM [--tags TagSpecification]

    Se il comando viene eseguito correttamente, verrà visualizzato un output simile al seguente:

    { "arn": "arn", "authType": "AWS_IAM", "dnsEntry": { ... }, "id": "svc-0123456789abcdef0", "name": "Name", "status": "CREATE_IN_PROGRESS" }
  2. Usa il put-auth-policy comando, specificando l'ID del servizio a cui desideri aggiungere la politica di autenticazione e la politica di autenticazione che desideri aggiungere.

    Ad esempio, utilizzate il comando seguente per creare una politica di autenticazione per il servizio con l'ID svc-0123456789abcdef0.

    aws vpc-lattice put-auth-policy --resource-identifier svc-0123456789abcdef0 --policy file://policy.json

    Utilizzate JSON per creare una definizione di policy. Per ulteriori informazioni, consulta Elementi comuni in una politica di autenticazione.

    Se il comando viene eseguito correttamente, verrà visualizzato un output simile al seguente:

    { "policy": "policy", "state": "Active" }
Per abilitare il controllo degli accessi e aggiungere una politica di autenticazione a un servizio esistente
  1. Per abilitare il controllo degli accessi su un servizio in modo che possa utilizzare una politica di autenticazione, usa il update-service comando con l'--auth-typeopzione e il valore di. AWS_IAM

    aws vpc-lattice update-service --service-identifier svc-0123456789abcdef0 --auth-type AWS_IAM

    Se il comando viene eseguito correttamente, verrà visualizzato un output simile al seguente:

    { "arn": "arn", "authType": "AWS_IAM", "id": "svc-0123456789abcdef0", "name": "Name" }
  2. Usa il put-auth-policy comando, specificando l'ID del servizio a cui desideri aggiungere la politica di autenticazione e la politica di autenticazione che desideri aggiungere.

    aws vpc-lattice put-auth-policy --resource-identifier svc-0123456789abcdef0 --policy file://policy.json

    Usa JSON per creare una definizione di policy. Per ulteriori informazioni, consulta Elementi comuni in una politica di autenticazione.

    Se il comando viene eseguito correttamente, verrà visualizzato un output simile al seguente:

    { "policy": "policy", "state": "Active" }

Modifica il tipo di autenticazione di un servizio

Per disabilitare la politica di autenticazione per un servizio

Utilizzare il update-service comando con l'--auth-typeopzione e il valore diNONE.

aws vpc-lattice update-service --service-identifier svc-0123456789abcdef0 --auth-type NONE

Se è necessario abilitare nuovamente la politica di autenticazione in un secondo momento, esegui questo comando con AWS_IAM specified for the --auth-type option.

Rimuovi una politica di autenticazione da un servizio

Per rimuovere una politica di autenticazione da un servizio

Utilizza il comando delete-auth-policy.

aws vpc-lattice delete-auth-policy --resource-identifier svc-0123456789abcdef0

La richiesta ha esito negativo se si rimuove una politica di autenticazione prima di modificare il tipo di autenticazione del servizio in. NONE

Se abiliti i criteri di autenticazione che richiedono richieste autenticate a un servizio, tutte le richieste a quel servizio devono contenere una firma di richiesta valida calcolata utilizzando Signature Version 4 (SigV4). Per ulteriori informazioni, consulta Richieste autenticate SigV4 per Amazon VPC Lattice.

Elementi comuni in una politica di autenticazione

Le policy di autenticazione VPC Lattice vengono specificate utilizzando la stessa sintassi delle policy IAM. Per ulteriori informazioni, consulta Politiche basate sull'identità e politiche basate sulle risorse nella Guida per l'utente IAM.

Una policy di autenticazione contiene i seguenti elementi:

  • Principale: la persona o l'applicazione a cui è consentito l'accesso alle azioni e alle risorse contenute nella dichiarazione. In una politica di autenticazione, il principale è l'entità IAM che è il destinatario di questa autorizzazione. Il principale viene autenticato come entità IAM per effettuare richieste a una risorsa o a un gruppo di risorse specifico, come nel caso dei servizi in una rete di servizi.

    È necessario specificare un principale in una policy basata sulle risorse. I principali possono includere account, utenti, ruoli, utenti federati o servizi. AWS Per ulteriori informazioni, consulta AWS JSON Policy elements: Principal nella IAM User Guide.

  • Effetto: l'effetto quando il principale specificato richiede l'azione specifica. Ciò può essere Allow o Deny. Per impostazione predefinita, quando si abilita il controllo degli accessi su un servizio o su una rete di servizi utilizzando IAM, i principali non dispongono delle autorizzazioni per effettuare richieste al servizio o alla rete di servizi.

  • Azioni: l'azione API specifica per la quale concedi o neghi l'autorizzazione. VPC Lattice supporta azioni che utilizzano il prefisso. vpc-lattice-svcs Per ulteriori informazioni, consulta Azioni definite da Amazon VPC Lattice Services nel Service Authorization Reference.

  • Risorse: i servizi interessati dall'azione.

  • Condizione: le condizioni sono facoltative. Puoi usarle per controllare quando la tua politica è in vigore. Per ulteriori informazioni, consulta Condition keys for Amazon VPC Lattice Services nel Service Authorization Reference.

Durante la creazione e la gestione delle politiche di autenticazione, potresti voler utilizzare IAM Policy Generator.

Requisito

La policy in JSON non deve contenere nuove righe o righe vuote.

Formato delle risorse per le politiche di autenticazione

È possibile limitare l'accesso a risorse specifiche creando una politica di autenticazione che utilizzi uno schema corrispondente con uno <serviceARN>/<path> schema e codifichi l'Resourceelemento come illustrato negli esempi seguenti.

Esempi di risorse per le politiche di autenticazione
Protocollo Esempi
HTTP
  • "Resource": "arn:aws:vpc-lattice:us-west-2:1234567890:service/svc-0123456789abcdef0/rates"

  • "Resource": "*/rates"

  • "Resource": "*/*"

gRPC
  • "Resource": "arn:aws:vpc-lattice:us-west-2:1234567890:service/svc-0123456789abcdef0/api.parking/GetRates"

  • "Resource": "arn:aws:vpc-lattice:us-west-2:1234567890:service/svc-0123456789abcdef0/api.parking/*"

  • "Resource": "arn:aws:vpc-lattice:us-west-2:1234567890:service/svc-0123456789abcdef0/*"

Utilizza il seguente formato di risorse Amazon Resource Name (ARN) per: <serviceARN>

arn:aws:vpc-lattice:region:account-id:service/service-id

Per esempio:

"Resource": "arn:aws:vpc-lattice:us-west-2:123456789012:service/svc-0123456789abcdef0"

Chiavi di condizione che possono essere utilizzate nelle politiche di autenticazione

L'accesso può essere ulteriormente controllato mediante i tasti condizionali nell'elemento Condition delle politiche di autenticazione. Queste chiavi di condizione sono disponibili per la valutazione a seconda del protocollo e del fatto che la richiesta sia firmata con Signature Version 4 (SigV4) o anonima. Le chiavi di condizione fanno distinzione tra maiuscole e minuscole.

AWS fornisce chiavi di condizione globali che è possibile utilizzare per controllare l'accesso, come eaws:PrincipalOrgID. aws:SourceIp Per visualizzare un elenco delle chiavi di condizione AWS globali, consulta le chiavi di contesto delle condizioni AWS globali nella Guida per l'utente IAM.

La seguente tabella elenca le chiavi delle condizioni VPC Lattice. Per ulteriori informazioni, consulta Condition keys for Amazon VPC Lattice Services nel Service Authorization Reference.

Chiavi condizionali per le politiche di autenticazione
Chiavi di condizione Descrizione Esempio Disponibile per chiamanti anonimi (non autenticati)? Disponibile per gRPC?
vpc-lattice-svcs:Port Filtra l'accesso tramite la porta di servizio a cui viene effettuata la richiesta 80
vpc-lattice-svcs:RequestMethod Filtra l'accesso in base al metodo della richiesta GET PUBBLICA sempre
vpc-lattice-svcs:RequestHeader/header-name: value Filtra l'accesso in base a una coppia nome-valore dell'intestazione nelle intestazioni della richiesta content-type: application/json
vpc-lattice-svcs:RequestQueryString/key-name: value Filtra l'accesso dalle coppie chiave-valore della stringa di query nell'URL della richiesta quux: [corge, grault] No
vpc-lattice-svcs:ServiceNetworkArn Filtra l'accesso tramite l'ARN della rete di servizi del servizio che riceve la richiesta arn:aws:vpc-lattice:us-west-2:123456789012:servicenetwork/sn-0123456789abcdef0
vpc-lattice-svcs:ServiceArn Filtra l'accesso in base all'ARN del servizio che riceve la richiesta arn:aws:vpc-lattice:us-west-2:123456789012:service/svc-0123456789abcdef0
vpc-lattice-svcs:SourceVpc Filtra l'accesso in base al VPC da cui proviene la richiesta vpc-1a2b3c4d
vpc-lattice-svcs:SourceVpcOwnerAccount Filtra l'accesso in base all'account proprietario del VPC da cui viene effettuata la richiesta 123456789012

Principi anonimi (non autenticati)

I principali anonimi sono chiamanti che non firmano AWS le loro richieste con Signature Version 4 (SigV4) e si trovano all'interno di un VPC connesso alla rete di servizi. I responsabili anonimi possono effettuare richieste non autenticate ai servizi della rete di servizi se una politica di autenticazione lo consente.

Esempi di politiche di autenticazione

Di seguito sono riportati alcuni esempi di politiche di autenticazione che richiedono l'invio di richieste da parte di responsabili autenticati.

Tutti gli esempi utilizzano la us-west-2 regione e contengono ID di account fittizi.

Esempio 1: limitare l'accesso ai servizi da parte di un'organizzazione specifica AWS

Il seguente esempio di politica di autenticazione concede le autorizzazioni a qualsiasi richiesta autenticata di accesso a qualsiasi servizio della rete di servizi a cui si applica la politica. Tuttavia, la richiesta deve provenire da responsabili che appartengono all' AWS organizzazione specificata nella condizione.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "vpc-lattice-svcs:Invoke", "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": [ "o-123456example" ] } } } ] }
Esempio 2: limita l'accesso a un servizio tramite un ruolo IAM specifico

Il seguente esempio di politica di autenticazione concede le autorizzazioni a qualsiasi richiesta autenticata che utilizza il ruolo IAM rates-client per effettuare richieste HTTP GET sul servizio specificato nell'elemento. Resource La risorsa nell'Resourceelemento è la stessa del servizio a cui è allegata la policy.

{ "Version":"2012-10-17", "Statement":[ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::123456789012:role/rates-client" ] }, "Action": "vpc-lattice-svcs:Invoke", "Resource": [ "arn:aws:vpc-lattice:us-west-2:123456789012:service/svc-0123456789abcdef0/*" ], "Condition": { "StringEquals": { "vpc-lattice-svcs:RequestMethod": "GET" } } } ] }
Esempio 3: Limita l'accesso ai servizi tramite principali autenticati in un VPC specifico

Il seguente esempio di policy di autenticazione consente solo le richieste autenticate dai principali nel VPC il cui ID VPC è. vpc-1a2b3c4d

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "vpc-lattice-svcs:Invoke", "Resource": "*", "Condition": { "StringNotEquals": { "aws:PrincipalType": "Anonymous" }, "StringEquals": { "vpc-lattice-svcs:SourceVpc": "vpc-1a2b3c4d" } } } ] }

Come funziona l'autorizzazione

Quando un servizio VPC Lattice riceve una richiesta, il codice di AWS applicazione valuta insieme tutte le politiche di autorizzazione pertinenti per determinare se autorizzare o rifiutare la richiesta. Valuta tutte le politiche basate sull'identità e le politiche di autenticazione IAM applicabili nel contesto della richiesta durante l'autorizzazione. Per impostazione predefinita, tutte le richieste vengono negate implicitamente quando il tipo di autenticazione è. AWS_IAM Un'autorizzazione esplicita da parte di tutte le politiche pertinenti ha la precedenza sull'impostazione predefinita.

L'autorizzazione include:

  • Raccolta di tutte le policy e le policy di autenticazione basate sull'identità IAM pertinenti.

  • Valutazione del set di politiche risultante:

    • Verifica che il richiedente (ad esempio un utente o un ruolo IAM) disponga delle autorizzazioni per eseguire l'operazione dall'account a cui appartiene il richiedente. Se non esiste un'istruzione di autorizzazione esplicita, AWS non autorizza la richiesta.

    • Verifica che la richiesta sia consentita dalla politica di autenticazione per la rete di servizi. Se un criterio di autenticazione è abilitato, ma non esiste un'istruzione di autorizzazione esplicita, la richiesta AWS non viene autorizzata. Se esiste un'istruzione di autorizzazione esplicita o il tipo di autenticazione èNONE, il codice continua.

    • Verifica che la richiesta sia consentita dalla politica di autenticazione del servizio. Se un criterio di autenticazione è abilitato, ma non esiste un'istruzione di autorizzazione esplicita, la richiesta AWS non viene autorizzata. Se è presente un'istruzione di autorizzazione esplicita o il tipo di autenticazione lo èNONE, il codice di applicazione restituisce la decisione finale di Allow.

    • Un rifiuto esplicito in una policy sostituisce qualsiasi permesso.

Il diagramma mostra il flusso di lavoro di autorizzazione. Quando viene effettuata una richiesta, le politiche pertinenti consentono o negano l'accesso della richiesta a un determinato servizio.

Workflow di autorizzazione