0Pricing
Cloud & IT Cert Prep · Lezione

Identità cloud: ruoli IAM e account di servizio

Configuri ruoli IAM e account di servizio con il principio del privilegio minimo sulle piattaforme cloud, evitando errori comuni come permessi wildcard e chiavi con validità troppo lunga.

Identità cloud: ruoli IAM e account di servizio è una lezione Cloud & IT Cert Prep gratuita su CoddyKit. Questa è la lezione 3 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.

Fondamenti dell'identità nel cloud

Negli ambienti cloud, l'identità è il nuovo perimetro. Ogni azione — avviare una VM, leggere un database, chiamare un'API — viene autorizzata in base all'identità del chiamante. I sistemi Cloud IAM (Identity and Access Management) definiscono chi può fare cosa su quali risorse. A differenza degli ambienti on-premises, dove la posizione nella rete forniva una fiducia implicita, il Cloud IAM considera ogni richiesta come soggetta ad autorizzazione esplicita, indipendentemente dalla sua origine.

Utenti, gruppi e ruoli in AWS IAM

AWS IAM dispone di tre tipi principali di identità. Gli IAM Users rappresentano singole persone o applicazioni con credenziali a lungo termine (chiave di accesso + chiave segreta). Gli IAM Groups raggruppano gli utenti e assegnano autorizzazioni condivise. Gli IAM Roles sono identità con credenziali temporanee che possono essere assunte da utenti, servizi AWS (EC2, Lambda) o altri account. I ruoli sono preferibili alle chiavi di accesso a lungo termine perché le relative credenziali scadono automaticamente, riducendo il rischio di esposizione.

# IAM role trust policy — allows EC2 to assume this role
{
  'Version': '2012-10-17',
  'Statement': [{
    'Effect': 'Allow',
    'Principal': { 'Service': 'ec2.amazonaws.com' },
    'Action': 'sts:AssumeRole'
  }]
}

# EC2 instance with this role attached can call AWS APIs
# using temporary credentials from the instance metadata service

Principio del privilegio minimo nelle policy IAM

Le policy IAM definiscono quali azioni un'identità può eseguire e su quali risorse. Il principio del privilegio minimo impone che le policy concedano solo le azioni specifiche necessarie per il compito. Violazioni comuni: utilizzare caratteri jolly * per le azioni (concede tutte le azioni di un servizio), utilizzare * per le risorse (concede l'accesso a tutte le risorse) e associare policy gestite eccessivamente ampie come AdministratorAccess agli account di servizio. Ogni carattere jolly deve essere giustificato e verificato regolarmente.

# Overly permissive policy (AVOID)
{
  'Effect': 'Allow',
  'Action': 's3:*',      # all S3 actions
  'Resource': '*'         # all buckets
}

# Least-privilege policy (PREFERRED)
{
  'Effect': 'Allow',
  'Action': ['s3:GetObject', 's3:ListBucket'],
  'Resource': [
    'arn:aws:s3:::my-specific-bucket',
    'arn:aws:s3:::my-specific-bucket/*'
  ]
}

Account di servizio in GCP

In Google Cloud Platform (GCP), i workload non umani eseguono l'autenticazione utilizzando gli account di servizio: entità di identità gestite con file di chiavi JSON o Workload Identity Federation. Ogni account di servizio dovrebbe seguire il principio del privilegio minimo: associarlo solo ai servizi GCP che deve chiamare. Le chiavi degli account di servizio (file JSON scaricati dalla console) sono credenziali di lunga durata e devono essere trattate come password: devono essere ruotate regolarmente e non devono mai essere inserite nel codice sorgente o caricate in repository pubblici.

# Check service account permissions (gcloud)
gcloud projects get-iam-policy my-project \
  --flatten='bindings[].members' \
  --format='table(bindings.role, bindings.members)' \
  --filter='bindings.members:serviceAccount'

# Prefer Workload Identity over service account keys
# (no downloadable key files — uses workload federation tokens)

Identità gestite di Azure

Le Managed Identities di Azure (precedentemente MSI) sono l'equivalente Azure dei ruoli AWS IAM per i servizi: consentono alle risorse Azure (VM, App Services, Functions) di autenticarsi alle API Azure senza memorizzare credenziali. Esistono due tipi: le identità gestite System-assigned sono associate a una risorsa specifica e vengono eliminate quando la risorsa viene eliminata. Le identità gestite User-assigned sono oggetti indipendenti che possono essere condivisi tra più risorse. Le identità gestite eliminano la necessità di archiviare chiavi o segreti.

# Azure CLI — assign managed identity to a VM
az vm identity assign \
  --name myVM \
  --resource-group myRG \
  --identities /subscriptions/.../userAssignedIdentities/myIdentity

# The VM can now call Azure Key Vault without any stored credentials:
# Token is fetched automatically from the Instance Metadata Service

Credenziali di lunga durata: il rischio

Le credenziali di lunga durata — chiavi di accesso statiche, token API e file di chiavi degli account di servizio che non scadono mai — sono tra gli elementi a più alto rischio negli ambienti cloud. Se vengono divulgate (tramite GitHub, un bucket S3, i log o un laptop di sviluppo compromesso), queste credenziali garantiscono accesso immediato fino alla revoca manuale. Le organizzazioni dovrebbero: verificare tutte le credenziali di lunga durata, ruotarle secondo una pianificazione, preferire l'accesso basato sui ruoli o federato che produca token di breve durata e generare immediatamente un avviso quando le credenziali compaiono in repository pubblici.

# Find IAM access keys older than 90 days (AWS)
aws iam generate-credential-report
aws iam get-credential-report --query 'Content' --output text | \
  base64 -d | grep -v 'N/A' | \
  awk -F',' '$10 > 90 {print $1, $10}'

