Desidero creare una policy AWS Identity and Access Management (IAM) che controlli l'accesso alle istanze di Amazon Elastic Compute Cloud (Amazon EC2) utilizzando i tag.
Breve descrizione
Puoi controllare l'accesso alle implementazioni di istanze Amazon EC2 più piccole come indicato di seguito:
- Aggiungi un tag specifico alle istanze a cui vuoi che accedano utenti o gruppi.
- Crea una policy IAM che conceda l'accesso a tutte le istanze con il tag specifico.
- Collega la policy IAM agli utenti o ai gruppi che vuoi far accedere alle istanze.
Soluzione
Aggiungi un tag al tuo gruppo di istanze EC2
Apri la console Amazon EC2. Quindi, aggiungi i tag al gruppo di istanze EC2 a cui desideri che gli utenti o i gruppi possano accedere. Se non ne hai già uno, crea un nuovo tag.
Nota: prima di aggiungere i tag alle tue risorse, assicurati di leggere e comprendere le restrizioni relative ai tag. I tag Amazon EC2 fanno distinzione tra maiuscole e minuscole.
Crea una policy IAM che conceda l'accesso alle istanze con il tag specifico
Crea una policy IAM che consenta quanto riportato di seguito:
- Consenta il controllo sulle istanze con il tag.
- Contenga un'istruzione condizionale che consenta l'accesso alle risorse Amazon EC2 se il valore della chiave di condizione ec2:ResourceTag/UserName corrisponde alla variabile di policy aws:username. Quando la policy viene valutata da IAM, la variabile di policy ${aws:username} viene sostituita con il nome descrittivo dell'utente IAM corrente.
- Consenta l'accesso alle operazioni ec2:Describe* per le risorse Amazon EC2.
- Neghi esplicitamente l'accesso alle operazioni ec2:CreateTags ed ec2:DeleteTags per impedire agli utenti di creare o eliminare i tag. Ciò impedisce all'utente di assumere il controllo di un'istanza EC2 aggiungendovi il tag specifico.
La policy completata è simile alla seguente:
Nota: questa policy si applica alle istanze Amazon EC2 che utilizzano la chiave di condizione ec2:ResourceTag. Per limitare l'avvio di nuove istanze Amazon EC2 utilizzando i tag, consulta la sezione Come posso utilizzare i tag dei criteri IAM per limitare le modalità di creazione di un'istanza EC2 o di un volume EBS?
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:*",
"Resource": "*",
"Condition": {
"StringEquals": {
"ec2:ResourceTag/UserName": "${aws:username}"
}
}
},
{
"Effect": "Allow",
"Action": "ec2:Describe*",
"Resource": "*"
},
{
"Effect": "Deny",
"Action": [
"ec2:CreateTags",
"ec2:DeleteTags"
],
"Resource": "*"
}
]
}
Nota: per i principali che non sono utenti IAM, come ad esempio per i set di autorizzazioni del Centro Identità IAM o gli utenti Federati, usa la variabile aws:userid invece di aws:username. La variabile aws:userid ha il valore account:caller-specified-name. Per ulteriori informazioni, consulta le sezioni Elementi delle policy IAM: Variabili e tag e Come posso utilizzare le variabili della policy IAM con utenti federati?
Collega la policy IAM agli utenti o ai gruppi che vuoi far accedere alle istanze
Collega la policy IAM agli utenti o ai gruppi che vuoi far accedere alle istanze. Puoi collegare la policy IAM utilizzando la Console di gestione AWS, l'interfaccia della linea di comando AWS (AWS CLI) o l'API AWS.
Informazioni correlate
Concessione delle autorizzazioni richieste per le risorse EC2
Policy IAM per Amazon EC2
Tutorial IAM: definizione delle autorizzazioni per accedere alle risorse AWS in base ai tag