Durch die Nutzung von AWS re:Post stimmt du den AWS re:Post Nutzungsbedingungen

Wie schränke ich den Zugriff von IAM-Identitäten auf bestimmte Amazon EC2-Ressourcen ein?

Lesedauer: 3 Minute
0

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

Wie erstelle ich eine IAM-Richtlinie, um den Zugriff auf Amazon EC2-Ressourcen mithilfe von Tags zu steuern?

Wie kann ich IAM-Richtlinien-Tags verwenden, um einzuschränken, wie eine EC2-Instance oder ein EBS-Volume erstellt und darauf zugegriffen werden kann?

Identitätsbasierte Richtlinien für Amazon EC2