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.
Implementieren Sie präventive attributebasierte Zugriffskontrollen für öffentliche Subnetze
Erstellt von Joel Alfredo Nunez Gonzalez () und Samuel Ortega Sancho () AWS AWS
Übersicht
In zentralisierten Netzwerkarchitekturen konzentrieren Inspection und Edge Virtual Private Clouds (VPCs) den gesamten eingehenden und ausgehenden Verkehr, z. B. den Verkehr zum und vom Internet. Dies kann jedoch zu Engpässen führen oder dazu führen, dass die Grenzen der Servicekontingenten erreicht werden. AWS Die Bereitstellung von Netzwerksicherheit zusammen mit den Workloads VPCs bietet eine beispiellose Skalierbarkeit im Vergleich zum gängigeren, zentralisierten Ansatz. Dies wird als Distributed-Edge-Architektur bezeichnet.
Die Bereitstellung öffentlicher Subnetze in Workload-Konten kann zwar Vorteile bieten, bringt aber auch neue Sicherheitsrisiken mit sich, da dadurch die Angriffsfläche vergrößert wird. Wir empfehlen, nur Elastic Load Balancing (ELB) -Ressourcen wie Application Load Balancer oder NAT Gateways in deren öffentlichen Subnetzen bereitzustellen. VPCs Die Verwendung von Load Balancern und NAT Gateways in dedizierten öffentlichen Subnetzen hilft Ihnen dabei, eine differenzierte Steuerung für eingehenden und ausgehenden Datenverkehr zu implementieren.
Bei der attributbasierten Zugriffskontrolle (ABAC) werden detaillierte Berechtigungen auf der Grundlage von Benutzerattributen wie Abteilung, Aufgabenrolle und Teamname erstellt. Weitere Informationen finden Sie unter für. ABAC AWS
Dieses Muster beschreibt, wie Sie öffentliche Subnetze schützen können, indem Sie eine Dienststeuerungsrichtlinie (SCP) in AWS Organizations und Richtlinien in AWS Identity and Access Management (IAM) implementierenABAC. Sie wenden das entweder SCP auf ein Mitgliedskonto einer Organisation oder auf eine Organisationseinheit (OU) an. Diese ABAC Richtlinien ermöglichen Benutzern die Bereitstellung von NAT Gateways in den Zielsubnetzen und verhindern, dass sie andere Amazon Elastic Compute Cloud (AmazonEC2) -Ressourcen wie EC2 Instances und elastische Netzwerkschnittstellen bereitstellen.
Voraussetzungen und Einschränkungen
Voraussetzungen
Eine Organisation in AWS Organizations
Administratorzugriff auf das Root-Konto der AWS Organizations
In der Organisation ein aktives Mitgliedskonto oder eine Organisationseinheit zum Testen der SCP
Einschränkungen
SCPIn dieser Lösung wird nicht verhindert, dass AWS Dienste, die eine dienstverknüpfte Rolle verwenden, Ressourcen in den Zielsubnetzen bereitstellen. Beispiele für diese Dienste sind Elastic Load Balancing (ELB), Amazon Elastic Container Service (AmazonECS) und Amazon Relational Database Service (AmazonRDS). Weitere Informationen finden Sie unter SCPAuswirkungen auf Berechtigungen in der Dokumentation zu AWS Organizations. Implementieren Sie Sicherheitskontrollen, um diese Ausnahmen zu erkennen.
Architektur
Zieltechnologie-Stack
SCPauf ein AWS Konto oder eine Organisationseinheit in AWS Organizations angewendet
Die folgenden IAM Rollen:
AutomationAdminRole
— Wird verwendet, um Subnetz-Tags zu ändern und VPC Ressourcen nach der Implementierung von zu erstellen SCPTestAdminRole
— Wird verwendet, um zu testen, ob andere IAM Prinzipale, auch solche mit Administratorzugriff, daran gehindert werden, die Aktionen auszuführen, die für SCPAutomationAdminRole
Zielarchitektur

Sie erstellen die
AutomationAdminRole
IAM Rolle im Zielkonto. Diese Rolle verfügt über Berechtigungen zur Verwaltung von Netzwerkressourcen. Beachten Sie die folgenden Berechtigungen, die ausschließlich für diese Rolle gelten:Mit dieser Rolle können Subnetze erstellt VPCs und öffentlich zugänglich gemacht werden.
Diese Rolle kann die Tag-Zuweisungen für die Zielsubnetze ändern.
Diese Rolle kann ihre eigenen Berechtigungen verwalten.
In AWS Organizations wenden Sie das SCP auf das AWS Zielkonto oder die Organisationseinheit an. Ein Beispiel für eine Richtlinie finden Sie unter Zusätzliche Informationen in diesem Muster.
Ein Benutzer oder ein Tool in der CI/CD-Pipeline kann die
AutomationAdminRole
Rolle übernehmen, dasSubnetType
Tag auf die Zielsubnetze anzuwenden.Durch die Übernahme anderer IAM Rollen können autorisierte IAM Principals in Ihrer Organisation NAT Gateways in den Zielsubnetzen und andere zulässige Netzwerkressourcen im AWS Konto verwalten, z. B. Routing-Tabellen. Verwenden Sie IAM Richtlinien, um diese Berechtigungen zu gewähren. Weitere Informationen finden Sie unter Identitäts- und Zugriffsmanagement für Amazon VPC.
Automatisierung und Skalierung
Um öffentliche Subnetze zu schützen, müssen die entsprechenden AWSTags angewendet werden. Nach der SCP Anwendung von sind NAT Gateways die einzige Art von EC2 Amazon-Ressource, die autorisierte Benutzer in Subnetzen mit diesem Tag erstellen können. SubnetType:IFA
(IFA
bedeutet Ressourcen, die mit dem Internet verbunden sind.) Das SCP verhindert die Erstellung anderer EC2 Amazon-Ressourcen wie Instances und Elastic Network Interfaces. Wir empfehlen Ihnen, eine CI/CD-Pipeline zu verwenden, die die AutomationAdminRole
Rolle der Erstellung von VPC Ressourcen übernimmt, sodass diese Tags ordnungsgemäß auf öffentliche Subnetze angewendet werden.
Tools
AWS-Services
AWSMit Identity and Access Management (IAM) können Sie den Zugriff auf Ihre AWS Ressourcen sicher verwalten, indem Sie kontrollieren, wer authentifiziert und autorisiert ist, diese zu verwenden.
AWSOrganizations ist ein Kontoverwaltungsdienst, mit dem Sie mehrere AWS Konten zu einer Organisation zusammenfassen können, die Sie erstellen und zentral verwalten. In AWS Organizations können Sie Dienststeuerungsrichtlinien (SCPs) implementieren. Dabei handelt es sich um eine Art von Richtlinie, mit der Sie Berechtigungen in Ihrer Organisation verwalten können.
Amazon Virtual Private Cloud (AmazonVPC) hilft Ihnen dabei, AWS Ressourcen in einem von Ihnen definierten virtuellen Netzwerk bereitzustellen. Dieses virtuelle Netzwerk entspricht einem herkömmlichen Netzwerk, wie Sie es in Ihrem Rechenzentrum betreiben würden, mit den Vorteilen der Verwendung der skalierbaren Infrastruktur von AWS.
Epen
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie eine Test-Admin-Rolle. | Erstellen Sie eine IAM Rolle mit | AWS-Administrator |
Erstellen Sie die Administratorrolle für die Automatisierung. |
Im Folgenden finden Sie ein Beispiel für eine Vertrauensrichtlinie, mit der Sie die Rolle vom
| AWS-Administrator |
Erstellen Sie die und hängen Sie sie anSCP. |
| AWS-Administrator |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie ein VPC OR-Subnetz. |
| AWS-Administrator |
Tags verwalten. |
| AWS-Administrator |
Stellen Sie Ressourcen in den Zielsubnetzen bereit. |
| AWS-Administrator |
Verwalte die Rolle AutomationAdminRole . |
| AWS-Administrator |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Säubern Sie die eingesetzten Ressourcen. |
| AWS-Administrator |
Zugehörige Ressourcen
AWS-Dokumentation
Zusätzliche AWS Referenzen
Zusätzliche Informationen
Die folgende Dienststeuerungsrichtlinie ist ein Beispiel, mit dem Sie diesen Ansatz in Ihrer Organisation testen können.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyVPCActions", "Effect": "Deny", "Action": [ "ec2:CreateVPC", "ec2:CreateRoute", "ec2:CreateSubnet", "ec2:CreateInternetGateway", "ec2:DeleteVPC", "ec2:DeleteRoute", "ec2:DeleteSubnet", "ec2:DeleteInternetGateway" ], "Resource": [ "arn:aws:ec2:*:*:*" ], "Condition": { "StringNotLike": { "aws:PrincipalARN": ["arn:aws:iam::*:role/AutomationAdminRole"] } } }, { "Sid": "AllowNATGWOnIFASubnet", "Effect": "Deny", "NotAction": [ "ec2:CreateNatGateway", "ec2:DeleteNatGateway" ], "Resource": [ "arn:aws:ec2:*:*:subnet/*" ], "Condition": { "ForAnyValue:StringEqualsIfExists": { "aws:ResourceTag/SubnetType": "IFA" }, "StringNotLike": { "aws:PrincipalARN": ["arn:aws:iam::*:role/AutomationAdminRole"] } } }, { "Sid": "DenyChangesToAdminRole", "Effect": "Deny", "NotAction": [ "iam:GetContextKeysForPrincipalPolicy", "iam:GetRole", "iam:GetRolePolicy", "iam:ListAttachedRolePolicies", "iam:ListInstanceProfilesForRole", "iam:ListRolePolicies", "iam:ListRoleTags" ], "Resource": [ "arn:aws:iam::*:role/AutomationAdminRole" ], "Condition": { "StringNotLike": { "aws:PrincipalARN": ["arn:aws:iam::*:role/AutomationAdminRole"] } } }, { "Sid": "allowbydefault", "Effect": "Allow", "Action": "*", "Resource": "*" } ] }