0Pricing
AWS Security Academy · Lezione

Condizioni, wildcard e variabili delle policy

Affini il controllo degli accessi con chiavi di contesto e valori dinamici.

Condizioni, wildcard e variabili delle policy è una lezione AWS Security Academy gratuita su CoddyKit. Questa è la lezione 4 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 Security Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso AWS Security Academy include 4 lezioni in totale.

Regolazione precisa dell'accesso

Oltre ad azioni e risorse, IAM offre strumenti potenti per rendere le policy precise e dinamiche: condizioni, caratteri jolly e variabili di policy. Padroneggiarli consente di concedere esattamente l'accesso necessario nelle circostanze appropriate: questo è il principio del privilegio minimo e un tema ricorrente negli esami.

L'elemento Condition

Un blocco Condition contiene uno o più test, che devono essere tutti veri affinché l'istruzione si applichi. Ogni test associa un operatore a una chiave di condizione e a un valore, ad esempio StringEquals con aws:PrincipalTag. Più chiavi nello stesso blocco vengono combinate con AND; più valori per una chiave vengono combinati con OR.

Chiavi di condizione comuni

Le chiavi di condizione globali compaiono continuamente negli esami:

  • aws:SourceIp — limita l'accesso in base all'intervallo di indirizzi IP del chiamante.
  • aws:SecureTransport — richiede TLS.
  • aws:MultiFactorAuthPresent — richiede MFA.
  • aws:PrincipalOrgID — limita l'accesso alla propria organizzazione.

Le chiavi specifiche del servizio, come s3:prefix, consentono un controllo ancora più preciso.

Applicazione della crittografia in transito

Un modello classico nega l'accesso se la richiesta non usa TLS. Questa condizione nella policy del bucket blocca qualsiasi chiamata non HTTPS, assicurando che i dati in transito siano sempre crittografati. Negli esami questo modello è spesso la risposta alla richiesta di "richiedere la crittografia in transito per S3".

"Condition": {
  "Bool": { "aws:SecureTransport": "false" }
}

Operatori delle condizioni

Gli operatori definiscono il modo in cui vengono confrontati i valori: StringEquals, StringLike (supporta i caratteri jolly), IpAddress, DateGreaterThan, Bool e Null, tra gli altri. Aggiungendo IfExists a un operatore, il test ha esito positivo quando la chiave è assente. Scegliere l'operatore corretto è essenziale per ottenere la logica desiderata.

Caratteri jolly nelle azioni

I caratteri jolly (* per qualsiasi sequenza, ? per un singolo carattere) rendono le policy concise, ma possono concedere autorizzazioni eccessive. s3:Get* comprende tutte le operazioni di tipo lettura; s3:* comprende ogni operazione in S3. Utilizzi il carattere jolly più restrittivo che soddisfi l'esigenza e presti attenzione ai caratteri jolly troppo ampi in qualsiasi policy esaminata.

Caratteri jolly nelle risorse

Anche gli ARN delle risorse accettano caratteri jolly, ad esempio arn:aws:s3:::logs/2024/* per limitare l'ambito a un prefisso. In questo modo una policy può applicarsi a una cartella o a un modello senza elencare ogni oggetto. Tuttavia, una Resource contenente solo "*" concede un accesso esteso all'intero account: verifichi quindi sempre che tale ampiezza sia davvero necessaria.

Variabili di policy

Le variabili di policy inseriscono il contesto della richiesta al momento della valutazione usando la sintassi ${...}. La più utile è ${aws:username}, che consente a un'unica policy di dare a ogni utente accesso solo alle proprie risorse. Le variabili fanno sì che una singola policy riutilizzabile si comporti in modo diverso per ogni principal, applicando il privilegio minimo su larga scala.

Esempio di risorsa per utente

Questa istruzione consente a ogni utente di gestire solo gli oggetti contenuti in una cartella denominata come il proprio nome utente: è un modello efficace di policy unica per tutti.

"Resource": "arn:aws:s3:::team-bucket/${aws:username}/*"

Accesso basato sui tag (ABAC)

Attribute-Based Access Control (ABAC) utilizza i tag nelle condizioni, confrontando i tag del principal (aws:PrincipalTag) con i tag di una risorsa (aws:ResourceTag). Quando corrispondono, l'accesso viene concesso. ABAC si adatta molto bene alla crescita: consente di concedere l'accesso in base al tag invece di scrivere una nuova policy per ogni progetto, una best practice moderna evidenziata negli esami.

Mettere insieme gli elementi

Combini deliberatamente questi strumenti: utilizzi le condizioni per subordinare l'accesso a MFA, IP, TLS o appartenenza all'organizzazione; utilizzi i caratteri jolly con parsimonia e in modo restrittivo; utilizzi le variabili di policy e i tag per applicare su larga scala il privilegio minimo per ogni principal. Insieme, consentono a una policy ben progettata di imporre un accesso preciso e consapevole del contesto a numerose identità e risorse.

Verifica rapida

Verifichi condizioni e variabili.

Riepilogo

Le condizioni subordinano l'applicazione delle istruzioni a chiavi di contesto (aws:SourceIp, aws:SecureTransport, aws:MultiFactorAuthPresent, aws:PrincipalOrgID) usando operatori come StringLike e Bool. I caratteri jolly (* e ?) mantengono concise le policy, ma possono concedere autorizzazioni eccessive. Le variabili di policy come ${aws:username} e l'ABAC basato sui tag offrono un privilegio minimo scalabile per ogni principal.

Domande Frequenti

La lezione «Condizioni, wildcard e variabili delle policy» è gratuita?

Sì — il testo completo di «Condizioni, wildcard e variabili delle policy» è 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 Security Academy, passa a CoddyKit PRO. Il corso AWS Security Academy include 4 lezioni in totale.

Cosa imparerò in «Condizioni, wildcard e variabili delle policy»?

Affini il controllo degli accessi con chiavi di contesto e valori dinamici. Eserciti AWS Security Academy 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 Security Academy?

Non è richiesta alcuna esperienza precedente. AWS Security Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Condizioni, wildcard e variabili delle policy»?

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 Security Academy?

Sì. Ogni lezione AWS Security Academy 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. Anatomia di un documento di policy IAM
  2. Policy basate sull'identità e sulle risorse
  3. Flusso decisionale della valutazione delle policy
  4. Condizioni, wildcard e variabili delle policy
← Torna a AWS Security Academy