Beispiele für Amazon VPC-Richtlinien - Amazon Virtual Private Cloud

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Beispiele für Amazon VPC-Richtlinien

IAM-Rollen besitzen standardmäßig keine Berechtigungen zum Erstellen oder Ändern von VPC-Ressourcen. Sie können auch keine Aufgaben mit der AWS Management Console AWS CLI, oder AWS API ausführen. Ein IAM-Administrator muss IAM-Richtlinien erstellen, die Rollen die Berechtigung zum Ausführen bestimmter API-Operationen für die angegebenen Ressourcen gewähren, die diese benötigen. Der Administrator muss diese Richtlinien anschließend den IAM-Rollen anfügen, die diese Berechtigungen benötigen.

Informationen dazu, wie Sie unter Verwendung dieser beispielhaften JSON-Richtliniendokumente eine identitätsbasierte IAM-Richtlinie erstellen, finden Sie unter Erstellen von IAM-Richtlinien im IAM-Benutzerhandbuch.

Bewährte Methoden für Richtlinien

Identitätsbasierte Richtlinien können festlegen, ob jemand Amazon-VPC-Ressourcen in Ihrem Konto erstellen, darauf zugreifen oder daraus löschen kann. Dies kann zusätzliche Kosten für Ihr verursachen AWS-Konto. Befolgen Sie beim Erstellen oder Bearbeiten identitätsbasierter Richtlinien die folgenden Anleitungen und Empfehlungen:

  • Erste Schritte mit AWS verwalteten Richtlinien und Umstellung auf Berechtigungen mit den geringsten Rechten — Verwenden Sie die AWS verwalteten Richtlinien, die Berechtigungen für viele gängige Anwendungsfälle gewähren, um damit zu beginnen, Ihren Benutzern und Workloads Berechtigungen zu gewähren. Sie sind in Ihrem verfügbar. AWS-Konto Wir empfehlen Ihnen, die Berechtigungen weiter zu reduzieren, indem Sie vom AWS Kunden verwaltete Richtlinien definieren, die speziell auf Ihre Anwendungsfälle zugeschnitten sind. Weitere Informationen finden Sie unter AWS -verwaltete Richtlinien oder AWS -verwaltete Richtlinien für Auftrags-Funktionen im IAM-Benutzerhandbuch.

  • Anwendung von Berechtigungen mit den geringsten Rechten – Wenn Sie mit IAM-Richtlinien Berechtigungen festlegen, gewähren Sie nur die Berechtigungen, die für die Durchführung einer Aufgabe erforderlich sind. Sie tun dies, indem Sie die Aktionen definieren, die für bestimmte Ressourcen unter bestimmten Bedingungen durchgeführt werden können, auch bekannt als die geringsten Berechtigungen. Weitere Informationen zur Verwendung von IAM zum Anwenden von Berechtigungen finden Sie unter Richtlinien und Berechtigungen in IAM im IAM-Benutzerhandbuch.

  • Verwenden von Bedingungen in IAM-Richtlinien zur weiteren Einschränkung des Zugriffs – Sie können Ihren Richtlinien eine Bedingung hinzufügen, um den Zugriff auf Aktionen und Ressourcen zu beschränken. Sie können beispielsweise eine Richtlinienbedingung schreiben, um festzulegen, dass alle Anforderungen mithilfe von SSL gesendet werden müssen. Sie können auch Bedingungen verwenden, um Zugriff auf Serviceaktionen zu gewähren, wenn diese für einen bestimmten Zweck verwendet werden AWS-Service, z. AWS CloudFormation B. Weitere Informationen finden Sie unter IAM-JSON-Richtlinienelemente: Bedingung im IAM-Benutzerhandbuch.

  • Verwenden von IAM Access Analyzer zur Validierung Ihrer IAM-Richtlinien, um sichere und funktionale Berechtigungen zu gewährleisten – IAM Access Analyzer validiert neue und vorhandene Richtlinien, damit die Richtlinien der IAM-Richtliniensprache (JSON) und den bewährten IAM-Methoden entsprechen. IAM Access Analyzer stellt mehr als 100 Richtlinienprüfungen und umsetzbare Empfehlungen zur Verfügung, damit Sie sichere und funktionale Richtlinien erstellen können. Weitere Informationen finden Sie unter Richtlinienvalidierung zum IAM Access Analyzer im IAM-Benutzerhandbuch.

  • Multi-Faktor-Authentifizierung (MFA) erforderlich — Wenn Sie ein Szenario haben, das IAM-Benutzer oder einen Root-Benutzer in Ihrem System erfordert AWS-Konto, aktivieren Sie MFA für zusätzliche Sicherheit. Um MFA beim Aufrufen von API-Vorgängen anzufordern, fügen Sie Ihren Richtlinien MFA-Bedingungen hinzu. Weitere Informationen finden Sie unter Konfigurieren eines MFA-geschützten API-Zugriffs im IAM-Benutzerhandbuch.

