Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Come posso risolvere i problemi di accesso negato causati dai limiti delle autorizzazioni?
Desidero risolvere i problemi di accesso negato o non autorizzato quando accedo al mio servizio AWS.
Breve descrizione
AWS Identity and Access Management (AWS IAM) restituisce errori di accesso negato o non autorizzato quando la policy non soddisfa determinate condizioni obbligatorie.
Per risolvere il problema, identifica l'utente o il ruolo IAM specifico che causa il problema. Rivedi il limite delle autorizzazioni associato all'entità. Un limite di autorizzazione consente di utilizzare una policy gestita per impostare le autorizzazioni massime per un'entità IAM. Questa funzionalità controlla le autorizzazioni massime che una policy basata sull'identità può concedere a un utente o a un ruolo IAM. Quando imposti un limite di autorizzazione per un'entità, l'entità può eseguire solo le azioni consentite da entrambe le policy.
Nota: un'entità può eseguire solo le azioni consentite sia dalla policy basata sull'identità che dal limite di autorizzazione.
Risoluzione
Se i limiti di autorizzazione non risolvono l'errore, rivedi le policy di controllo dei servizi (SCP) nell'account AWS. Successivamente, controlla se le policy basate sulle risorse contengono dinieghi per l'entità IAM.
Verifica se un'azione è consentita nella policy IAM, ma non nel limite di autorizzazione
L'esempio seguente mostra un'azione consentita in una policy IAM, ma non nel limite di autorizzazione. In questo esempio, a un utente IAM è collegata la policy USER_IAM_POLICY:
IAM policy:(USER_IAM_POLICY) “Effect”: “Allow”, “Action”: [ “ec2:*”, “s3:*” ],
La policy offre all'utente l'accesso completo ai servizi Amazon Elastic Compute Cloud (Amazon EC2) e Amazon Simple Storage Service (Amazon S3). Per l'utente è inoltre impostato un limite di autorizzazione denominato USER\ _PB\ _POLICY.
Permissions Boundary:(USER_PB_POLICY) “Effect”: “Allow”, “Action”: [ “cloudwatch:*”, “s3:*” ],
Il limite delle autorizzazioni stabilisce le autorizzazioni massime concesse all'utente. In questo esempio, il limite delle autorizzazioni consente l'accesso completo ai servizi Amazon CloudWatch e Amazon S3. Tuttavia, poiché Amazon S3 è l'unico servizio consentito sia nella policy IAM che nel limite delle autorizzazioni, l'utente ha accesso solo a S3. Se l'utente tenta di accedere ad Amazon EC2, riceve un errore di accesso negato.
Per risolverlo, modifica il limite delle autorizzazioni consentendo l'accesso ad Amazon EC2:
“Effect”: “Allow”, “Action”: [ “cloudwatch:*”, “s3:*”, “ec2:*” ],
Includi tutte le azioni richieste nel limite delle autorizzazioni utilizzando la console IAM
Per modificare il limite delle autorizzazioni in modo da includere tutte le azioni richieste da un utente, completa i seguenti passaggi:
- Apri la console IAM.
- Nel pannello di navigazione, scegliRuoli/utenti.
- Scegli l'entità IAM che desideri modificare.
- Nella sezione Limite delle autorizzazioni controlla le impostazioni. Se è impostato un limite delle autorizzazioni, ciò significa che è in vigore un limite. Il nome della policy gestita che funge da limite delle autorizzazioni per l'entità IAM è indicato in questa sezione.
- Espandi la policy JSON e controlla se l'azione che desideri eseguire è inserita nella whitelist del limite delle autorizzazioni. Se il limite delle autorizzazioni non consente l'azione, modifica la policy JSON per consentire tutte le azioni richieste dall'entità IAM.
Per ulteriori informazioni sulla modifica delle policy, consulta Modificare le policy IAM.
Utilizza la chiave di condizione iam:PermissionsBoundary nelle policy IAM
Aggiungi la chiave di condizione iam:PermissionsBoundary alle policy IAM. Questa chiave di condizione verifica che una policy specifica sia collegata come limite delle autorizzazioni di un'entità IAM.
L'esempio seguente mostra una policy IAM denominata RestrictedRegionpermissionsBoundary:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EC2RestrictRegion", "Effect": “Allow”, "Action": "ec2:*” "Resource": "*", "Condition": { "StringEquals": { "aws:RequestedRegion": [ "us-east-1" ] } } }
Crea una policy e collegala a un amministratore delegato che ha la responsabilità di creare utenti. Quando colleghi il seguente esempio di policy all'amministratore, quest'ultimo può creare un utente IAM solo collegandogli la policy RestrictedRegionPermissionsBoundary. Se l'amministratore tenta di creare un utente IAM senza collegare la policy, riceve un errore di accesso negato.
{ "Sid": "CreateUser", "Effect": "Allow", "Action": [ "iam:CreateUser" ], "Resource": "arn:aws:iam::444455556666:user/test1*", "Condition": { "StringEquals": { "iam:PermissionsBoundary": "arn:aws:iam::444455556666:policy/RestrictedRegionPermissionsBoundary" } }
Per impostare la policy IAM RestrictedRegionPermissionsBoundary come limite delle autorizzazioni quando crei un nuovo utente, completa i seguenti passaggi:
- Apri la console IAM.
- Nel pannello di navigazione, seleziona Utenti, quindi Aggiungi utenti.
- Inserisci il nome utente che desideri modificare, scegli il tipo di accesso AWS, quindi fai clic su Avanti.
- Espandi la sezione Imposta il limite delle autorizzazioni e scegli Usa un limite delle autorizzazioni per controllare le autorizzazioni massime dei ruoli.
- Nel campo di ricerca inserisci RestrictedRegionPermissionsBoundary, quindi seleziona il pulsante di opzione della policy.
- Scegli Avanti: tag.
- Rivedi le impostazioni e crea un utente.
Informazioni correlate
- Argomenti
- Security, Identity, & Compliance
- Lingua
- Italiano