# Keys older than 90 days should be rotated or deleted

Concatenamento dei ruoli IAM ed escalation dei privilegi

L'escalation dei privilegi IAM si verifica quando un'identità utilizza una combinazione di autorizzazioni per assegnarsi ulteriori autorizzazioni. I percorsi di escalation classici includono: associare una policy più permissiva al proprio utente, creare un nuovo utente IAM con autorizzazioni elevate, passare un ruolo (iam:PassRole) a un servizio e aggiornare il ruolo di esecuzione di una funzione Lambda. AWS IAM Access Analyzer può rilevare questi schemi e i permission boundary IAM possono limitare rigidamente le autorizzazioni massime assegnabili a qualsiasi identità.

# Dangerous permission combination (enables privilege escalation):
# iam:CreatePolicyVersion + iam:SetDefaultPolicyVersion
# Attacker can create a new policy version with AdministratorAccess

# Or: iam:PassRole + lambda:CreateFunction + lambda:InvokeFunction
# Attacker creates Lambda with a privileged role, invokes it

# Defense: permission boundaries limit maximum grantable permissions

Assunzione di ruoli tra account

Le organizzazioni cloud utilizzano spesso più account (sviluppo, staging, produzione, sicurezza) come confini per limitare il raggio d'impatto. L'assunzione di ruoli tra account consente alle identità di un account di assumere ruoli in un altro, permettendo agli strumenti centralizzati di operare tra più account. I controlli di sicurezza includono: richiedere un External ID nella policy di trust per impedire gli attacchi confused deputy, limitare gli account autorizzati ad assumere un ruolo tramite il Principal ARN e registrare tutte le assunzioni tra account in CloudTrail per finalità di audit.

# Trust policy with External ID (confused deputy protection)
{
  'Effect': 'Allow',
  'Principal': { 'AWS': 'arn:aws:iam::PARTNER-ACCOUNT-ID:root' },
  'Action': 'sts:AssumeRole',
  'Condition': {
    'StringEquals': {
      'sts:ExternalId': 'unique-shared-secret-12345'
    }
  }
}

Sicurezza di IMDS e del servizio metadati

Le istanze AWS EC2 possono recuperare le credenziali del proprio ruolo IAM dal Instance Metadata Service (IMDS) all'indirizzo http://169.254.169.254. La classe di vulnerabilità SSRF è particolarmente pericolosa in questo caso: se un'applicazione è vulnerabile a SSRF, un attaccante può esfiltrare le credenziali del ruolo IAM dell'istanza inducendo il server a recuperarle dall'URL IMDS. IMDSv2 (che richiede un token di sessione) riduce il rischio di furto delle credenziali basato su SSRF e dovrebbe essere imposto su tutte le istanze EC2.

# Enforce IMDSv2 on a new EC2 instance (requires token for IMDS)
aws ec2 run-instances \
  --metadata-options 'HttpTokens=required,HttpEndpoint=enabled' \
  ...

# IMDSv1 (insecure) just needs a GET request:
# curl http://169.254.169.254/latest/meta-data/iam/security-credentials/
# IMDSv2 requires a PUT to get a session token first

IAM Access Analyzer e revisione delle policy

IAM Access Analyzer (AWS) identifica automaticamente le risorse condivise con principal esterni e le policy IAM che concedono più autorizzazioni del previsto. Analizza le policy dei bucket, le policy di trust dei ruoli e le policy delle chiavi KMS per segnalare gli accessi esterni non esplicitamente previsti. Le revisioni regolari delle policy IAM, manuali o eseguite con strumenti come Cloudsplaining, PMapper o Permissions Boundary Analyzer, sono essenziali per identificare i percorsi di escalation dei privilegi prima che li scoprano gli attaccanti.

Workload Identity Federation

Workload Identity Federation consente ai workload esterni (GitHub Actions, sistemi on-premises e altri provider cloud) di autenticarsi all'IAM cloud utilizzando token OIDC di breve durata invece di chiavi degli account di servizio di lunga durata. Un workflow GitHub Actions può assumere un ruolo AWS IAM utilizzando il proprio token OIDC per la durata del job; al termine, il token scade. Questo approccio elimina completamente il rischio di fuga di credenziali di lunga durata dalle pipeline CI/CD.

Verifica rapida

Verifichi la Sua comprensione dei concetti di CompTIA Security+ (SY0-701) trattati in questa lezione.

Riepilogo della lezione

In questa lezione ha imparato che: i ruoli IAM forniscono credenziali temporanee e sono preferibili alle chiavi di accesso di lunga durata per i workload cloud, le policy con privilegi minimi dovrebbero evitare i caratteri jolly e concedere solo azioni specifiche su risorse specifiche e IMDSv2, i permission boundary e la federazione delle identità dei workload eliminano i comuni percorsi di esposizione delle credenziali. Ora esamineremo il Cloud Security Posture Management (CSPM).

Domande Frequenti

La lezione «Identità cloud: ruoli IAM e account di servizio» è gratuita?

Sì — il testo completo di «Identità cloud: ruoli IAM e account di servizio» è 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 «Identità cloud: ruoli IAM e account di servizio»?

Configuri ruoli IAM e account di servizio con il principio del privilegio minimo sulle piattaforme cloud, evitando errori comuni come permessi wildcard e chiavi con validità troppo lunga. 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 3 di 4.

Quanto tempo richiede la lezione «Identità cloud: ruoli IAM e account di servizio»?

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.

Tutte le lezioni di questo corso

  1. Modello di responsabilità condivisa: IaaS, PaaS, SaaS
  2. Sicurezza dello storage cloud e rischi di esposizione dei dati
  3. Identità cloud: ruoli IAM e account di servizio
  4. Cloud Security Posture Management (CSPM)
← Torna a Cloud & IT Cert Prep