Concessione dell'autorizzazione all'applicazione di tag per le risorse durante la creazione - Amazon Elastic Compute Cloud

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Concessione dell'autorizzazione all'applicazione di tag per le risorse durante la creazione

Alcune operazioni API Amazon EC2 per la creazione di risorse ti consentono di specificare tag quando crei le risorse. È possibile utilizzare i tag delle risorse per implementare il controllo basato sugli attributi (ABAC). Per ulteriori informazioni, consulta Assegnazione di tag alle risorse e Controllo dell'accesso alle risorse EC2 mediante i tag delle risorse.

Per consentire agli utenti di applicare tag alle risorse durante la creazione, essi devono disporre delle autorizzazioni per utilizzare l'operazione che crea la risorsa, come ec2:RunInstances o ec2:CreateVolume. Se i tag vengono specificati nell'azione di creazione delle risorse, Amazon esegue autorizzazioni aggiuntive per l'azione ec2:CreateTags per verificare se gli utenti dispongono delle autorizzazioni per creare tag. Pertanto, gli utenti devono disporre anche delle autorizzazioni esplicite per utilizzare l'operazione ec2:CreateTags.

Nella definizione della policy IAM per l'operazione ec2:CreateTags, utilizzare l'elemento Condition con la chiave di condizione ec2:CreateAction per assegnare autorizzazioni di tagging all'operazione che crea la risorsa.

Ad esempio, la seguente policy consente gli utenti di avviare istanze e applicare tag a istanze e volumi durante l'avvio. Gli utenti non sono autorizzati ad applicare tag alle risorse esistenti (non possono chiamare l'operazione ec2:CreateTags direttamente).

{ "Statement": [ { "Effect": "Allow", "Action": [ "ec2:RunInstances" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:region:account:*/*", "Condition": { "StringEquals": { "ec2:CreateAction" : "RunInstances" } } } ] }

In modo analogo, la seguente policy consente gli utenti di creare volumi e applicare tag a tali volumi durante la creazione dei volumi stessi. Gli utenti non sono autorizzati ad applicare tag alle risorse esistenti (non possono chiamare l'operazione ec2:CreateTags direttamente).

{ "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateVolume" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:region:account:*/*", "Condition": { "StringEquals": { "ec2:CreateAction" : "CreateVolume" } } } ] }

L'operazione ec2:CreateTags viene valutata solo se i tag vengono applicati durante l'operazione di creazione di risorse. Pertanto, un utente con le autorizzazioni per la creazione di una risorsa (presupponendo che non siano presenti condizioni di assegnazione di tag) non necessità delle autorizzazioni per utilizzare l'operazione ec2:CreateTags se nella richiesta non viene specificato alcun tag. Tuttavia, se l'utente tenta di creare una risorsa con tag, la richiesta ha esito negativo se non dispone delle autorizzazioni per utilizzare l'operazione ec2:CreateTags.

L'operazione ec2:CreateTags viene valutata anche se i tag sono forniti in un modello di avvio. Per un esempio di policy, consulta Tag in un modello di avvio.

Controllo dell'accesso a tag specifici

È possibile utilizzare condizioni aggiuntive nell'elemento Condition delle policy IAM per controllare le chiavi dei tag e i valori che possono essere applicati alle risorse.

Le seguenti chiavi di condizione possono essere utilizzate con gli esempi nella sezione precedente:

  • aws:RequestTag: indica che una chiave di tag o una chiave e un valore di tag sono presenti in una richiesta. Anche gli altri tag devono essere specificati nella richiesta.

    • Da utilizzare assieme all'operatore di condizione StringEquals per applicare una combinazione specifica di chiave e valore di tag, ad esempio per applicare il tag cost-center=cc123:

      "StringEquals": { "aws:RequestTag/cost-center": "cc123" }
    • Da utilizzare assieme all'operatore di condizione StringLike per applicare una chiave di tag specifica nella richiesta, ad esempio per applicare la chiave di tag purpose:

      "StringLike": { "aws:RequestTag/purpose": "*" }
  • aws:TagKeys: applica le chiavi di tag utilizzate nella richiesta.

    • Da utilizzare assieme al modificatore ForAllValues per applicare chiavi di tag specifiche se vengono fornite nella richiesta (se i tag vengono specificati nella richiesta, solo le chiavi di tag specifiche sono consentite; non sono consentiti altri tag). Ad esempio, la chiave di tag environment o cost-center è consentita:

      "ForAllValues:StringEquals": { "aws:TagKeys": ["environment","cost-center"] }
    • Da utilizzare assieme al modificatore ForAnyValue per implementare la presenza di almeno una delle chiavi di tag specificate nella richiesta. Ad esempio, nella richiesta deve essere presente almeno una delle chiavi di tag environment o webserver:

      "ForAnyValue:StringEquals": { "aws:TagKeys": ["environment","webserver"] }

Queste chiavi di condizione possono essere applicate alle operazioni di creazione delle risorse che supportano il tagging, nonché alle operazioni ec2:CreateTags ed ec2:DeleteTags. Per sapere se un'operazione API Amazon EC2 supporta l'aggiunta di tag, consulta Operazioni, risorse e chiavi di condizione per Amazon EC2.

Per obbligare gli utenti a specificare i tag quando creano una risorsa, devi utilizzare la chiave di condizione aws:RequestTag o aws:TagKeys con il modificatore ForAnyValue nell'operazione di creazione delle risorse. L'operazione ec2:CreateTags non viene valutata se un utente non specifica i tag per l'operazione di creazione delle risorse.

Per le condizioni, la chiave di condizione non fa distinzione tra maiuscole e minuscole, mentre il valore della condizione fa distinzione tra maiuscole e minuscole. Pertanto, per applicare la distinzione tra maiuscole e minuscole per una chiave di tag, utilizza la chiave di condizione aws:TagKeys, specificando la chiave di tag come valore nella condizione.

Per esempi di policy IAM, consulta Politiche di esempio per lavorare con AWS CLI o con un AWS SDK. Per ulteriori informazioni sulle condizioni con più valori, consulta la sezione relativa alla creazione di una condizione per il test di valori di chiave multipli nella Guida per l'utente di IAM.