Generatore Policy AWS IAM
Scegli Allow o Deny, seleziona un servizio e spunta le azioni necessarie, aggiungi gli ARN delle risorse e copia un documento di policy IAM valido. I preset coprono S3, DynamoDB, Lambda, SQS, SNS, EC2, CloudWatch Logs e Secrets Manager e la modalità personalizzata accetta qualsiasi servizio:Azione. Il generatore avvisa su permessi con jolly, risorse che non sono ARN e sul classico errore tra ARN del bucket e degli oggetti S3.
Verificato da Vincenzo Manto, Fondatore e Lead Developer · Ultimo aggiornamento 30 settembre 2026
Come funziona
- 1
Scegli l'effetto (Allow o Deny) e il servizio AWS per ogni statement.
- 2
Spunta le azioni necessarie ed elenca gli ARN delle risorse, uno per riga.
- 3
Risolvi gli avvisi, poi copia il JSON nella console IAM, in Terraform o CloudFormation.
Esempio
Effect: Allow
Service: Amazon S3
Actions: GetObject, PutObject
Resource: arn:aws:s3:::my-bucket/*{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:GetObject", "s3:PutObject"],
"Resource": "arn:aws:s3:::my-bucket/*"
}
]
}Anatomia di una policy IAM
Una policy IAM è un documento JSON con una Version e uno o più statement. Ogni statement ha un Effect, le Action a cui si applica e le Resource che copre, e può includere un Sid opzionale e delle Condition. Un Deny esplicito prevale sempre su un Allow e tutto ciò che non è consentito esplicitamente è negato per impostazione predefinita.
Scrivere policy più sicure
Parti dal più piccolo insieme di azioni e aggiungine altre solo quando vedi errori AccessDenied nei log. Limita le risorse a ARN specifici invece di *, preferisci statement separati per lettura e scrittura e aggiungi Condition come IP di origine o MFA quando possibile. Controlla il risultato con IAM Access Analyzer prima di associarlo a un ruolo.
Domande frequenti
Perché S3 richiede due ARN diversi?
s3:ListBucket agisce sul bucket stesso, quindi richiede arn:aws:s3:::my-bucket, mentre le azioni sugli oggetti come GetObject e PutObject richiedono arn:aws:s3:::my-bucket/*. Indicare entrambi gli ARN, o usare due statement, evita errori AccessDenied.
Cosa significa minimo privilegio?
Concedere solo le azioni che un carico di lavoro usa davvero, solo sulle risorse che tocca. Evita Action * con Resource *, perché una credenziale trapelata controllerebbe l'intero account.
Questo strumento accede al mio account AWS?
No. Produce solo testo JSON nel browser. Non si collega ad AWS e non richiede credenziali, quindi devi convalidare la policy con IAM Access Analyzer o il simulatore di policy.
L'elenco delle azioni è completo?
I preset elencano le azioni più comuni. Per tutto il resto usa la casella delle azioni extra e scrivi il nome completo servizio:Azione, ad esempio ec2:RunInstances.