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.
Nota
La politica di autenticazione sulla rete di servizi non si applica alle configurazioni delle risorse nella rete di servizi.
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.
Indice
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 criteri 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.
Attività
Aggiungere un criterio di autenticazione a una rete di servizi
Segui la procedura descritta 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
-
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-type
opzione e il valore di.AWS_IAM
aws vpc-lattice create-service-network --name
Name
--auth-type AWS_IAM [--tagsTagSpecification
]Se il comando viene eseguito correttamente, verrà visualizzato un output simile al seguente:
{ "arn": "
arn
", "authType": "AWS_IAM", "id": "sn-0123456789abcdef0", "name": "Name" } -
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
--policyfile://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
-
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-type
opzione e il valore di.AWS_IAM
aws vpc-lattice update-service-network --service-network-identifier
sn-0123456789abcdef0
--auth-type AWS_IAMSe il comando viene eseguito correttamente, verrà visualizzato un output simile al seguente:
{ "arn": "
arn
", "authType": "AWS_IAM", "id": "sn-0123456789abcdef0", "name": "Name" } -
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
--policyfile://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-type
opzione 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.
Attività
Aggiungere una politica 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
-
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-type
opzione e il valore di.AWS_IAM
aws vpc-lattice create-service --name
Name
--auth-type AWS_IAM [--tagsTagSpecification
]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" } -
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
--policyfile://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
-
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-type
opzione e il valore di.AWS_IAM
aws vpc-lattice update-service --service-identifier
svc-0123456789abcdef0
--auth-type AWS_IAMSe il comando viene eseguito correttamente, verrà visualizzato un output simile al seguente:
{ "arn": "
arn
", "authType": "AWS_IAM", "id": "svc-0123456789abcdef0", "name": "Name" } -
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
--policyfile://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-type
opzione 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 SIGv4 richieste autenticate 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 è 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
oDeny
. 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'Resource
elemento come illustrato negli esempi seguenti.
Protocollo | Esempi |
---|---|
HTTP |
|
gRPC |
|
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 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 | Sì | Sì |
vpc-lattice-svcs:RequestMethod |
Filtra l'accesso in base al metodo della richiesta | GET | Sì | PUBBLICA sempre |
vpc-lattice-svcs:RequestHeader/ |
Filtra l'accesso in base a una coppia nome-valore dell'intestazione nelle intestazioni della richiesta | content-type: application/json | Sì | Sì |
vpc-lattice-svcs:RequestQueryString/ |
Filtra l'accesso dalle coppie chiave-valore della stringa di query nell'URL della richiesta | quux: [corge, grault] | Sì | No |
vpc-lattice-svcs:ServiceNetworkArn |
Filtra l'accesso tramite l'ARN della rete di servizio del servizio che riceve la richiesta | arn:aws:vpc-lattice:us-west-2:123456789012:servicenetwork/sn-0123456789abcdef0 | Sì | Sì |
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 | Sì | Sì |
vpc-lattice-svcs:SourceVpc |
Filtra l'accesso in base al VPC da cui proviene la richiesta | vpc-1a2b3c4d | Sì | Sì |
vpc-lattice-svcs:SourceVpcOwnerAccount |
Filtra l'accesso in base all'account proprietario del VPC da cui viene effettuata la richiesta | 123456789012 | Sì | Sì |
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 account fittizi. IDs
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'Resource
elemento è 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.
