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à.
Esempio di policy basate su identità di Dimensionamento automatico Amazon EC2
Per impostazione predefinita, un nuovo utente non ha le autorizzazioni per fare nulla. Account AWS Un amministratore IAM deve creare e assegnare policy IAM che concedano a un'identità IAM (ad esempio un utente o un ruolo) l'autorizzazione per eseguire operazioni API di Dimensionamento automatico Amazon EC2.
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 del modello di lancio di Amazon EC2 nei gruppi di Auto Scaling.
Nota
Puoi creare policy IAM personalizzate per permettere o negare a identità IAM (utenti o ruoli) le autorizzazioni per eseguire operazioni di Dimensionamento automatico Amazon 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 operazioni API di Dimensionamento automatico Amazon EC2 ti permettono di includere gruppi Auto Scaling specifici nella policy, che possono essere creati o modificati dall'operazione. È possibile limitare le risorse di destinazione per queste operazioni specificando gli ARN di singoli gruppi Auto 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
- Creazione di 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 utilizzi tag per controllare l'accesso ai gruppi con scalabilità automatica, puoi utilizzare gli ARN per identificare i gruppi con dimensionamento automatico 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
"
È inoltre possibile specificare più ARN racchiudendoli in un elenco. Per ulteriori informazioni su come specificare gli ARN delle risorse Dimensionamento automatico Amazon EC2 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 con dimensionamento automatico, è possibile specificare gli ARN delle risorse nell'elemento Resource
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 specificare più ARN 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 istanze EC2 utilizzando un modello di avvio, l'utente deve disporre dell'
ec2:RunInstances
autorizzazione in una policy IAM. Per ulteriori informazioni, consulta Controlla l'utilizzo del modello di lancio di Amazon EC2 nei gruppi di Auto Scaling. -
ec2: CreateTags — Per avviare le istanze EC2 da un modello di avvio che aggiunge tag alle istanze e ai volumi al momento della creazione, l'utente deve disporre dell'autorizzazione in una policy IAM.
ec2:CreateTags
Per ulteriori informazioni, consulta Autorizzazioni richieste per assegnare tag a istanze e volumi. -
iam: PassRole — Per avviare le istanze EC2 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 Ruoli IAM per le applicazioni in esecuzione sulle istanze Amazon EC2. -
ssm: GetParameters — Per avviare istanze EC2 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 Utilizzate AWS Systems Manager i parametri anziché AMI IDs nei modelli di avvio.
Creazione di 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 Account AWS Amazon EC2 Auto Scaling. Se il ruolo collegato al servizio non esiste già, Dimensionamento automatico Amazon EC2 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 policy di autorizzazione che permette a un utente di creare un ruolo collegato al servizio Dimensionamento automatico Amazon EC2 per Dimensionamento automatico Amazon EC2.
{ "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. Innanzitutto, crea un ruolo collegato al servizio che abbia accesso alla chiave richiesta, ad esempio un ruolo collegato al servizio 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 scelgono di non specificare un ruolo collegato al servizio, viene invece utilizzato il ruolo predefinito. AWSServiceRoleForAutoScalingdevteam-
{ "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 Dimensionamento automatico Amazon EC2.