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à.
Esempi di policy basate sull'identità di Amazon EC2 Auto Scaling
Per impostazione predefinita, un nuovo utente del tuo account non Account AWS ha le autorizzazioni per fare nulla. Un amministratore IAM deve creare e assegnare policy IAM che autorizzino un'identità IAM (ad esempio un utente o un ruolo) a eseguire azioni dell'API Amazon EC2 Auto Scaling.
Per informazioni su come creare una policy IAM utilizzando questi documenti di policy JSON di esempio, consulta Creazione di policy nella scheda JSON nella Guida per l'utente di IAM.
Di seguito viene illustrato un esempio di policy di autorizzazione.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "autoscaling:CreateAutoScalingGroup", "autoscaling:UpdateAutoScalingGroup", "autoscaling:DeleteAutoScalingGroup" ], "Resource": "*", "Condition": { "StringEquals": { "autoscaling:ResourceTag/
purpose
": "testing
" } } }, { "Effect": "Allow", "Action": "autoscaling:Describe*", "Resource": "*" }] }
Questa policy di esempio concede agli utenti l'autorizzazione per creare, modificare ed eliminare gruppi con dimensionamento automatico, ma solo se il gruppo utilizza il tag
. Poiché le operazioni purpose=testing
Describe
non supportano le autorizzazioni a livello di risorsa, devi specificarle in un'istruzione separata senza condizioni. Per avviare istanze con un modello di avvio, l'utente deve inoltre disporre dell'autorizzazione ec2:RunInstances
. Per ulteriori informazioni, consulta Controlla l'utilizzo dei modelli di EC2 lancio di Amazon nei gruppi di Auto Scaling.
Nota
Puoi creare policy IAM personalizzate per consentire o negare le autorizzazioni alle identità IAM (utenti o ruoli) per eseguire azioni di Amazon Auto Scaling EC2 . Puoi allegare queste policy personalizzate alle identità IAM che hanno bisogno delle autorizzazioni specificate. I seguenti esempi mostrano le autorizzazioni per alcuni casi d'uso comuni.
Alcune azioni dell'API Amazon EC2 Auto Scaling ti consentono di includere gruppi di Auto Scaling specifici nella tua policy che possono essere creati o modificati dall'azione. È possibile limitare le risorse di destinazione per queste azioni specificando il singolo gruppo Auto ARNs Scaling. Come best practice, tuttavia, si suggerisce di utilizzare policy basate su tag che permettono (o negano) azioni su gruppi Auto Scaling con un tag specifico.
Esempi
- Controlla le dimensioni dei gruppi con dimensionamento automatico che possono essere creati
- Controllo di quali tag chiavi e valori tag possono essere utilizzati
- Verifica quale gruppo con dimensionamento automatico è possibile eliminare
- Verifica di quali policy di dimensionamento sia possibile eliminare
- Controlla l'accesso alle azioni di aggiornamento delle istanze
- Creare un ruolo collegato ai servizi
- Controlla quale ruolo collegato al servizio può essere passato (utilizzando) PassRole
Controlla le dimensioni dei gruppi con dimensionamento automatico che possono essere creati
La policy seguente concede le autorizzazioni per creare e aggiornare tutti i gruppi con dimensionamento automatico con il tag
, purché il richiedente non specifichi una dimensione minima inferiore a environment=development
1
o una dimensione massima maggiore di 10
. Quando possibile, è consigliabile utilizzare i tag per controllare l'accesso ai gruppi con dimensionamento automatico nel tuo account.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "autoscaling:CreateAutoScalingGroup", "autoscaling:UpdateAutoScalingGroup" ], "Resource": "*", "Condition": { "StringEquals": { "autoscaling:ResourceTag/
environment
": "development
" }, "NumericGreaterThanEqualsIfExists": { "autoscaling:MinSize":1
}, "NumericLessThanEqualsIfExists": { "autoscaling:MaxSize":10
} } }] }
In alternativa, se non utilizzi tag per controllare l'accesso ai gruppi di Auto Scaling, puoi utilizzarli ARNs per identificare i gruppi di Auto Scaling a cui si applica la policy IAM.
Un gruppo con dimensionamento automatico ha il seguente ARN.
"Resource": "arn:aws:autoscaling:
region
:account-id
:autoScalingGroup:*:autoScalingGroupName/my-asg
"
Puoi anche specificarne più ARNs di uno racchiudendoli in un elenco. Per ulteriori informazioni su come specificare le risorse ARNs di Amazon EC2 Auto Scaling nell'elemento, Resource
consulta. Risorse relative alle policy per Amazon EC2 Auto Scaling
Controllo di quali tag chiavi e valori tag possono essere utilizzati
Puoi inoltre usare le condizioni nelle tue policy IAM per controllare le chiavi e i valori dei tag che possono essere applicati ai gruppi con dimensionamento automatico. Per concedere le autorizzazioni a creare o taggare un gruppo con dimensionamento automatico solo se il richiedente specifica determinati tag, utilizza la chiave di condizione aws:RequestTag
. Per permettere solo chiavi di tag specifiche, utilizza la chiave di condizioni aws:TagKeys
con il modificatore ForAllValues
.
La policy seguente richiede al richiedente di specificare un tag con la chiave
nella richiesta. Il valore environment
impone che vi sia un valore per la chiave tag. Quando si include un carattere jolly, è necessario utilizzare l'operatore condizionale "?*"
StringLike
.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "autoscaling:CreateAutoScalingGroup", "autoscaling:CreateOrUpdateTags" ], "Resource": "*", "Condition": { "StringLike": { "aws:RequestTag/
environment
": "?*
" } } }] }
La policy seguente specifica che il richiedente può solo applicare tag ai gruppi con scalabilità automatica con i tag
e purpose=webserver
, e permette solo i tag cost-center=cc123
e purpose
(non è possibile specificare altri tag).cost-center
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "autoscaling:CreateAutoScalingGroup", "autoscaling:CreateOrUpdateTags" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/
purpose
": "webserver
", "aws:RequestTag/cost-center
": "cc123
" }, "ForAllValues:StringEquals": { "aws:TagKeys": ["purpose
", "cost-center
"] } } }] }
La policy seguente richiede al richiedente di specificare almeno un tag nella richiesta e consente solo le chiavi
e cost-center
.owner
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "autoscaling:CreateAutoScalingGroup", "autoscaling:CreateOrUpdateTags" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:TagKeys": ["
cost-center
", "owner
"] } } }] }
Nota
Per le condizioni, la chiave di condizione non fa distinzione tra maiuscole e minuscole, mentre il valore della condizione la fa. 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.
Verifica quale gruppo con dimensionamento automatico è possibile eliminare
La seguente policy consente l'eliminazione di un gruppo con dimensionamento automatico solo se il gruppo ha il tag
.environment=development
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "autoscaling:DeleteAutoScalingGroup", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/
environment
": "development
" } } }] }
In alternativa, se non si utilizzano chiavi di condizione per controllare l'accesso ai gruppi di Auto Scaling, è possibile specificare le ARNs risorse nell'Resource
elemento per controllare l'accesso.
La seguente policy fornisce agli utenti le autorizzazioni per utilizzare l'azione DeleteAutoScalingGroup
API, ma solo per i gruppi con dimensionamento automatico il cui nome inizia con
.devteam-
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "autoscaling:DeleteAutoScalingGroup", "Resource": "arn:aws:autoscaling:
region
:account-id
:autoScalingGroup:*:autoScalingGroupName/devteam-
*" }] }
È inoltre possibile specificarne più ARNs di uno racchiudendoli in un elenco. L'inclusione dell'UUID garantisce l'accesso al gruppo con dimensionamento automatico specifico. L'UUID per un nuovo gruppo è diverso dall'UUID per un gruppo eliminato con lo stesso nome.
"Resource": [ "arn:aws:autoscaling:
region
:account-id
:autoScalingGroup:uuid
:autoScalingGroupName/devteam-1
", "arn:aws:autoscaling:region
:account-id
:autoScalingGroup:uuid
:autoScalingGroupName/devteam-2
", "arn:aws:autoscaling:region
:account-id
:autoScalingGroup:uuid
:autoScalingGroupName/devteam-3
" ]
Verifica di quali policy di dimensionamento sia possibile eliminare
La policy seguente concede le autorizzazioni per utilizzare l'operazione DeletePolicy
al fine di eliminare una policy di dimensionamento. Tuttavia, nega anche l'operazione, se il gruppo con dimensionamento automatico su cui stai agendo ha il tag
. Quando possibile, è consigliabile utilizzare i tag per controllare l'accesso ai gruppi con dimensionamento automatico nel tuo account.environment=production
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "autoscaling:DeletePolicy", "Resource": "*" }, { "Effect": "Deny", "Action": "autoscaling:DeletePolicy", "Resource": "*", "Condition": { "StringEquals": { "autoscaling:ResourceTag/
environment
": "production
" } } }] }
Controlla l'accesso alle azioni di aggiornamento delle istanze
La seguente policy concede l'autorizzazione ad avviare, ripristinare e annullare un aggiornamento dell'istanza solo se il gruppo con dimensionamento automatico su cui si sta agendo ha il tag
. Poiché le operazioni environment=testing
Describe
non supportano le autorizzazioni a livello di risorsa, devi specificarle in un'istruzione separata senza condizioni.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "autoscaling:StartInstanceRefresh", "autoscaling:CancelInstanceRefresh", "autoscaling:RollbackInstanceRefresh" ], "Resource": "*", "Condition": { "StringEquals": { "autoscaling:ResourceTag/
environment
": "testing
" } } }, { "Effect": "Allow", "Action": "autoscaling:DescribeInstanceRefreshes", "Resource": "*" }] }
Per specificare la configurazione desiderata nella chiamata StartInstanceRefresh
, gli utenti potrebbero richiedere alcune autorizzazioni correlate, come ad esempio:
-
ec2: RunInstances — Per avviare EC2 istanze utilizzando un modello di avvio, l'utente deve disporre dell'
ec2:RunInstances
autorizzazione in una policy IAM. Per ulteriori informazioni, consulta Controlla l'utilizzo dei modelli di EC2 lancio di Amazon nei gruppi di Auto Scaling. -
ec2: CreateTags — Per avviare EC2 istanze da un modello di avvio che aggiunge tag alle istanze e ai volumi al momento della creazione, l'utente deve disporre dell'
ec2:CreateTags
autorizzazione in una policy IAM. Per ulteriori informazioni, consulta Autorizzazioni richieste per assegnare tag a istanze e volumi. -
iam: PassRole — Per avviare EC2 istanze da un modello di avvio che contiene un profilo di istanza (un contenitore per un ruolo IAM), l'utente deve inoltre disporre dell'
iam:PassRole
autorizzazione in una policy IAM. Per ulteriori informazioni e per un esempio di policy IAM, consulta Ruolo IAM per le applicazioni eseguite su EC2 istanze Amazon. -
ssm: GetParameters — Per avviare EC2 istanze da un modello di avvio che utilizza un AWS Systems Manager parametro, l'utente deve inoltre disporre dell'
ssm:GetParameters
autorizzazione in una policy IAM. Per ulteriori informazioni, consulta Usa AWS Systems Manager i parametri anziché l'AMI IDs nei modelli di avvio.
Creare un ruolo collegato ai servizi
Amazon EC2 Auto Scaling richiede le autorizzazioni per creare un ruolo collegato al servizio la prima volta che un utente del tuo account richiama le azioni dell'API di Amazon Account AWS Auto EC2 Scaling. Se il ruolo collegato al servizio non esiste già, Amazon Auto EC2 Scaling lo crea nel tuo account. Il ruolo collegato al servizio fornisce le autorizzazioni ad Amazon EC2 Auto Scaling in modo che possa chiamare altri utenti per tuo conto. Servizi AWS
Affinché la creazione automatica di un ruolo riesca, gli utenti devono disporre delle autorizzazioni per l'operazione iam:CreateServiceLinkedRole
.
"Action": "iam:CreateServiceLinkedRole"
Di seguito viene illustrato un esempio di politica di autorizzazioni che consente a un utente di creare un ruolo collegato al servizio Amazon EC2 Auto Scaling per Amazon EC2 Auto Scaling.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::*:role/aws-service-role/autoscaling.amazonaws.com/
AWSServiceRoleForAutoScaling
", "Condition": { "StringLike": { "iam:AWSServiceName":"autoscaling.amazonaws.com
" } } }] }
Controlla quale ruolo collegato al servizio può essere passato (utilizzando) PassRole
Gli utenti che creano o aggiornano i gruppi con scalabilità automatica e specificano un suffisso personalizzato nel ruolo collegato ai servizi richiedono l'autorizzazione iam:PassRole
.
Puoi utilizzare l'iam:PassRole
autorizzazione per proteggere la sicurezza delle chiavi gestite dai AWS KMS clienti se consenti a diversi ruoli collegati al servizio l'accesso a chiavi diverse. In base alle esigenze dell'organizzazione, puoi avere una chiave per il team di sviluppo, un'altra per il team di QA e un'altra per il team finanziario. In primo luogo, crea un ruolo collegato ai servizi che abbia accesso alla chiave richiesta, ad esempio, un ruolo collegato ai servizi denominato AWSServiceRoleForAutoScaling_devteamkeyaccess. Quindi, allega la policy a un'identità IAM, come un utente o ruolo.
La policy seguente concede le autorizzazioni necessarie per passare il ruolo AWSServiceRoleForAutoScaling_devteamkeyaccess
a qualsiasi gruppo con dimensionamento automatico il cui nome inizi con
. Se l'identità IAM che crea il gruppo con dimensionamento automatico tenta di specificare un diverso ruolo collegato ai servizi, viene restituito un messaggio errore. Se sceglieranno di non specificare un ruolo collegato ai servizi, verrà utilizzato il ruolo di default AWSServiceRoleForAutoScaling.devteam-
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::
account-id
:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling_devteamkeyaccess
", "Condition": { "StringEquals": { "iam:PassedToService": [ "autoscaling.amazonaws.com" ] }, "StringLike": { "iam:AssociatedResourceARN": [ "arn:aws:autoscaling:region
:account-id
:autoScalingGroup:*:autoScalingGroupName/devteam-
*" ] } } }] }
Per ulteriori informazioni sui ruoli dei servizi personalizzati, consulta Ruoli collegati ai servizi per Amazon Auto Scaling EC2 .