Autorizzazioni necessarie per accedere alle risorse IAM - AWS Identity and Access Management

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

Autorizzazioni necessarie per accedere alle risorse IAM

Le risorse sono oggetti all'interno di un servizio. Le risorse IAM includono gruppi, utenti, ruoli e policy. Se hai effettuato l'accesso con le credenziali dell'Utente root dell'account AWS non hai limitazioni per l'amministrazione delle credenziali IAM o delle risorse IAM. Tuttavia, agli utenti IAM devono essere esplicitamente concesse le autorizzazioni appropriate per amministrare credenziali o risorse IAM. A tale scopo, è possibile collegare all'utente una policy basata su identità.

Nota

In tutta la documentazione AWS, quando facciamo riferimento a una policy IAM senza menzionare una categoria specifica, intendiamo una policy basata su identità e gestita dal cliente. Per ulteriori informazioni sulle categorie di policy, consultare Policy e autorizzazioni in IAM.

Autorizzazioni per amministrare le identità IAM

Le autorizzazioni necessarie per amministrare gruppi, utenti, ruoli e credenziali IAM in genere corrispondono alle operazioni API per l'attività. Ad esempio, per creare utenti IAM, è necessario disporre dell'autorizzazione iam:CreateUser che corrisponde al comando API: CreateUser. Per consentire a un utente IAM di creare altri utenti IAM, è possibile collegare una policy AM come la seguente all'utente specificato:

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "iam:CreateUser", "Resource": "*" } }

In una policy, il valore dell'elemento Resource dipende dall'operazione e da quali risorse possono essere interessate dall'operazione. Nell'esempio precedente, la policy consente a un utente di creare qualsiasi utente (* è un carattere jolly che corrisponde a tutte le stringhe). Per contro, una policy che consente agli utenti di modificare solo le proprie chiavi di accesso (operazioni API CreateAccessKey e UpdateAccessKeyResource) in genere include un elemento . In questo caso l'ARN include una variabile (${aws:username}) che viene risolta nel nome dell'utente corrente, come nell'esempio seguente:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListUsersForConsole", "Effect": "Allow", "Action": "iam:ListUsers", "Resource": "arn:aws:iam::*:*" }, { "Sid": "ViewAndUpdateAccessKeys", "Effect": "Allow", "Action": [ "iam:UpdateAccessKey", "iam:CreateAccessKey", "iam:ListAccessKeys" ], "Resource": "arn:aws:iam::*:user/${aws:username}" } ] }

Nell'esempio precedente, ${aws:username} è una variabile che viene risulta nel nome utente dell'utente corrente. Per ulteriori informazioni sulle variabili di policy, consultare Elementi delle policy IAM: variabili e tag.

L'utilizzo di un carattere jolly (*) nel nome dell'operazione spesso facilita la concessione delle autorizzazioni per tutte le operazioni correlate a un'attività specifica. Ad esempio, per consentire agli utenti di eseguire qualsiasi operazione IAM, puoi utilizzare iam:* per l'operazione. Per consentire agli utenti di eseguire qualsiasi operazione correlata solo alle chiavi di accesso, puoi utilizzare iam:*AccessKey* nell'elemento Action di un'istruzione della policy. In questo modo l'utente ottiene l'autorizzazione per eseguire le operazioni CreateAccessKey, DeleteAccessKey, GetAccessKeyLastUsed, ListAccessKeys e UpdateAccessKey. Se in futuro viene aggiunta a IAM un'operazione il cui nome contiene "AccessKey", l'utilizzo di iam:*AccessKey* per l'elemento Action concederà all'utente anche l'autorizzazione per la nuova operazione. L'esempio seguente mostra una policy che consente agli utenti di eseguire tutte le operazioni riguardanti le proprie chiavi di accesso (sostituisci account-id con l'ID del tuo Account AWS):

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "iam:*AccessKey*", "Resource": "arn:aws:iam::account-id:user/${aws:username}" } }

Alcune attività, ad esempio l'eliminazione di un gruppo, coinvolgono più operazioni: devi prima rimuovere gli utenti dal gruppo, quindi scollegare o eliminare le policy del gruppo e quindi effettivamente eliminare il gruppo. Se desideri che un utente sia in grado di eliminare un gruppo, devi concedere all'utente le autorizzazioni necessarie per eseguire tutte le operazioni correlate.

Autorizzazioni per utilizzare la AWS Management Console

I precedenti esempi mostrano le policy che consentono a un utente di eseguire le operazioni con l'AWS CLIo gli SDK AWS.

Quando gli utenti utilizzano la console, questa emette richieste a IAM per elencare i gruppi, gli utenti, i ruoli e le policy e per ottenere le policy associate a un gruppo, un utente o un ruolo. La console emette inoltre le richieste per ottenere informazioni sull'Account AWS e sul principale. Il principale è l'utente che effettua le richieste nella console.

In generale, per eseguire un'operazione, è solo necessario che l'operazione corrispondente sia inclusa in una policy. Per creare un utente, è necessaria l'autorizzazione per chiamare l'operazione CreateUser. Spesso, quando utilizzi la console per eseguire un'operazione, devi disporre delle autorizzazioni per mostrare, elencare, ottenere o altrimenti visualizzare le risorse nella console. Ciò è necessario per poter navigare nella console allo scopo di eseguire l'operazione specificata. Ad esempio, se l'utente Jorge desidera utilizzare la console per modificare le proprie chiavi di accesso, passa alla console IAM e sceglie Utenti. Questa operazione determina l'esecuzione di una richiesta ListUsers da parte della console. Se Jorge non dispone dell'autorizzazione per l'operazione iam:ListUsers, alla console viene negato l'accesso quando cerca di elencare gli utenti. Di conseguenza, Jorge non può accedere al proprio nome e alle proprie chiavi di accesso, anche se dispone delle autorizzazioni per le operazioni CreateAccessKey e UpdateAccessKey.

