Come posso limitare l'accesso in modo che gli utenti avviino istanze Amazon EC2 solo dalle AMI con tag?
Desidero limitare l'accesso degli utenti in modo che possano avviare istanze Amazon Elastic Compute Cloud (Amazon EC2) solo da Amazon Machine Images (AMI) contrassegnate.
Risoluzione
Per limitare l'accesso in modo che gli utenti avviino istanze EC2 solo dalle AMI con tag, esegui una delle seguenti azioni:
- Crea un'AMI da un'istanza esistente.
- Usa un'AMI esistente, quindi aggiungi un tag all'AMI.
Quindi, crea una policy AWS Identity and Access Management (IAM) personalizzata. La policy IAM utilizza una condizione di tag che limita le autorizzazioni degli utenti all'avvio solo delle istanze che utilizzano le AMI con tag.
Nella seguente policy IAM di esempio, vengono utilizzati questi valori (ID istruzione) Sid:
- ReadOnlyAccess consente agli utenti di visualizzare le risorse EC2 nel tuo account utilizzando **Descrivi\ ***, che include tutte le azioni EC2 che iniziano con Descrivi. ReadOnlyAccess consente inoltre agli utenti di ottenere l'output della console e gli screenshot della console di un'istanza. Le autorizzazioni Amazon CloudWatch per DescribeAlarms e GetMetricStatistics consentono di visualizzare le informazioni sanitarie sulle istanze nella console Amazon EC2. L'autorizzazione IAM per ListInstanceProfiles consente di visualizzare i profili di istanza esistenti nell'elenco dei ruoli IAM. L'elenco dei ruoli IAM viene visualizzato nella pagina Configura i dettagli dell'istanza quando avvii un'istanza. Tuttavia, l'API ListInstanceProfiles non consente agli utenti di associare un ruolo IAM a un'istanza.
- ActionsRequiredtoRunInstancesInVPC concede agli utenti il permesso di eseguire l'API RunInstances. Puoi utilizzare qualsiasi istanza, coppia di chiavi, gruppo di sicurezza, volume, interfaccia di rete o sottorete nella regione AWS us-east-1. Le autorizzazioni a livello di risorsa specificano l'ARN per ciascuna risorsa.
- LaunchingEC2withAMIsAndTags consente agli utenti di utilizzare un'AMI per avviare le istanze. L'AMI deve avere un tag Environment con il valore impostato su Prod nella regione us-east-1. L'autorizzazione a livello di risorsa è impostata su un ARN per qualsiasi AMI che si trova nella regione us-east-1. La condizione corrisponde al valore della chiave del tag EC2:ResourceTag/Environment e del valore chiave Prod.
La seguente policy IAM utilizza autorizzazioni a livello di risorsa supportate per le risorse richieste per l'azione API RunInstances.
Nota:
- Questa policy consente agli utenti di elencare i ruoli quando avviano un'istanza. Tuttavia, gli utenti possono avviare un'istanza con un ruolo associato solo se dispongono dell'autorizzazione iam:PassRole.
- Questa politica non consente agli utenti di creare nuovi gruppi di sicurezza. Gli utenti devono selezionare un gruppo di sicurezza esistente per avviare un'istanza EC2 a meno che non dispongano dell'autorizzazione EC2 CreateSecurityGroup. L'azione API EC2:CreateSecurityGroup consente l'accesso per creare solo un gruppo di sicurezza. Questa azione non aggiunge o modifica alcuna regola. Per aggiungere regole in entrata, gli utenti devono disporre delle autorizzazioni per l'azione API EC2 AuthorizeSecurityGroupIngress in entrata e l'azione API EC2 AuthorizeSecurityGroupEgress in uscita.
- Questa policy non consente agli utenti di collegare il nome dell'istanza o di modificare e collegare tag alla risorsa dell'istanza EC2. A meno che gli utenti non dispongano dell'autorizzazione CreateTags quando creano l'istanza, devono lasciare vuoti i tag e il nome.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadOnlyAccess", "Effect": "Allow", "Action": [ "ec2:Describe*", "ec2:GetConsole*", "cloudwatch:DescribeAlarms", "cloudwatch:GetMetricStatistics", "iam:ListInstanceProfiles" ], "Resource": "*" }, { "Sid": "ActionsRequiredtoRunInstancesInVPC", "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:us-east-1:AccountId:instance/*", "arn:aws:ec2:us-east-1:AccountId:key-pair/*", "arn:aws:ec2:us-east-1:AccountId:security-group/*", "arn:aws:ec2:us-east-1:AccountId:volume/*", "arn:aws:ec2:us-east-1:AccountId:network-interface/*", "arn:aws:ec2:us-east-1:AccountId:subnet/*" ] }, { "Sid": "LaunchingEC2withAMIsAndTags", "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": "arn:aws:ec2:us-east-1::image/ami-*", "Condition": { "StringEquals": { "ec2:ResourceTag/Environment": "Prod" } } } ] }
Video correlati
Contenuto pertinente
- AWS UFFICIALEAggiornata 3 mesi fa
- AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata 2 anni fa