Come funziona Amazon VPC con IAM - Amazon Virtual Private Cloud

Come funziona Amazon VPC con IAM

Prima di utilizzare IAM per gestire l'accesso ad Amazon VPC, è necessario comprendere quali funzioni IAM sono disponibili per l'uso con Amazon VPC. Per ottenere un quadro generale del funzionamento di Amazon VPC e altri servizi AWS con IAM, consulta Servizi AWS supportati da IAM nella Guida per l'utente di IAM.

Con le policy basate sull'identità IAM, è possibile specificare azioni consentite o negate. Per alcune azioni, è possibile specificare le risorse e le condizioni in cui le azioni sono consentite o negate. Amazon VPC supporta specifiche operazioni, risorse e chiavi di condizione. Per informazioni su tutti gli elementi utilizzati in una policy JSON, consulta Documentazione di riferimento degli elementi delle policy JSON IAM nella Guida per l'utente IAM.

Operazioni

Gli amministratori possono utilizzare le policy AWS JSON per specificare gli accessi ai diversi elementi. Cioè, quale principale può eseguire azioni su quali risorse, e in quali condizioni.

L'elemento Action di una policy JSON descrive le azioni che è possibile utilizzare per consentire o negare l'accesso a un criterio. Le operazioni della policy hanno spesso lo stesso nome dell'operazione API AWS. Ci sono alcune eccezioni, ad esempio le operazioni di sola autorizzazione che non hanno un'operazione API corrispondente. Esistono anche alcune operazioni che richiedono più operazioni in una policy. Queste operazioni aggiuntive sono chiamate operazioni dipendenti.

L'operazione viene utilizzata in una policy per concedere le autorizzazioni di eseguire l'operazione associata.

Amazon VPC condivide il suo spazio dei nomi API con Amazon EC2. Le operazioni delle policy in Amazon VPC utilizzano il seguente prefisso prima dell'operazione: ec2:. Ad esempio, per concedere a un utente l'autorizzazione per creare un VPC con l'operazione API CreateVpc di Amazon EC2, è necessario includere l'operazione ec2:CreateVpc nella policy collegata al ruolo IAM che si desidera che l'utente assuma. Le istruzioni della policy devono includere un elemento Action o NotAction.

Per specificare più operazioni in una singola istruzione, separarle con virgole, come illustrato nell'esempio seguente.

"Action": [ "ec2:action1", "ec2:action2" ]

Puoi specificare più operazioni tramite caratteri jolly (*). Ad esempio, per specificare tutte le operazioni che iniziano con la parola Describe, includi la seguente operazione.

"Action": "ec2:Describe*"

Per visualizzare un elenco delle azioni Amazon VPC, consulta Azioni, risorse e chiavi condizione per Amazon EC2 nella Guida dell'utente IAM.

Risorse

Gli amministratori possono utilizzare le policy AWS JSON per specificare gli accessi ai diversi elementi. Cioè, quale principale può eseguire azioni su quali risorse, e in quali condizioni.

L'elemento JSON Resource della policy specifica l'oggetto o gli oggetti ai quali si applica l'operazione. Le istruzioni devono includere un elemento Resource o un elemento NotResource. Come best practice, specifica una risorsa utilizzando il suo Amazon Resource Name (ARN). È possibile eseguire questa operazione per azioni che supportano un tipo di risorsa specifico, noto come autorizzazioni a livello di risorsa.

Per le azioni che non supportano le autorizzazioni a livello di risorse, ad esempio le operazioni di elenco, utilizzare un carattere jolly (*) per indicare che l'istruzione si applica a tutte le risorse.

"Resource": "*"
Importante

Attualmente, non tutte le operazioni API Amazon EC2 supportano autorizzazioni a livello di risorsa. Se un'operazione API di Amazon EC2 non supporta le autorizzazioni a livello di risorsa, puoi concedere agli utenti l'autorizzazione per utilizzare l'operazione, ma dovrai specificare il carattere jolly * per l'elemento di risorsa della tua dichiarazione di policy. Per visualizzare le operazioni per le quali è possibile specificare un ARN per l'elemento risorsa, consulta Operazioni definite da Amazon EC2.

La risorsa VPC ha l'ARN mostrato nell'esempio seguente.

arn:${Partition}:ec2:${Region}:${Account}:vpc/${VpcId}

Per ulteriori informazioni sul formato degli ARN, consulta Amazon Resource Name (ARN).

Ad esempio, per specificare il VPC vpc-1234567890abcdef0 nell'istruzione, utilizzare l'ARN mostrato nell'esempio seguente.

"Resource": "arn:aws:ec2:us-east-1:123456789012:vpc/vpc-1234567890abcdef0"

Per specificare tutti i VPC di una regione specifica che appartengono a un account specifico, utilizza il carattere jolly (*).

"Resource": "arn:aws:ec2:us-east-1:123456789012:vpc/*"

Alcune operazioni Amazon VPC, ad esempio quelle per la creazione di risorse, non possono essere eseguite su una risorsa specifica. In questi casi, è necessario utilizzare il carattere jolly (*).

"Resource": "*"

Molte operazioni API di Amazon EC2 coinvolgono più risorse. Per specificare più risorse in una singola istruzione, separa gli ARN con le virgole.

"Resource": [ "resource1", "resource2" ]

Per visualizzare un elenco dei tipi di risorse Amazon VPC e dei relativi ARN, consulta Risorse definite da Amazon EC2 nella Guida dell'utente IAM.

Chiavi di condizione

Gli amministratori possono utilizzare le policy JSON AWS per specificare chi ha accesso a cosa. Cioè, quale principale può eseguire azioni su quali risorse, e in quali condizioni.

