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à.
Risoluzione dei problemi relativi ai ruoli IAM
Utilizza queste informazioni per aiutarti a diagnosticare e risolvere i problemi più comuni che potresti riscontrare quando lavori con IAM i ruoli.
Argomenti
- Non è possibile assumere un ruolo
- Un nuovo ruolo appare nell'account AWS
- Non è possibile modificare o eliminare un ruolo nell' Account AWS
- Non sono autorizzato a eseguire: iam: PassRole
- Perché non posso assumere un ruolo con una sessione di 12 ore?AWS CLI( AWS API,)
- Ricevo un errore quando provo a cambiare ruolo nella IAM console
- 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 il ruolo ARN o Account AWS ARN come principale nella politica di fiducia dei ruoli. AWS servizi che forniscono risorse di elaborazione come AmazonEC2, Amazon ECSEKS, Amazon 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 informazioni su come modificare una policy di attendibilità dei ruoli per aggiungere il ruolo ARN principale oppure, consulta. Account AWS ARN Aggiornare una politica di attendibilità dei ruoli
-
Quando assumi un ruolo utilizzando il 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 AWS STS API o AWS CLI, assicurati di utilizzare il nome esatto del tuo ruolo inARN. I nomi dei ruoli fanno infatti distinzione tra maiuscole e minuscole.
-
Verifica che la tua IAM politica ti conceda l'autorizzazione a
sts:AssumeRole
richiedere il ruolo che desideri assumere. L'Action
elemento della tua IAM politica deve consentirti di avviare l'AssumeRole
azione. Inoltre, l'Resource
elemento della IAM politica deve specificare il ruolo che si desidera assumere. Ad esempio, l'Resource
elemento può specificare un ruolo tramite il suo Amazon Resource Name (ARN) o con 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 la tua IAM identità sia contrassegnata con tutti i tag richiesti dalla IAM policy. 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 sull'assegnazione di tag a IAM utenti e ruoli, consultaTag per AWS Identity and Access Management le risorse."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'entità Account AWS da cui stai chiamando
AssumeRole
sia un'entità attendibile 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 dell'account IAM dell'utente con cui 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. Tieni presente che la policy di esempio limita le autorizzazioni alle azioni che si verificano tra il 1° luglio 2017 e il 31 dicembre 2017 () inclusi. UTC 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 per richiedere alle identità di passare una stringa personalizzata che identifica la persona o l'applicazione in cui esegue le azioni AWS, denominata 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 AWS servizi richiedono l'utilizzo di un tipo di ruolo di servizio univoco 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 Creazione di 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 . Puoi visualizzare i ruoli collegati al servizio nel tuo account accedendo alla pagina IAM Ruoli della IAM 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.
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 al servizio in. IAM Questi ruoli includono trust e autorizzazioni predefiniti richiesti dal servizio per eseguire operazioni a proprio nome. È possibile utilizzare la IAM console o modificare solo la descrizione API di un ruolo collegato al servizio. AWS CLI Puoi visualizzare i ruoli collegati ai servizi nel tuo account accedendo alla pagina IAM Ruoli 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 sono autorizzato a 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 AWSServiceRoleForAutoScaling
collegato al servizio per te la prima volta che crei 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 utilizzate le assume-role*
CLI operazioni AWS STS AssumeRole*
API or per assumere un ruolo, potete specificare un valore per il DurationSeconds
parametro. 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 Aggiornare la 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.
Ricevo un errore quando provo a cambiare ruolo nella IAM console
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' Account AWS ID è un numero di 12 cifre. Il tuo account potrebbe avere un alias, che è un identificativo semplice come il nome della tua azienda, che può essere utilizzato al posto del tuo ID. 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 politica sulla fiducia dei ruoli o la politica IAM degli utenti potrebbero 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 credenziali di sicurezza temporanee a livello di codice AWS STS, puoi facoltativamente passare policy di sessione in linea 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. È possibile passare un singolo documento di policy di sessione JSON in linea 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 si configurano alcuni ambienti AWS di servizio, è necessario definire un ruolo da assumere per il servizio. In alcuni casi, il servizio crea automaticamente il ruolo del servizio e la relativa politica. IAM Sebbene sia possibile modificare o eliminare il ruolo di servizio e la relativa politica dall'internoIAM, questa AWS operazione non è consigliata. 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 denominatocodebuild-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 la politica. 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, è necessario apportare modifiche IAM prima di poter continuare a utilizzare il 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 IAM console all'indirizzo https://console.aws.amazon.com/iam/
. -
Nel riquadro di navigazione, seleziona Policy.
-
Nell'elenco delle policy, selezionare il nome della policy che si desidera modificare.
-
Scegli la scheda Entità allegate per visualizzare quali IAM utenti, gruppi o ruoli utilizzano questa politica. Se una di queste identità utilizza il criterio, completare le seguenti attività:
-
Creare un nuovo criterio gestito con le autorizzazioni necessarie. Per garantire che le identità abbiano le stesse autorizzazioni prima e dopo le tue azioni, copia il documento di JSON policy dalla policy esistente. Quindi crea la nuova politica gestita e incolla il JSON documento come descritto in Creazione di politiche utilizzando l'JSONeditor.
-
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 riquadro 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 IAM console, è necessario elencarlo manualmente come principale affidabile. 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 di servizio utilizzando AWS CLI comandi o AWS APIoperazioni. Per creare manualmente un ruolo di servizio utilizzando la IAM console, completa le seguenti attività:
-
Crea un IAM ruolo utilizzando l'ID del tuo account. Non allegare una policy o concedere autorizzazioni. Per informazioni dettagliate, consultare Creare un ruolo per delegare 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 principale del tuo servizio, ad esempioIAM.
"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.