Ruoli e policy IAM
Scriverete documenti di policy JSON, li collegherete ai ruoli e comprenderete la differenza tra policy basate sull'identità e policy basate sulle risorse.
Ruoli e policy IAM è una lezione Cloud & IT Cert Prep gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cloud & IT Cert Prep, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cloud & IT Cert Prep include 4 lezioni in totale.
Policy IAM: il linguaggio delle autorizzazioni
Una policy IAM è un documento JSON che specifica cosa è consentito. Ogni dichiarazione contiene un Effect (Allow o Deny), un Action e una Resource. Il codice ne mostra un esempio.
{
'Version': '2012-10-17',
'Statement': [
{
'Effect': 'Allow',
'Action': [
's3:GetObject',
's3:PutObject'
],
'Resource': 'arn:aws:s3:::my-bucket/*'
}
]
}Policy basate sull'identità e sulle risorse
Una policy basata sull'identità è associata a un utente o a un ruolo e specifica cosa può fare. Una policy basata sulla risorsa è associata direttamente alla risorsa e specifica chi può accedervi.
# Example S3 bucket policy (resource-based)
{
'Version': '2012-10-17',
'Statement': [{
'Effect': 'Allow',
'Principal': {
'AWS': 'arn:aws:iam::123456789012:role/MyAppRole'
},
'Action': 's3:GetObject',
'Resource': 'arn:aws:s3:::my-bucket/*'
}]
}Ruoli IAM: identità temporanee
Un ruolo IAM è un'identità che si assume per un periodo limitato. Fornisce credenziali temporanee con scadenza, ideali per EC2, Lambda e altri servizi.
# Attach an IAM role to an EC2 instance (instance profile)
aws ec2 associate-iam-instance-profile \
--instance-id i-0abcdef1234567890 \
--iam-instance-profile Name=MyEC2RolePolicy di attendibilità: chi può assumere il ruolo
Ogni ruolo dispone di una policy di attendibilità che specifica chi può assumerlo, oltre alle policy delle autorizzazioni che definiscono cosa può fare dopo l'assunzione. Senza una policy di attendibilità non è possibile accedere.
# Trust policy for a Lambda execution role
{
'Version': '2012-10-17',
'Statement': [{
'Effect': 'Allow',
'Principal': {
'Service': 'lambda.amazonaws.com'
},
'Action': 'sts:AssumeRole'
}]
}Ruoli dei servizi AWS: EC2 e Lambda
Quando EC2 deve chiamare AWS, gli assegni un instance profile che contiene un ruolo. Le credenziali vengono ruotate automaticamente, senza chiavi codificate nel codice. Lambda funziona nello stesso modo.
# Retrieve role credentials from EC2 metadata (IMDSv2)
TOKEN=$(curl -X PUT 'http://169.254.169.254/latest/api/token' \
-H 'X-aws-ec2-metadata-token-ttl-seconds: 21600')
curl -H "X-aws-ec2-metadata-token: $TOKEN" \
http://169.254.169.254/latest/meta-data/iam/security-credentials/MyEC2RoleAssunzione di ruoli tra account
Un ruolo tra account consente a un utente di un account di assumere un ruolo in un altro account e accedere alle relative risorse. È il modo in cui le configurazioni con più account evitano di duplicare gli utenti ovunque.
# Assume a cross-account role from Account A
aws sts assume-role \
--role-arn arn:aws:iam::999999999999:role/CrossAccountRole \
--role-session-name my-sessionCondizioni delle policy: controllo granulare
Una Condition aggiunge regole supplementari a una policy, ad esempio richiedere MFA o limitare l'accesso a un determinato intervallo di indirizzi IP o a una regione. In questo modo le autorizzazioni diventano molto più restrittive.
# Policy that requires MFA for sensitive actions
{
'Effect': 'Deny',
'Action': ['iam:*', 'cloudtrail:*'],
'Resource': '*',
'Condition': {
'BoolIfExists': {
'aws:MultiFactorAuthPresent': 'false'
}
}
}Limiti delle autorizzazioni
Un permissions boundary stabilisce il limite massimo delle autorizzazioni che un'identità può avere, anche se una policy ne concede di più. È una rete di sicurezza quando si consente agli sviluppatori di creare i propri ruoli.
# Attach a permissions boundary to a user
aws iam put-user-permissions-boundary \
--user-name alice \
--permissions-boundary arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccessLogica di valutazione delle policy
Quando AWS verifica una richiesta, una regola prevale su tutte: un explicit Deny la blocca sempre. Inoltre, ogni livello delle policy deve autorizzare l'accesso.
IAM Policy Simulator
IAM Policy Simulator verifica se un'identità può eseguire un'operazione, senza eseguirla realmente. È molto utile per risolvere i problemi relativi alle autorizzazioni prima della messa in produzione.
# Simulate an IAM policy evaluation via CLI
aws iam simulate-principal-policy \
--policy-source-arn arn:aws:iam::123456789012:user/alice \
--action-names s3:PutObject \
--resource-arns arn:aws:s3:::my-bucket/*Ruoli per l'accesso federato
Gli utenti esterni provenienti da Okta, Google o Active Directory possono assumere ruoli tramite la federazione (SAML o OIDC). È possibile concedere l'accesso a milioni di utenti senza creare alcun utente IAM.
Verifica rapida
Verifichi la Sua comprensione dei concetti di AWS Solutions Architect (SAA-C03) trattati in questa lezione.
Riepilogo della lezione
In breve: le policy sono regole JSON per Allow e Deny, i ruoli forniscono credenziali temporanee e le condizioni aggiungono un controllo granulare. Prossimo argomento: il privilegio minimo.
Domande Frequenti
La lezione «Ruoli e policy IAM» è gratuita?
Sì — il testo completo di «Ruoli e policy IAM» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cloud & IT Cert Prep, passa a CoddyKit PRO. Il corso Cloud & IT Cert Prep include 4 lezioni in totale.
Cosa imparerò in «Ruoli e policy IAM»?
Scriverete documenti di policy JSON, li collegherete ai ruoli e comprenderete la differenza tra policy basate sull'identità e policy basate sulle risorse. Eserciti Cloud & IT Cert Prep con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Cloud & IT Cert Prep?
Non è richiesta alcuna esperienza precedente. Cloud & IT Cert Prep su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Ruoli e policy IAM»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Cloud & IT Cert Prep?
Sì. Ogni lezione Cloud & IT Cert Prep include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.