Weitere Informationen zu bewährten Methoden in IAM finden Sie unter Bewährte Methoden für die Sicherheit in IAM im IAM-Benutzerhandbuch.

Verwenden der Amazon VPC-Konsole.

Um auf die Amazon VPC-Konsole zugreifen zu können, müssen Sie über einen Mindestsatz von Berechtigungen verfügen. Diese Berechtigungen müssen es Ihnen ermöglichen, Details zu den Amazon VPC-Ressourcen in Ihrem AWS Konto aufzulisten und einzusehen. Wenn Sie eine identitätsbasierte Richtlinie erstellen, die strenger ist als die mindestens erforderlichen Berechtigungen, funktioniert die Konsole nicht wie vorgesehen für Entitäten (IAM-Rollen) mit dieser Richtlinie.

Die folgende Richtlinie gewährt einer Rolle die Berechtigung, Ressourcen in der VPC-Konsole aufzulisten, nicht jedoch, sie zu erstellen, zu aktualisieren oder zu löschen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeAccountAttributes", "ec2:DescribeAddresses", "ec2:DescribeAvailabilityZones", "ec2:DescribeClassicLinkInstances", "ec2:DescribeClientVpnEndpoints", "ec2:DescribeCustomerGateways", "ec2:DescribeDhcpOptions", "ec2:DescribeEgressOnlyInternetGateways", "ec2:DescribeFlowLogs", "ec2:DescribeInternetGateways", "ec2:DescribeManagedPrefixLists", "ec2:DescribeMovingAddresses", "ec2:DescribeNatGateways", "ec2:DescribeNetworkAcls", "ec2:DescribeNetworkInterfaceAttribute", "ec2:DescribeNetworkInterfacePermissions", "ec2:DescribeNetworkInterfaces", "ec2:DescribePrefixLists", "ec2:DescribeRouteTables", "ec2:DescribeSecurityGroupReferences", "ec2:DescribeSecurityGroups", "ec2:DescribeSecurityGroupRules", "ec2:DescribeStaleSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeTags", "ec2:DescribeTrafficMirrorFilters", "ec2:DescribeTrafficMirrorSessions", "ec2:DescribeTrafficMirrorTargets", "ec2:DescribeTransitGateways", "ec2:DescribeTransitGatewayVpcAttachments", "ec2:DescribeTransitGatewayRouteTables", "ec2:DescribeVpcAttribute", "ec2:DescribeVpcClassicLink", "ec2:DescribeVpcClassicLinkDnsSupport", "ec2:DescribeVpcEndpoints", "ec2:DescribeVpcEndpointConnectionNotifications", "ec2:DescribeVpcEndpointConnections", "ec2:DescribeVpcEndpointServiceConfigurations", "ec2:DescribeVpcEndpointServicePermissions", "ec2:DescribeVpcEndpointServices", "ec2:DescribeVpcPeeringConnections", "ec2:DescribeVpcs", "ec2:DescribeVpnConnections", "ec2:DescribeVpnGateways", "ec2:GetManagedPrefixListAssociations", "ec2:GetManagedPrefixListEntries" ], "Resource": "*" } ] }

Sie müssen Rollen, die nur die AWS CLI oder die AWS API aufrufen, keine Mindestberechtigungen für die Konsole gewähren. Stattdessen sollten Sie nur Zugriff auf die Aktionen zulassen, die den API-Operation entsprechen, die die Rolle ausführen muss.

Erstellen einer VPC mit einem öffentlichen Subnetz

Im folgenden Beispiel können Rollen VPCs, Subnetze, Routing-Tabellen und Internet-Gateways erstellen. Rollen können auch ein Internet-Gateway an eine VPC anfügen und Routen in Routing-Tabellen erstellen. Die ec2:ModifyVpcAttribute-Aktion ermöglicht Rollen, DNS-Hostnamen für die VPC zu aktivieren, so dass jede Instance, die in einer VPC gestartet wird, einen DNS-Hostnamen erhält.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "ec2:CreateVpc", "ec2:CreateSubnet", "ec2:DescribeAvailabilityZones", "ec2:CreateRouteTable", "ec2:CreateRoute", "ec2:CreateInternetGateway", "ec2:AttachInternetGateway", "ec2:AssociateRouteTable", "ec2:ModifyVpcAttribute" ], "Resource": "*" } ] }

