

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
<a name="deploy-preventative-attribute-based-access-controls-for-public-subnets"></a>

*Joel Alfredo Nunez Gonzalez und Samuel Ortega Sancho, Amazon Web Services*

## Zusammenfassung
<a name="deploy-preventative-attribute-based-access-controls-for-public-subnets-summary"></a>

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 AWS-Servicekontingenten erreicht werden. Die Bereitstellung von Netzwerksicherheit zusammen mit den Workloads VPCs bietet eine beispiellose Skalierbarkeit im Vergleich zum üblicheren, 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 *attributebasierten Zugriffskontrolle* (ABAC) werden detaillierte Berechtigungen auf der Grundlage von Benutzerattributen wie Abteilung, Aufgabenrolle und Teamname erstellt. Weitere Informationen finden Sie unter [ABAC for AWS](https://aws.amazon.com/identity/attribute-based-access-control/). ABAC kann Leitplanken für öffentliche Subnetze in Workload-Konten bereitstellen. Dies hilft Anwendungsteams, agil zu sein, ohne die Sicherheit der Infrastruktur zu gefährden.

Dieses Muster beschreibt, wie Sie öffentliche Subnetze schützen können, indem Sie ABAC mithilfe einer [Service Control Policy (SCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) in AWS Organizations und [Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) in AWS Identity and Access Management (IAM) implementieren. Sie wenden das SCP entweder auf ein Mitgliedskonto einer Organisation oder auf eine Organisationseinheit (OU) an. Diese ABAC-Richtlinien ermöglichen es Benutzern, NAT-Gateways in den Zielsubnetzen bereitzustellen und sie daran zu hindern, andere Amazon Elastic Compute Cloud (Amazon EC2) -Ressourcen wie EC2 Instances und elastische Netzwerkschnittstellen bereitzustellen.  

## Voraussetzungen und Einschränkungen
<a name="deploy-preventative-attribute-based-access-controls-for-public-subnets-prereqs"></a>

**Voraussetzungen**
+ Eine Organisation in AWS Organizations
+ Administratorzugriff auf das Root-Konto von AWS Organizations
+ In der Organisation ein aktives Mitgliedskonto oder eine Organisationseinheit zum Testen des SCP

**Einschränkungen**
+ Das SCP in dieser Lösung verhindert nicht, dass AWS-Services, die eine serviceverknüpfte Rolle verwenden, Ressourcen in den Zielsubnetzen bereitstellen. Beispiele für diese Dienste sind Elastic Load Balancing (ELB), Amazon Elastic Container Service (Amazon ECS) und Amazon Relational Database Service (Amazon RDS). Weitere Informationen finden Sie unter [SCP-Auswirkungen auf Berechtigungen](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html#scp-effects-on-permissions) in der Dokumentation zu AWS Organizations. Implementieren Sie Sicherheitskontrollen, um diese Ausnahmen zu erkennen.

## Architektur
<a name="deploy-preventative-attribute-based-access-controls-for-public-subnets-architecture"></a>

**Zieltechnologie-Stack**
+ SCP wurde auf 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 des SCP zu erstellen
  + `TestAdminRole`— Wird verwendet, um zu testen, ob der SCP andere IAM-Prinzipale, einschließlich derer mit Administratorzugriff, daran hindert, die Aktionen auszuführen, die für `AutomationAdminRole`

**Zielarchitektur**

![Die Tags verhindern, dass Benutzer andere Ressourcen als NAT-Gateways in öffentlichen Subnetzen bereitstellen](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/25f22f67-5bb6-42ac-8fd6-836e00c436f1/images/b8345c8c-0fc5-46a3-be60-c171979cf979.png)


1. Sie erstellen die `AutomationAdminRole` IAM-Rolle im Zielkonto. Diese Rolle hat Berechtigungen zur Verwaltung von Netzwerkressourcen. Beachten Sie die folgenden Berechtigungen, die ausschließlich für diese Rolle gelten:
   + Diese Rolle kann Subnetze erstellen VPCs und öffentlich zugänglich machen.
   + Diese Rolle kann die Tag-Zuweisungen für die Zielsubnetze ändern.
   + Diese Rolle kann ihre eigenen Berechtigungen verwalten.

1. In AWS Organizations wenden Sie den SCP auf das AWS-Zielkonto oder die Organisationseinheit an. Eine Beispielrichtlinie finden Sie unter [Zusätzliche Informationen](#deploy-preventative-attribute-based-access-controls-for-public-subnets-additional) in diesem Muster.

1. Ein Benutzer oder ein Tool in der CI/CD Pipeline kann die `AutomationAdminRole` Rolle übernehmen, das `SubnetType` Tag auf die Zielsubnetze anzuwenden.

1. Durch die Übernahme anderer IAM-Rollen können autorisierte IAM-Prinzipale 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](https://docs.aws.amazon.com/vpc/latest/userguide/security-iam.html).

**Automatisierung und Skalierung**

Um öffentliche Subnetze zu schützen, müssen die entsprechenden [AWS-Tags](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) angewendet werden. Nach der Anwendung des SCP 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. Es wird empfohlen, eine CI/CD Pipeline zu verwenden, die die `AutomationAdminRole` Rolle beim Erstellen von VPC-Ressourcen übernimmt, sodass diese Tags ordnungsgemäß auf öffentliche Subnetze angewendet werden.

## Tools
<a name="deploy-preventative-attribute-based-access-controls-for-public-subnets-tools"></a>

**AWS-Services**
+ Mit [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) können Sie den Zugriff auf Ihre AWS-Ressourcen sicher verwalten, indem Sie kontrollieren, wer authentifiziert und autorisiert ist, diese zu verwenden.
+ [AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html) ist ein Kontoverwaltungsservice, mit dem Sie mehrere AWS-Konten in einer Organisation konsolidieren können, die Sie erstellen und zentral verwalten. In AWS Organizations können Sie [Service-Kontrollrichtlinien (SCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) implementieren. Dabei handelt es sich um eine Art von Richtlinie, mit der Sie Berechtigungen in Ihrer Organisation verwalten können.
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) hilft Ihnen, AWS-Ressourcen in einem von Ihnen definierten virtuellen Netzwerk zu starten. Dieses virtuelle Netzwerk ähnelt einem herkömmlichen Netzwerk, das Sie in Ihrem eigenen Rechenzentrum betreiben würden, mit den Vorteilen der skalierbaren Infrastruktur von AWS.

## Epen
<a name="deploy-preventative-attribute-based-access-controls-for-public-subnets-epics"></a>

### Wenden Sie das SCP an
<a name="apply-the-scp"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie eine Test-Admin-Rolle.  | Erstellen Sie eine IAM-Rolle mit dem Namen `TestAdminRole` des AWS-Zielkontos. Hängen Sie die von **AdministratorAccess**AWS verwaltete IAM-Richtlinie an die neue Rolle an. Anweisungen finden Sie in der IAM-Dokumentation unter [Eine Rolle erstellen, um Berechtigungen an einen IAM-Benutzer zu delegieren](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html). | AWS-Administrator | 
| Erstellen Sie die Automatisierungs-Admin-Rolle. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-preventative-attribute-based-access-controls-for-public-subnets.html)Im Folgenden finden Sie ein Beispiel für eine Vertrauensrichtlinie, mit der Sie die Rolle vom `111122223333` Konto aus testen können.<pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Effect": "Allow",<br />            "Principal": {<br />                "AWS": [<br />                    "arn:aws:iam::111122223333:root"<br />                ]<br />            },<br />            "Action": "sts:AssumeRole",<br />            "Condition": {}<br />        }<br />    ]<br />}</pre> | AWS-Administrator | 
| Erstellen Sie das SCP und hängen Sie es an. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-preventative-attribute-based-access-controls-for-public-subnets.html) | AWS-Administrator | 

### Testen Sie das SCP
<a name="test-the-scp"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie eine VPC oder ein Subnetz. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-preventative-attribute-based-access-controls-for-public-subnets.html) | AWS-Administrator | 
| Tags verwalten. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-preventative-attribute-based-access-controls-for-public-subnets.html) | AWS-Administrator | 
| Stellen Sie Ressourcen in den Zielsubnetzen bereit. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-preventative-attribute-based-access-controls-for-public-subnets.html) | AWS-Administrator | 
| Verwalte die AutomationAdminRole Rolle. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-preventative-attribute-based-access-controls-for-public-subnets.html) | AWS-Administrator | 