Se desideri concedere agli utenti le autorizzazioni per amministrare gruppi, utenti, ruoli, policy e credenziali con la AWS Management Console, devi includere le autorizzazioni per le operazioni eseguite dalla console. Per alcuni esempi di policy che è possibile utilizzare per concedere a un utente tali autorizzazioni, consultare Esempi di policy per amministrare le risorse IAM.

Concessione di autorizzazioni tra account AWS

È possibile concedere direttamente agli utenti IAM dell'account l'accesso alle risorse. Se gli utenti di un altro account devono accedere alle risorse, è possibile creare un ruolo IAM ovvero un'entità che include le autorizzazioni, ma che non è associato a un utente specifico. Gli utenti di altri account possono utilizzare il ruolo e accedere alle risorse in base alle autorizzazioni assegnate al ruolo. Per ulteriori informazioni, consulta Fornire l'accesso a un utente IAM in un altro Account AWS di proprietà dell'utente.

Nota

Alcuni servizi supportano le policy basate sulle risorse, come descritto in Policy basate sulle identità e policy basate su risorse (ad esempio Amazon S3, Amazon SNS e Amazon SQS). Per tali servizi, un'alternativa all'utilizzo dei ruoli consiste nel collegare una policy alla risorsa (bucket, argomento o coda) che si desidera condividere. La policy basata sulle risorse è in grado di specificare l'account AWS che dispone delle autorizzazioni per accedere alla risorsa.

Autorizzazioni per consentire a un servizio di accedere a un altro servizio

Molti servizi AWS accedono ad altri servizi AWS. Ad esempio, diversi servizi AWS, tra cui Amazon EMR, Elastic Load Balancing e Amazon EC2 Auto Scaling, gestiscono le istanze Amazon EC2. Altri servizi AWS utilizzano bucket Amazon S3, argomenti Amazon SNS, code Amazon SQS e così via.

Lo scenario per gestire le autorizzazioni in questi casi varia a seconda del servizio. Di seguito sono elencati alcuni esempi di come gestire le autorizzazioni per differenti servizi:

  • In Amazon EC2 Auto Scaling, gli utenti devono disporre dell'autorizzazione per utilizzare Auto Scaling, ma non hanno bisogno dell'autorizzazione esplicita per gestire le istanze Amazon EC2.

  • In AWS Data Pipeline, un ruolo IAM determina cosa può fare una pipeline; gli utenti necessitano dell'autorizzazione per assumere quel ruolo. Per maggiori dettagli, consulta Concessione di autorizzazioni per le pipeline con IAM nella Guida per gli sviluppatori di AWS Data Pipeline.

Per ulteriori informazioni su come configurare le autorizzazioni in modo che un servizio AWS possa eseguire le attività previste, consultare la documentazione del servizio interessato. Per informazioni su come creare un ruolo per un servizio, consultare Creazione di un ruolo per delegare le autorizzazioni a un servizio AWS.

Configurazione di un servizio con un ruolo IAM in modo che funzioni per tuo conto

Quando desideri configurare un servizio AWS in modo che funzioni per tuo conto, generalmente fornisci l'ARN per un ruolo IAM che definisca per quale servizio è autorizzato. AWS effettua una verifica per assicurare che tu disponga delle autorizzazioni per passare un ruolo a un servizio. Per ulteriori informazioni, consulta Concessione di autorizzazioni utente per il passaggio di un ruolo a un servizio AWS.

Operazioni necessarie

Le operazioni sono le azioni che puoi effettuare su una risorsa, come la visualizzazione, la creazione, la modifica e l'eliminazione di tale risorsa. Le operazioni vengono definite da ciascun servizio AWS.

Per consentire a qualcuno di eseguire un'operazione, è necessario includere le operazioni necessarie in una policy da applicare all'identità chiamante o alla risorsa interessata. In generale, per fornire le autorizzazioni necessarie per eseguire un'operazione, devi includere tale operazione nella policy. Ad esempio, per creare un utente, devi aggiungere l'azione CreateUser alla policy.

In alcuni casi, potrebbe essere necessario includere nella policy ulteriori azioni correlate per eseguire una determinata operazione. Ad esempio, per fornire a qualcuno l'autorizzazione per creare una directory in AWS Directory Service utilizzando l'operazione ds:CreateDirectory, devi includere le seguenti operazioni nella relativa policy:

  • ds:CreateDirectory

  • ec2:DescribeSubnets

  • ec2:DescribeVpcs

  • ec2:CreateSecurityGroup

  • ec2:CreateNetworkInterface

  • ec2:DescribeNetworkInterfaces

  • ec2:AuthorizeSecurityGroupIngress

  • ec2:AuthorizeSecurityGroupEgress

Quando crei o modifichi una policy utilizzando l'editor grafico, ricevi avvisi e richieste che ti aiutano a selezionare tutte le operazioni necessarie per la policy.

Per ulteriori informazioni sulle autorizzazioni necessarie per creare una directory in AWS Directory Service, consulta Esempio 2: consentire a un utente di creare una directory.