Die vorangehende Richtlinie ermöglicht es Rollen auch, eine VPC in der Amazon-VPC-Konsole zu erstellen.

Ändern und Löschen von VPC-Ressourcen

Sie können bei Bedarf steuern, welche VPC-Ressourcen Rollen ändern oder löschen können. Mit der folgenden Richtlinie können Rollen beispielsweise mit Routing-Tabellen, die die Markierung Purpose=Test haben, arbeiten und diese löschen. Die Richtlinie legt außerdem fest, dass Rollen nur Internet-Gateways mit der Markierung Purpose=Test löschen können. Rollen können nicht mit Routing-Tabellen oder Internet-Gateways arbeiten, die diese Markierung nicht haben.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:DeleteInternetGateway", "Resource": "arn:aws:ec2:*:*:internet-gateway/*", "Condition": { "StringEquals": { "ec2:ResourceTag/Purpose": "Test" } } }, { "Effect": "Allow", "Action": [ "ec2:DeleteRouteTable", "ec2:CreateRoute", "ec2:ReplaceRoute", "ec2:DeleteRoute" ], "Resource": "arn:aws:ec2:*:*:route-table/*", "Condition": { "StringEquals": { "ec2:ResourceTag/Purpose": "Test" } } } ] }

Verwalten von Sicherheitsgruppen

Mit der folgenden Richtlinie können Rollen Sicherheitsgruppen verwalten. Die erste Anweisung ermöglicht es Rollen, jede Sicherheitsgruppe mit der Markierung Stack=test zu löschen und die eingehenden und ausgehenden Regeln für jede Sicherheitsgruppe mit der Markierung Stack=test zu verwalten. Die zweite Anweisung erfordert, dass Rollen alle von ihnen erstellten Sicherheitsgruppen mit der Markierung Stack=Test kennzeichnen. Die dritte Anweisung ermöglicht es Rollen, Markierungen zu erstellen, wenn eine Sicherheitsgruppe erstellt wird. Die vierte Anweisung ermöglicht es Rollen, jede Sicherheitsgruppe und Sicherheitsgruppenregel anzuzeigen. Die fünfte Anweisung ermöglicht es Rollen, eine Sicherheitsgruppe in einer VPC zu erstellen.

Anmerkung

Diese Richtlinie kann vom AWS CloudFormation Dienst nicht verwendet werden, um eine Sicherheitsgruppe mit den erforderlichen Tags zu erstellen. Wenn Sie die Bedingung für die Aktion ec2:CreateSecurityGroup entfernen, für die das Tag erforderlich ist, funktioniert die Richtlinie.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:RevokeSecurityGroupIngress", "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:UpdateSecurityGroupRuleDescriptionsEgress", "ec2:RevokeSecurityGroupEgress", "ec2:DeleteSecurityGroup", "ec2:ModifySecurityGroupRules", "ec2:UpdateSecurityGroupRuleDescriptionsIngress" ], "Resource": "arn:aws:ec2:*:*:security-group/*", "Condition": { "StringEquals": { "ec2:ResourceTag/Stack": "test" } } }, { "Effect": "Allow", "Action": "ec2:CreateSecurityGroup", "Resource": "arn:aws:ec2:*:*:security-group/*", "Condition": { "StringEquals": { "aws:RequestTag/Stack": "test" }, "ForAllValues:StringEquals": { "aws:TagKeys": "Stack" } } }, { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:*:*:security-group/*", "Condition": { "StringEquals": { "ec2:CreateAction": "CreateSecurityGroup" } } }, { "Effect": "Allow", "Action": [ "ec2:DescribeSecurityGroupRules", "ec2:DescribeVpcs", "ec2:DescribeSecurityGroups" ], "Resource": "*" }, { "Effect": "Allow", "Action": "ec2:CreateSecurityGroup", "Resource": "arn:aws:ec2:*:*:vpc/*" } ] }

Damit Rollen die Sicherheitsgruppe ändern können, die einer Instance zugeordnet ist, fügen Sie Ihrer Richtlinie die ec2:ModifyInstanceAttribute-Aktion hinzu.

Um Rollen das Ändern von Sicherheitsgruppen für eine Netzwerkschnittstelle zu ermöglichen, fügen Sie der Richtlinie die ec2:ModifyNetworkInterfaceAttribute-Aktion hinzu.

Sicherheitsgruppenregeln verwalten

Die folgende Richtlinie erteilt Rollen die Berechtigung, alle Sicherheitsgruppen und Sicherheitsgruppenregeln anzuzeigen, Regeln für ein- und ausgehenden Datenverkehr für die Sicherheitsgruppen für eine bestimmte VPC hinzuzufügen und zu entfernen und Regelbeschreibungen für die angegebene VPC zu ändern. Die erste Anweisung verwendet den Bedingungsschlüssel ec2:Vpc, um Berechtigungen für eine bestimmte VPC festzulegen.

Die zweite Anweisung erteilt Rollen die Berechtigung zum Beschreiben aller Sicherheitsgruppen, Sicherheitsgruppenregeln und Markierungen. Auf diese Weise können Rollen Sicherheitsgruppenregeln anzeigen, um sie zu ändern.

{ "Version": "2012-10-17", "Statement":[{ "Effect":"Allow", "Action": [ "ec2:AuthorizeSecurityGroupIngress", "ec2:RevokeSecurityGroupIngress", "ec2:UpdateSecurityGroupRuleDescriptionsIngress", "ec2:AuthorizeSecurityGroupEgress", "ec2:RevokeSecurityGroupEgress", "ec2:UpdateSecurityGroupRuleDescriptionsEgress", "ec2:ModifySecurityGroupRules" ], "Resource": "arn:aws:ec2:region:account-id:security-group/*", "Condition": { "ArnEquals": { "ec2:Vpc": "arn:aws:ec2:region:account-id:vpc/vpc-id" } } }, { "Effect": "Allow", "Action": [ "ec2:DescribeSecurityGroups", "ec2:DescribeSecurityGroupRules", "ec2:DescribeTags" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:ModifySecurityGroupRules" ], "Resource": "arn:aws:ec2:region:account-id:security-group-rule/*" } ] }

Starten von Instances in einem bestimmten Subnetz

Mit der folgenden Richtlinie wird Rollen die Berechtigung zum Starten von Instances in einem bestimmten Subnetz sowie die Nutzung einer bestimmten Sicherheitsgruppe in der Anfrage gewährt. Die Richtlinie tut dies, indem sie den ARN für das Subnetz und den ARN für die Sicherheitsgruppe angibt. Wenn Rollen versuchen, eine Instance in einem anderen Subnetz zu starten oder eine andere Sicherheitsgruppe zu verwenden, schlägt die Anfrage fehl, sofern Rollen nicht durch andere Richtlinien oder Anweisungen eine entsprechende Erlaubnis dafür gewährt wird.

Außerdem wird in der Richtlinie die Berechtigung zum Verwenden der Netzwerkschnittstellenressource gewährt. Beim Starten einer Instance in einem Subnetz wird mithilfe der Anfrage RunInstances standardmäßig eine primäre Netzwerkschnittstelle erstellt. Daher benötigt die Rolle die Berechtigung zum Erstellen dieser Ressource beim Starten der Instance.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:region::image/ami-*", "arn:aws:ec2:region:account:instance/*", "arn:aws:ec2:region:account:subnet/subnet-id", "arn:aws:ec2:region:account:network-interface/*", "arn:aws:ec2:region:account:volume/*", "arn:aws:ec2:region:account:key-pair/*", "arn:aws:ec2:region:account:security-group/sg-id" ] } ] }

Starten von Instances in einer bestimmten VPC

Mit der folgenden Richtlinie wird Rollen die Berechtigung zum Starten von Instances in beliebigen Subnetzen einer bestimmten VPC gewährt. Hierfür wird ein Bedingungsschlüssel (ec2:Vpc) auf die Subnetzressource angewendet.

Außerdem wird mit der Richtlinie Rollen die Berechtigung zum Starten von Instances ausschließlich mit AMIs mit der Markierung „department=dev“ gewährt.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": "arn:aws:ec2:region:account-id:subnet/*", "Condition": { "ArnEquals": { "ec2:Vpc": "arn:aws:ec2:region:account-id:vpc/vpc-id" } } }, { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": "arn:aws:ec2:region::image/ami-*", "Condition": { "StringEquals": { "ec2:ResourceTag/department": "dev" } } }, { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:region:account:instance/*", "arn:aws:ec2:region:account:volume/*", "arn:aws:ec2:region:account:network-interface/*", "arn:aws:ec2:region:account:key-pair/*", "arn:aws:ec2:region:account:security-group/*" ] } ] }

Weitere Beispiele für Amazon VPC-Richtlinien

Weitere IAM-Beispielrichtlinien zu Amazon VPC finden Sie in der folgenden Dokumentation: