AWS Solutions Architect · Lezione

Principio del privilegio minimo

Applicherete il principio del privilegio minimo a scenari reali e userete con criterio le policy gestite da AWS rispetto alle policy inline.

Lezione 3 di 413 passaggi

Principio del privilegio minimo è una lezione AWS Solutions Architect 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 AWS Solutions Architect, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso AWS Solutions Architect include 4 lezioni in totale.

Che cos'è il privilegio minimo?

Il privilegio minimo consiste nel concedere a ogni identità solo le autorizzazioni realmente necessarie, senza nulla di più. Se le credenziali vengono compromesse, i danni restano limitati. 🛡️

Iniziare dal diniego predefinito

AWS semplifica l'applicazione del privilegio minimo: un nuovo utente o ruolo inizia con zero autorizzazioni. Si aggiunge esattamente ciò che serve, invece di rimuovere in seguito ciò che non serve.

Sovr Provisioning: l'errore più comune

L'errore classico consiste nel concedere AdministratorAccess perché è la soluzione più rapida. Un singolo bug potrebbe così cancellare i dati. Limiti invece le autorizzazioni ad azioni e risorse specifiche.

# AVOID: wildcard permissions
{
  'Effect': 'Allow',
  'Action': '*',
  'Resource': '*'
}

# PREFER: scoped permissions
{
  'Effect': 'Allow',
  'Action': ['dynamodb:GetItem', 'dynamodb:Query'],
  'Resource': 'arn:aws:dynamodb:us-east-1:123456789:table/Orders'
}

Policy gestite da AWS e dal cliente

Le policy gestite da AWS sono pratiche, ma spesso troppo ampie. Le policy gestite dal cliente consentono di indicare esattamente i bucket o le tabelle utilizzati dall'applicazione.

# Create a scoped customer-managed policy
aws iam create-policy \
  --policy-name LambdaOrdersReader \
  --policy-document file://orders-reader-policy.json

IAM Access Analyzer

IAM Access Analyzer rileva le risorse esposte al di fuori dell'account. Può persino generare policy restrittive leggendo ciò che un'identità ha effettivamente utilizzato.

# Enable IAM Access Analyzer for the account
aws accessanalyzer create-analyzer \
  --analyzer-name MyAccountAnalyzer \
  --type ACCOUNT

Utilizzare le condizioni per restringere le autorizzazioni

Anche quando deve consentire un'azione, le condizioni riducono il rischio: richieda MFA, limiti l'accesso all'indirizzo IP dell'ufficio o consenta a un utente di accedere solo alla propria cartella. ✨

# Allow users to manage only their own folder in S3
{
  'Effect': 'Allow',
  'Action': ['s3:GetObject', 's3:PutObject'],
  'Resource': 'arn:aws:s3:::shared-bucket/${aws:username}/*'
}

I limiti delle autorizzazioni come guardrail

Quando consente ai team di gestire il proprio IAM, un permissions boundary stabilisce il limite delle operazioni che i relativi ruoli possono eseguire. Possono lavorare liberamente, ma non oltre il limite impostato.

Accesso a tempo con le policy di sessione

Quando assume un ruolo, può passare una session policy che lo restringe ulteriormente per quella sessione. È ideale per concedere a una pipeline solo le autorizzazioni strettamente necessarie.

# Assume a role with a restrictive session policy
aws sts assume-role \
  --role-arn arn:aws:iam::123456789012:role/DeployRole \
  --role-session-name deploy-session \
  --policy '{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Action":"lambda:UpdateFunctionCode","Resource":"arn:aws:lambda:us-east-1:123456789012:function:MyApp"}]}'

Controllo degli accessi basato sui tag (ABAC)

ABAC concede l'accesso confrontando i tag invece di elencare ogni risorsa. Ad esempio, può consentire a un ruolo di arrestare solo le istanze EC2 contrassegnate con il tag del proprio team.

{
  'Effect': 'Allow',
  'Action': 'ec2:StopInstances',
  'Resource': '*',
  'Condition': {
    'StringEquals': {
      'ec2:ResourceTag/Team': '${aws:PrincipalTag/Team}'
    }
  }
}

Esaminare le autorizzazioni inutilizzate

AWS tiene traccia dell'ultima volta in cui è stata utilizzata ogni autorizzazione. I dati Last Accessed rivelano le autorizzazioni inutilizzate da almeno 90 giorni, che sono buone candidate alla rimozione.

# Get service last-accessed data for a role
aws iam generate-service-last-accessed-details \
  --arn arn:aws:iam::123456789012:role/MyLambdaRole

# Retrieve the report (use the JobId from above)
aws iam get-service-last-accessed-details --job-id <JobId>

Privilegio minimo per l'accesso ai dati

Applichi il privilegio minimo anche ai dati: limiti gli utenti alla propria cartella S3, delimiti l'accesso a DynamoDB in base all'ID utente e assegni a ogni applicazione credenziali di accesso al database separate.

Verifica rapida

Verifichi la Sua comprensione dei concetti di AWS Solutions Architect (SAA-C03) trattati in questa lezione.

Riepilogo della lezione

In breve: il privilegio minimo significa concedere il numero minimo di autorizzazioni, Access Analyzer individua quelle inutilizzate e condizioni e limiti mantengono il controllo. Prossimo argomento: buone pratiche IAM e MFA.

Gratis per iniziare

Impara AWS Solutions Architect con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
30
Lezioni
120

Domande Frequenti

La lezione «Principio del privilegio minimo» è gratuita?

Sì — il testo completo di «Principio del privilegio minimo» è 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 AWS Solutions Architect, passa a CoddyKit PRO. Il corso AWS Solutions Architect include 4 lezioni in totale.

Cosa imparerò in «Principio del privilegio minimo»?

Applicherete il principio del privilegio minimo a scenari reali e userete con criterio le policy gestite da AWS rispetto alle policy inline. Eserciti AWS Solutions Architect 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 AWS Solutions Architect?

Non è richiesta alcuna esperienza precedente. AWS Solutions Architect 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 «Principio del privilegio minimo»?

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 AWS Solutions Architect?

Sì. Ogni lezione AWS Solutions Architect 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. Utenti e gruppi IAM
  2. Ruoli e policy IAM
  3. Principio del privilegio minimo
  4. Best practice IAM e MFA
← Torna a AWS Solutions Architect