L'elemento Condition (o blocco Condition) consente di specificare le condizioni in cui un'istruzione è attiva. L'elemento Condition è facoltativo. Puoi compilare espressioni condizionali che utilizzano operatori di condizione, ad esempio uguale a o minore di, per soddisfare la condizione nella policy con i valori nella richiesta.

Se specifichi più elementi Condition in un'istruzione o più chiavi in un singolo elemento Condition, questi vengono valutati da AWS utilizzando un'operazione AND logica. Se specifichi più valori per una singola chiave di condizione, AWS valuta la condizione utilizzando un'operazione OR logica. Tutte le condizioni devono essere soddisfatte prima che le autorizzazioni dell'istruzione vengano concesse.

Puoi anche utilizzare variabili segnaposto quando specifichi le condizioni. Ad esempio, puoi autorizzare un utente IAM ad accedere a una risorsa solo se è stata taggata con il relativo nome utente IAM. Per ulteriori informazioni, consulta Elementi delle policy IAM: variabili e tag nella Guida per l'utente di IAM.

AWS supporta chiavi di condizione globali e chiavi di condizione specifiche per il servizio. Per visualizzare tutte le chiavi di condizione globali di AWS, consulta Chiavi di contesto delle condizioni globali di AWS nella Guida per l'utente di IAM.

Amazon VPC definisce il proprio set di chiavi di condizione e supporta anche l'uso di alcune chiavi di condizione globali. Per visualizzare tutte le chiavi di condizione globali diAWS, consulta Chiavi di contesto delle condizioni globali di AWS nella Guida per l'utente di IAM.

Tutte le azioni Amazon EC2 supportano le chiavi di condizione aws:RequestedRegion e ec2:Region. Per ulteriori informazioni, consulta Esempio: limitazione dell'accesso a una regione specifica.

Per visualizzare un elenco delle chiavi condizione di Amazon VPC, consulta le chiavi condizione per Amazon EC2 nella Guida dell'utente IAM. Per informazioni su operazioni e risorse con cui è possibile utilizzare una chiave di condizione, consulta Operazioni definite da Amazon Ec2.

Policy basate sulle risorse di Amazon VPC

Le policy basate su risorse sono documenti di policy JSON che specificano le operazioni che possono essere eseguite da un'entità principale specificata sulla risorsa Amazon VPC e in base a quali condizioni.

Per consentire l'accesso a più account, è possibile specificare un intero account o entità IAM in un altro account come entità principale in una policy basata su risorse. L'aggiunta di un'entità principale a più account a una policy basata su risorse rappresenta solo una parte della relazione di trust. Quando l'entità principale e la risorsa si trovano in account AWS diversi, devi anche concedere all'entità principale l'autorizzazione per accedere alla risorsa. Concedi l'autorizzazione collegando una policy basata sull'identità all'entità. Tuttavia, se una policy basata su risorse concede l'accesso a un'entità principale nello stesso account, non sono richieste ulteriori policy basate su identità. Per ulteriori informazioni, consulta Differenza tra i ruoli IAM e le policy basate su risorse nella Guida per l'utente IAM.

Autorizzazione basata su tag

Puoi collegare i tag alle risorse Amazon VPC o passarli in una richiesta. Per controllare l'accesso basato su tag, fornisci informazioni sui tag nell'elemento condizione di una policy utilizzando le chiavi di condizione ec2:ResourceTag/key-name, aws:RequestTag/key-name o aws:TagKeys. Per ulteriori informazioni, consulta le autorizzazioni a livello di risorse per l'assegnazione di tag nella Guida per l'utente di Amazon EC2.

Per visualizzare un esempio di policy basata su identità per limitare l'accesso a una risorsa in base ai tag di tale risorsa, consulta Avvio di istanze in un VPC specifico.

Ruoli IAM

Un ruolo IAM è un'entità all'interno dell'account AWS che dispone di autorizzazioni specifiche.

Utilizzo di credenziali temporanee

Puoi utilizzare credenziali temporanee per effettuare l'accesso utilizzando la federazione, assumere un ruolo IAM o assumere un ruolo multi-account. Per ottenere le credenziali di sicurezza temporanee, eseguire una chiamata a operazioni API AWS STS quali, ad esempio, AssumeRole o GetFederationToken.

Amazon VPC supporta l'uso di credenziali temporanee.

Ruoli collegati ai servizi

Ruoli collegati al servizio consentono ai servizi AWS di accedere a risorse in altri servizi per completare un'operazione a tuo nome. I ruoli collegati ai servizi sono visualizzati nell'account IAM e sono di proprietà del servizio. Un amministratore IAM può visualizzare le autorizzazioni per i ruoli collegati ai servizi, ma non può modificarle.

I gateway di transito supportano i ruoli collegati al servizio.

Ruoli dei servizi

Questa caratteristica consente a un servizio di assumere un ruolo di servizio per conto dell'utente. Questo ruolo consente al servizio di accedere alle risorse in altri servizi per completare un'operazione per conto dell'utente. I ruoli dei servizi sono visualizzati nell'account IAM e sono di proprietà dell'account. Ciò significa che un amministratore IAM può modificare le autorizzazioni per questo ruolo. Tuttavia, questo potrebbe pregiudicare la funzionalità del servizio.

Amazon VPC supporta i ruoli di servizio per i log di flusso. Quando si crea un log di flusso, è necessario scegliere un ruolo che consenta al servizio log di flusso di accedere a CloudWatch Logs. Per ulteriori informazioni, consulta Ruolo IAM per la pubblicazione di log di flusso in File di log CloudWatch.