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 AWS documentazione, quando facciamo riferimento a una policy IAM senza menzionare nessuna delle categorie specifiche, intendiamo una policy basata sull'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 verrà aggiunta a IAM un'azione con "AccessKey" nel nome, l'utilizzo di iam:*AccessKey* for the Action element darà anche all'utente l'autorizzazione per quella nuova azione.) L'esempio seguente mostra una politica che consente agli utenti di eseguire tutte le azioni relative alle proprie chiavi di accesso (sostituirle account-id con il proprio Account AWS ID):

{ "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 invia anche richieste per ottenere Account AWS informazioni e informazioni 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, politiche e credenziali con AWS Management Console, devi includere le autorizzazioni per le azioni 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 tua proprietà.

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 politica basata sulle risorse può specificare l' AWS account che dispone delle autorizzazioni per accedere alla risorsa.

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

Molti AWS servizi accedono ad altri servizi. AWS Ad esempio, diversi AWS servizi, tra cui Amazon EMR, Elastic Load Balancing e Amazon EC2 Auto Scaling, gestiscono le istanze Amazon EC2. Altri AWS servizi 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 effetti AWS Data Pipeline, un ruolo IAM determina cosa può fare una pipeline; gli utenti hanno bisogno dell'autorizzazione per assumere il ruolo. Per maggiori dettagli, consulta Concessione di autorizzazioni per le pipeline con IAM nella Guida per gli sviluppatori di AWS Data Pipeline .

Per dettagli su come configurare correttamente le autorizzazioni in modo che un AWS servizio sia in grado di svolgere le attività previste, consulta la documentazione del servizio che stai chiamando. 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 AWS servizio in modo che funzioni per tuo conto, in genere fornisci l'ARN per un ruolo IAM che definisce ciò che il servizio è autorizzato a fare. AWS verifica di disporre delle autorizzazioni necessarie per trasferire 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 azioni sono definite da ciascun AWS servizio.

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, è necessario aggiungere l' CreateUser azione alla politica.

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, vedi Esempio 2: Consentire a un utente di creare una directory.