Come posso creare una policy IAM per controllare l'accesso alle risorse di Amazon EC2 utilizzando i tag?

3 minuti di lettura
0

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:

  1. Aggiungi un tag specifico alle istanze a cui vuoi che accedano utenti o gruppi.
  2. Crea una policy IAM che conceda l'accesso a tutte le istanze con il tag specifico.
  3. 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