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à.
Utilizza le informazioni contenute in questa pagina per eseguire la diagnosi e risolvere i problemi comuni che possono verificarsi durante l'utilizzo di ruoli IAM.
Argomenti
- Non è possibile assumere un ruolo
- Un nuovo ruolo appare nell'account AWS
- Non è possibile modificare o eliminare un ruolo nell'Account AWS
- Non autorizzato ad eseguire: iam:PassRole
- Perché non posso assumere un ruolo con una sessione di 12 ore? (AWS CLI, AWS API)
- Viene visualizzato un errore quando provo a passare da un ruolo a un altro nella console IAM
- Il mio ruolo ha un policy che mi consente di eseguire un'operazione, ma ricevo "Accesso negato"
- Il servizio non ha creato la versione delle policy predefinite del ruolo
- Non esiste un caso d'uso per un ruolo di servizio nella console
Non è possibile assumere un ruolo
Verifica quanto segue:
-
Per consentire agli utenti di assumere nuovamente il ruolo corrente all'interno di una sessione di ruolo, specifica l'ARN del ruolo oppure l'ARN dell'Account AWS come principale della policy di attendibilità del ruolo. I Servizi AWS che forniscono risorse di calcolo come Amazon EC2, Amazon ECS, Amazon EKS e Lambda forniscono credenziali temporanee e le aggiornano automaticamente. Ciò garantisce di disporre sempre di un set di credenziali valido. Per questi servizi, non è necessario riassumere il ruolo attuale per ottenere credenziali temporanee. Tuttavia, se intendi passare tag di sessione o una Policy di sessione, devi riassumere il ruolo attuale. Per sapere come modificare una policy di attendibilità dei ruoli per aggiungere il ruolo principale ARN o Account AWS consulta Aggiornamento di una policy di attendibilità del ruolo .
-
Quando assumi un ruolo utilizzando la AWS Management Console, assicurati di utilizzare il nome esatto del ruolo. I nomi dei ruoli fanno infatti distinzione tra maiuscole e minuscole.
-
Quando assumi un ruolo utilizzando l'API AWS STS o AWS CLI, assicurati di utilizzare il nome esatto del ruolo nell'ARN. I nomi dei ruoli fanno infatti distinzione tra maiuscole e minuscole.
-
Verifica che la policy IAM conceda l'autorizzazione per chiamare
sts:AssumeRole
per il ruolo che desideri assumere. L'elementoAction
della policy IAM deve consentire di chiamare l'operazioneAssumeRole
. Inoltre, l'elementoResource
della policy IAM deve specificare il ruolo che desideri assumere. Ad esempio, l'elementoResource
può specificare un ruolo in base all'Amazon Resource Name (ARN) o utilizzando un carattere jolly (*). Ad esempio, almeno una policy applicabile è necessaria per concedere le autorizzazioni simili a quanto segue:"Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::
account_id_number
:role/role-name-you-want-to-assume
" -
Verifica che l'identità IAM sia taggata con eventuali tag richiesti dalla policy IAM. Ad esempio, nella seguente policy di autorizzazione, l'elemento
Condition
richiede che il principale richiedente l'assunzione del ruolo debba avere un determinato tag. Al principale deve essere applicato il tagdepartment = HR
odepartment = CS
. In caso contrario, non può assumere quel ruolo. Per ulteriori informazioni sul tagging di utenti e ruoli IAM, consulta Tag per risorse AWS Identity and Access Management."Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "*", "Condition": {"StringEquals": {"aws:PrincipalTag/department": [ "HR", "CS" ]}}
-
Verificare di soddisfare tutte le condizioni specificate nella policy di affidabilità del ruolo. Una
Condition
può specificare una data di scadenza, un ID esterno o che una richiesta deve provenire solo da indirizzi IP specifici. Considera l'esempio seguente: se la data corrente è qualsiasi momento dopo la data specifica, la policy non corrisponde mai e non è in grado di concedere l'autorizzazione per assumere il ruolo."Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::
account_id_number
:role/role-name-you-want-to-assume
" "Condition": { "DateLessThan" : { "aws:CurrentTime" : "2016-05-01T12:00:00Z
" } } -
Verifica che l'Account AWS dal quale stai richiamando
AssumeRole
sia un'entità affidabile per il ruolo che stai assumendo. Le entità affidabili vengono definite comePrincipal
in una policy di affidabilità del ruolo. L'esempio seguente è una policy di affidabilità collegata al ruolo che desideri assumere. In questo esempio, l'ID account con l'utente IAM con il quale hai effettuato l'accesso deve essere 123456789012. Se il numero di account non è elencato nell'elementoPrincipal
della policy di affidabilità del ruolo, non puoi assumere il ruolo. Ciò è valido indipendentemente dalle autorizzazioni concesse nelle policy di accesso. Notare che la policy di esempio limita le autorizzazioni a operazioni che si verificano tra il 1° luglio 2017 e il 31 dicembre 2017 (UTC), inclusi. Se si effettua l'accesso prima o dopo tali date, la policy non corrisponde e non è possibile assumere il ruolo."Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
123456789012
:root" }, "Action": "sts:AssumeRole", "Condition": { "DateGreaterThan": {"aws:CurrentTime": "2017-07-01T00:00:00Z"}, "DateLessThan": {"aws:CurrentTime": "2017-12-31T23:59:59Z"} } -
Identità di origine: gli amministratori possono configurare i ruoli in modo da richiedere le identità per passare una stringa personalizzata che identifichi la persona o l'applicazione che esegue operazioni in AWS, detta identità di origine. Verifica se il ruolo assunto richiede l'impostazione di un'identità di origine. Per ulteriori informazioni sull'identità di origine, consulta Monitoraggio e controllo delle operazioni intraprese con i ruoli assunti.
Un nuovo ruolo appare nell'account AWS
Alcuni servizi AWS richiedono l'utilizzo di un solo tipo di ruolo di servizio collegato direttamente al servizio. Questo ruolo collegato ai servizi è predefinito dal servizio e include tutte le autorizzazioni che il servizio richiede. Ciò rende più semplice la configurazione di un servizio perché non si devono aggiungere manualmente le autorizzazioni necessarie. Per informazioni generali sui ruoli collegati al servizio, consultare Creare un ruolo collegato ai servizi.
Un servizio potrebbe essere già in utilizzo quando inizia a supportare i ruoli collegati al servizio. In questo caso, è possibile ricevere un'e-mail con informazioni su un nuovo ruolo nell'account. Questo ruolo include tutte le autorizzazioni delle quali il servizio ha bisogno per eseguire operazioni a proprio nome. Non bisogna eseguire alcuna operazione per supportare questo ruolo. Tuttavia, non bisogna eliminare il ruolo dall'account. Altrimenti si potrebbero rimuovere le autorizzazioni delle quali il servizio ha bisogno per accedere alle risorse AWS. È possibile visualizzare i ruoli collegati ai servizi nell'account passando la pagina Ruoli IAM della console IAM. Per i ruoli collegati al servizio viene visualizzata l'indicazione (Service-linked role) (Ruolo collegato al servizio) nella colonna Trusted entities (Entità attendibili) della tabella.
Per informazioni su quali servizi supportano i ruoli collegati ai servizi, consulta AWS servizi che funzionano con IAM e cercare i servizi che hanno Sì nella colonna Ruolo collegato ai servizi. Per ulteriori informazioni sull'utilizzo di un ruolo collegato ai servizi per un servizio, selezionare il collegamento Yes (Sì).
Non è possibile modificare o eliminare un ruolo nell'Account AWS
Non è possibile eliminare o modificare le autorizzazioni per un ruolo collegato ai servizi in IAM. Questi ruoli includono trust e autorizzazioni predefiniti richiesti dal servizio per eseguire operazioni a proprio nome. È possibile utilizzare la console IAM, la AWS CLI o l'API per modificare solo la descrizione di un ruolo collegato ai servizi. È possibile visualizzare i ruoli collegati ai servizi nell'account visitando la pagina Ruoli IAM nella console. Per i ruoli collegati al servizio viene visualizzata l'indicazione (Service-linked role) (Ruolo collegato al servizio) nella colonna Trusted entities (Entità attendibili) della tabella. Un banner nella pagina Summary (Riepilogo) del ruolo indica anche che un ruolo è un ruolo collegato ai servizi. È possibile gestire ed eliminare questi ruoli solo attraverso il servizio collegato, se quel servizio supporta l'operazione. Fare attenzione quando si modifica o elimina un ruolo collegato ai servizi poiché tale operazione può rimuovere le autorizzazioni delle quali il servizio ha bisogno per accedere alle risorse AWS.
Per informazioni su quali servizi supportano i ruoli collegati ai servizi, consulta AWS servizi che funzionano con IAM e cercare i servizi che hanno Sì nella colonna Ruolo collegato ai servizi.
Non autorizzato ad eseguire: iam:PassRole
Quando si crea un ruolo collegato ai servizi, è necessario disporre delle autorizzazioni per inoltrare quel ruolo al servizio. Alcuni servizi creano automaticamente un ruolo collegato ai servizi nell'account quando si esegue un'azione in quel servizio. Ad esempio, Amazon EC2 Auto Scaling crea il ruolo collegato ai servizi AWSServiceRoleForAutoScaling
la prima volta che si crea un gruppo Auto Scaling. Se si cerca di creare un gruppo Auto Scaling senza l'autorizzazione PassRole
, si riceve il seguente messaggio di errore:
ClientError: An error occurred (AccessDenied) when calling the PutLifecycleHook
operation: User: arn:aws:sts::111122223333:assumed-role/Testrole/Diego is not authorized
to perform: iam:PassRole on resource:
arn:aws:iam::111122223333:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling
Per risolvere questo errore, chiedere all'amministratore di aggiungere l'autorizzazione iam:PassRole
per proprio conto.
Per scoprire i servizi che supportano i ruoli collegati ai servizi, consulta AWS servizi che funzionano con IAM. Per scoprire se un servizio crea automaticamente un ruolo collegato ai servizi, selezionare il link Yes (Sì) per visualizzare la documentazione del ruolo collegato ai servizi per quel servizio.
Perché non posso assumere un ruolo con una sessione di 12 ore? (AWS CLI, AWS API)
Quando si utilizza l'API AWS STS AssumeRole*
oppure le operazioni di assume-role*
CLI per assumere un ruolo, è possibile specificare un valore per il parametro DurationSeconds
. Puoi specificare un valore da 900 secondi (15 minuti) fino alla durata massima impostata per la sessione per il ruolo. Se si specifica un valore superiore a questa impostazione, l'operazione ha esito negativo. Questa impostazione può avere un valore massimo di 12 ore. Ad esempio, se si specifica una durata di sessione di 12 ore, ma l'amministratore ha impostato la durata massima di sessione a 6 ore, l'operazione ha esito negativo. Per informazioni su come visualizzare il valore massimo per il ruolo, consulta Aggiornamento della durata massima della sessione per un ruolo.
Se si utilizza l'concatenamento dei ruoli (utilizzando un ruolo per assumere un secondo ruolo), la sessione è limitata a un massimo di un'ora. Se successivamente utilizzi il parametro DurationSeconds
per fornire un valore superiore a un'ora, l'operazione ha esito negativo.
Viene visualizzato un errore quando provo a passare da un ruolo a un altro nella console IAM
Le informazioni immesse nella pagina Cambia ruolo devono corrispondere a quelle relative al ruolo. In caso contrario, l'operazione non riesce e viene visualizzato il seguente errore:
Invalid information in one or more fields. Check your information or contact your
administrator.
Se viene visualizzato questo errore, verificare che le seguenti informazioni siano corrette:
-
ID account o alias: l'ID dell'Account AWS è un numero di 12 cifre. L'account potrebbe avere un alias, che è un identificativo descrittivo, ad esempio il nome della società, che può essere utilizzato al posto dell'ID dell'Account AWS. In questo campo è possibile utilizzare l'ID account o l'alias.
-
Nome ruolo: i nomi dei ruoli fanno distinzione tra maiuscole e minuscole. L'ID account e il nome del ruolo devono corrispondere a quelli configurati per il ruolo.
Se si continua a ricevere un messaggio di errore, contattare l'amministratore per verificare le informazioni precedenti. La policy di attendibilità del ruolo o la policy dell'utente IAM potrebbe limitare l'accesso. L'amministratore può verificare le autorizzazioni per questi criteri.
Il mio ruolo ha un policy che mi consente di eseguire un'operazione, ma ricevo "Accesso negato"
La sessione del ruolo potrebbe essere limitata dalle policy di sessione. Quando richiedi le credenziali di sicurezza temporanee a livello di programmazione utilizzando AWS STS, puoi passare facoltativamente policy di gestione inline o gestite. Le policy di sessione sono policy avanzate che vengono passate come parametro durante la creazione di una sessione temporanea per un ruolo a livello di programmazione. Puoi passare un singolo documento della policy di sessione inline JSON utilizzando il parametro Policy
. Puoi utilizzare il parametro PolicyArns
per specificare fino a 10 policy di sessione gestite. Le autorizzazioni della sessione risultanti sono l'intersezione tra le policy basate sull'identità del ruolo e le policy di sessione. In alternativa, se l'amministratore o un programma personalizzato fornisce le credenziali temporanee, potrebbero includere policy di sessione per limitare l'accesso.
Il servizio non ha creato la versione delle policy predefinite del ruolo
Un ruolo di servizio è un ruolo che un servizio assume per eseguire operazioni nel tuo account a tuo nome. Quando configuri gli ambienti di servizio AWS, devi definire un ruolo che il servizio deve assumere. In alcuni casi, il servizio crea il ruolo di servizio e le relative policy in IAM per tuo conto. Sebbene sia possibile modificare o eliminare il ruolo di servizio e la relativa policy dall'interno di IAM, AWS consiglia di non seguire questa opzione. Il ruolo e il criterio sono destinati solo a tale servizio. Se si modifica il criterio e si imposta un altro ambiente, quando il servizio tenta di utilizzare lo stesso ruolo e criterio, l'operazione potrebbe non riuscire.
Ad esempio, quando si utilizza AWS CodeBuild per la prima volta, il servizio crea un ruolo denominato codebuild-RWBCore-service-role
. Tale ruolo di servizio utilizza il criterio denominato codebuild-RWBCore-managed-policy
. Se si modifica il criterio, viene creata una nuova versione che viene salvata come versione predefinita. Se si esegue un'operazione successiva in AWS CodeBuild, il servizio potrebbe tentare di aggiornare il criterio. In tal caso, viene visualizzato il seguente errore:
codebuild.amazon.com did not create the default version (V2) of the
codebuild-RWBCore-managed-policy policy that is attached to the
codebuild-RWBCore-service-role role. To continue, detach the policy from any other
identities and then delete the policy and the role.
Se viene visualizzato questo errore, dovrai apportare le modifiche in IAM prima di poter continuare con l'operazione di servizio. Innanzitutto, impostare la versione predefinita del criterio su V1 e riprovare l'operazione. Se V1 è stato eliminato in precedenza o se la scelta di V1 non funziona, pulire ed eliminare il criterio e il ruolo esistenti.
Per ulteriori informazioni sulla modifica dei criteri gestiti, vedere Modifica di policy gestite dal cliente (console). Per ulteriori informazioni sulle versioni dei criteri, consulta Controllo delle versioni delle policy IAM.
Per eliminare un ruolo di servizio e il relativo criterio
Accedi a AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/
. -
Nel pannello di navigazione, seleziona Policies (Policy).
-
Nell'elenco delle policy, selezionare il nome della policy che si desidera modificare.
-
Scegli la scheda Entità collegate per visualizzare gli utenti, i gruppi o i ruoli IAM che utilizzano questa policy. Se una di queste identità utilizza il criterio, completare le seguenti attività:
-
Creare un nuovo criterio gestito con le autorizzazioni necessarie. Per assicurarsi che le identità dispongano delle stesse autorizzazioni prima e dopo le azioni, copiare il documento dei criteri JSON dal criterio esistente. Crea quindi la nuova policy gestita e incolla il documento JSON come descritto in Creazione di policy utilizzando l'editor JSON.
-
Per ogni identità interessata, allegare il nuovo criterio e quindi staccare quello precedente. Per ulteriori informazioni, consulta Aggiunta e rimozione di autorizzazioni per identità IAM.
-
-
Nel pannello di navigazione, seleziona Ruoli.
-
Nell'elenco dei ruoli scegliere il nome del ruolo che si desidera eliminare.
-
Scegliere la scheda Relazioni di trust per visualizzare le entità che possono assumere il ruolo. Se è elencata un'entità diversa dal servizio, completare le seguenti attività:
-
Creare un nuovo ruolo che si attenda a tali entità.
-
Pertanto, devi collegare la policy creata nella fase precedente. Se questo passaggio è stato ignorato, creare subito il nuovo criterio gestito.
-
Informare chiunque abbia assunto il ruolo che non può più farlo. Fornire loro informazioni su come assumere il nuovo ruolo e disporre delle stesse autorizzazioni.
-
Non esiste un caso d'uso per un ruolo di servizio nella console
Alcuni servizi richiedono la creazione manuale di un ruolo di servizio per concedere al servizio autorizzazioni per eseguire operazioni per conto dell'utente. Se il servizio non è elencato nella console IAM, dovrai elencarlo manualmente come principale attendibile. Se la documentazione relativa al servizio o alla funzionalità in uso non include istruzioni per elencare il servizio come principale attendibile, fornisci un feedback sulla pagina.
Per creare manualmente un ruolo di servizio, è necessario conoscere il principale del servizio per il servizio che assumerà il ruolo. Un'entità servizio è un identificatore che viene utilizzato per concedere autorizzazioni a un servizio. Il principale del servizio è definito dal servizio.
È possibile trovare il principale del servizio per alcuni servizi con la seguente procedura:
-
Verificare se per il servizio è indicato Sì nella colonna Ruoli collegati ai servizi .
-
Scegli il collegamento Sì per visualizzare la documentazione relativa al ruolo collegato ai servizi per tale servizio.
-
Trova la sezione Autorizzazioni del ruolo collegato ai servizi per quel servizio per visualizzare il principale del servizio.
È possibile creare manualmente un ruolo del servizio utilizzando i comandi della AWS CLI o le operazioni delle API AWS. Per creare manualmente un ruolo di servizio utilizzando la console IAM, completa le seguenti attività:
-
Crea un ruolo IAM utilizzando il tuo ID account. Non allegare una policy o concedere autorizzazioni. Per informazioni dettagliate, consultare Crea un ruolo per concedere le autorizzazioni a un utente IAM.
-
Apri il ruolo e modificare la relazione di attendibilità. Invece di fidarsi dell'account, il ruolo deve considerare attendibile il servizio. Ad esempio, aggiorna il seguente elemento
Principal
:"Principal": { "AWS": "arn:aws:iam::
123456789012
:root" }Cambia il valore del principale per il servizio, ad esempio IAM.
"Principal": { "Service": "
iam
.amazonaws.com" } -
Aggiungi le autorizzazioni richieste dal servizio allegando le policy di autorizzazione al ruolo.
-
Torna al servizio che richiede le autorizzazioni e utilizza il metodo documentato per notificare al servizio il nuovo ruolo di servizio.