### Bereinigen
<a name="clean-up"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Säubern Sie die eingesetzten Ressourcen. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/deploy-preventative-attribute-based-access-controls-for-public-subnets.html) | AWS-Administrator | 

## Zugehörige Ressourcen
<a name="deploy-preventative-attribute-based-access-controls-for-public-subnets-resources"></a>

**AWS-Dokumentation**
+ [Anhängen und Trennen SCPs](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_attach.html)
+ [Erstellen, Aktualisieren und Löschen SCPs](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_create.html)
+ [Stellen Sie mithilfe von AWS Config detektivattributebasierte Zugriffskontrollen für öffentliche Subnetze bereit](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/deploy-detective-attribute-based-access-controls-for-public-subnets-by-using-aws-config.html)
+ [Detektivische Kontrollen](https://docs.aws.amazon.com/prescriptive-guidance/latest/aws-security-controls/detective-controls.html)
+ [Referenz zur Serviceautorisierung](https://docs.aws.amazon.com/service-authorization/latest/reference/reference.html)
+ [Tagging von AWS-Ressourcen](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
+ [Was ist ABAC für AWS?](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)

**Zusätzliche AWS-Referenzen**
+ [Sicherung von Ressourcen-Tags, die für die Autorisierung verwendet werden, mithilfe einer Service Control-Richtlinie in AWS Organizations](https://aws.amazon.com/es/blogs/security/securing-resource-tags-used-for-authorization-using-service-control-policy-in-aws-organizations/) (AWS-Blogbeitrag)

## Zusätzliche Informationen
<a name="deploy-preventative-attribute-based-access-controls-for-public-subnets-additional"></a>

Die folgende Service Control-Richtlinie 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"]
        }
      }
    }
  ]
}
```