Wie schränke ich den Zugriff von IAM-Identitäten auf bestimmte Amazon EC2-Ressourcen ein?
Ich möchte den Zugriff von AWS Identity and Access Management (IAM) -Identitäten auf eine bestimmte Amazon Elastic Compute Cloud (Amazon EC2) -Ressource einschränken.
Kurzbeschreibung
Amazon EC2 unterstützt Berechtigungen oder Bedingungen auf Ressourcenebene teilweise. Sie können Berechtigungen auf Ressourcenebene verwenden, um zu steuern, wie IAM-Identitäten auf bestimmte Amazon EC2-Ressourcen zugreifen dürfen.
Sie können auch ABAC (Autorisierung auf Basis von Tags) verwenden, um den Zugriff auf AWS-Ressourcen zu kontrollieren. Weitere Informationen finden Sie im IAM-Tutorial: Definieren Sie Berechtigungen für den Zugriff auf AWS-Ressourcen auf der Grundlage von Tags.
Lösung
Verwenden Sie die folgenden Beispiel-IAM-Richtlinien, um den Zugriff auf Amazon EC2-Instances für Ihren Anwendungsfall einzuschränken. Hängen Sie dann die Richtlinie an die IAM-Identität an, auf die Sie den Zugriff einschränken möchten.
Beschränken Sie den Zugriff nur auf das Starten, Stoppen oder Neustarten von Instances
Die folgende Beispielrichtlinie schränkt den Zugriff einer IAM-Identität auf das Starten, Stoppen oder Neustarten von EC2-Instances ein:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:Describe*", "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:StartInstances", "ec2:StopInstances", "ec2:RebootInstances" ], "Resource": [ "arn:aws:ec2:*:AccountId:instance/*" ], "Condition": { "StringEquals": { "ec2:ResourceTag/Owner": "Bob" } } } ] }
Hinweis: Ersetzen Sie Owner durch Ihren Tag-Schlüssel, Bob durch Ihren Tag-Wert und AccountId durch Ihre AWS-Konto-ID.
Um andere Amazon EC2-Ressourcen nach AWS-Region einzuschränken, stellen Sie sicher, dass die Aktionen Berechtigungen und Bedingungen auf Ressourcenebene unterstützen.
Beschränken Sie den Start von EC2-Instances nach Tag
Die folgende Beispielrichtlinie verwendet den Owner-Tag-Schlüssel, um den Zugriff einer IAM-Identität auf das Starten von EC2-Instances zu beschränken:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "ec2:RunInstances" ], "Resource": [ "arn:aws:ec2:*:AccountId:instance/*" ], "Condition": { "StringNotLike": { "aws:RequestTag/Owner": "*" } } }, { "Sid": "AllowRunInstances", "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:*::image/*", "arn:aws:ec2:*::snapshot/*", "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:network-interface/*", "arn:aws:ec2:*:*:security-group/*", "arn:aws:ec2:*:*:key-pair/*", "arn:aws:ec2:*:*:instance/*", "arn:aws:ec2:*:*:volume/*" ] }, { "Sid": "AllowToDescribeAll", "Effect": "Allow", "Action": [ "ec2:Describe*" ], "Resource": "*" }, { "Sid": "AllowCreateTagsOnLaunching", "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": [ "arn:aws:ec2:*:AccountId:*/*" ], "Condition": { "StringEquals": { "ec2:CreateAction": [ "RunInstances" ] } } } ] }
Hinweis: Ersetzen Sie Owner durch Ihren Tag-Schlüssel und AccountId durch Ihre Konto-ID.
Beschränken Sie den Start von EC2-Instances nach Instance-Typ
Die folgende Beispielrichtlinie schränkt den Zugriff auf eine IAM-Identität ein, um EC2-Instances nur mit dem Instance-Typ t3.* zu starten:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "ec2:RunInstances" ], "Resource": [ "arn:aws:ec2:*:AccountId:instance/*" ], "Condition": { "StringNotLike": { "ec2:InstanceType": "t3.*" } } }, { "Sid": "AllowRunInstances", "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:*::image/*", "arn:aws:ec2:*::snapshot/*", "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:network-interface/*", "arn:aws:ec2:*:*:security-group/*", "arn:aws:ec2:*:*:key-pair/*", "arn:aws:ec2:*:*:instance/*", "arn:aws:ec2:*:*:volume/*" ] }, { "Sid": "AllowToDescribeAll", "Effect": "Allow", "Action": [ "ec2:Describe*" ], "Resource": "*" }, { "Sid": "AllowCreateTagsOnLaunching", "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": [ "arn:aws:ec2:*:AccountId:*/*" ], "Condition": { "StringEquals": { "ec2:CreateAction": [ "RunInstances" ] } } } ] }
Hinweis: Ersetzen Sie den Instance-Typ t3.* mit Ihrem Instance-Typ, zum Beispiel t3.nano. Ersetzen Sie außerdem AccountId durch Ihre Konto-ID.
Weitere Informationen finden Sie unter Benennungskonventionen für Amazon EC2-Instance-Typen.
Ähnliche Informationen
Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 6 Monaten
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor einem Jahr
- AWS OFFICIALAktualisiert vor einem Monat