AWS Germany – Amazon Web Services in Deutschland

Vereinfachte Governance durch deklarative Richtlinien

von Esra Kayabali, übersetzt durch Marco Strauss

Ich freue mich heute, deklarative Richtlinien ankündigen zu können. Dies ist eine neue Funktion, die Ihnen hilft, eine gewünschte Konfiguration für einen bestimmten AWS-Service organisationsweit im großen Maßstab zu definieren und umzusetzen.

Es ist üblich, dass Kunden innerhalb ihrer Organisationen Standards für die Konfiguration von Cloud-Ressourcen erstellen. Sie könnten beispielsweise verlangen, den öffentlichen Zugriff für Amazon EBS-Snapshots zu blockieren. Sie möchten natürlich auch, dass diese Standards einmal zentral definiert und über alle ihre Konten hinweg durchgesetzt werden, einschließlich jener, die der Organisation in der Zukunft beitreten. Zusätzlich möchten sie, dass man beim Versuch eine Ressource auf eine nichtkonforme Weise zu konfigurieren, eine nützliche Fehlermeldung erhält, welche erklärt, wie die Konfiguration abgeändert werden muss um regelkonform zu werden.

Deklarative Richtlinien adressieren diese Herausforderungen, indem sie Ihnen helfen, die gewünschte Konfiguration für AWS-Services mit wenigen Klicks oder Befehlen zu definieren und umzusetzen. Sie können eine gewünschte Konfiguration auswählen, zum Beispiel „öffentlichen Zugriff für VPCs blockieren“, und AWS wird automatisch sicherstellen, dass der gewünschte Zustand in Ihrer Multi-Account-Umgebung (oder Teilen davon) durchgesetzt wird, sobald Sie die Richtlinie hinzufügen. Sobald die Konfiguration festgelegt ist, wird sie beibehalten, selbst wenn neue Funktionen oder neue APIs im Laufe der Zeit hinzukommen. Darüber hinaus haben Administratoren mit deklarativen Richtlinien Einblick in den aktuellen Zustand der Service-Attribute in ihrer gesamten Umgebung. Im Gegensatz zu anderen Richtlinien für die Zugrifssteuerung, die keine Informationen an Personen ohne Berechtigungen weitergeben können – sehen Endbenutzer jedoch benutzerdefinierte Fehlermeldungen, die von den Administratoren ihrer Organisation konfiguriert wurden und sie zu internen Ressourcen oder Support-Kanälen weiterleiten wo sie Hilfe finden.

„Als ABSA Group operieren wir in einem stark regulierten Umfeld, und während wir mehr Dienste einführen, verwenden wir SCP-Richtlinien, um Aktionen einzuschränken, und Config-Regeln, um Verstöße zu erkennen. Allerdings müssen wir für jede neue API oder Funktion eine Ausnahme erstellen. Mit deklarativen Richtlinien können wir einfach den öffentlichen Zugriff für VPC auf ‚true‘ setzen und haben die Gewissheit, dass keine Benutzer, Service-verknüpften Rollen oder zukünftigen APIs den öffentlichen Zugriff in unseren AWS-Organisationen ermöglichen können“, erklärt Vojtech Mencl, Lead Product Engineer bei ABSA, einem multinationalen Bank- und Finanzdienstleistungskonzern mit Sitz in Johannesburg, Südafrika.

„Mit benutzerdefinierten Fehlermeldungen können wir Endbenutzer einfach zu einem internen Portal weiterleiten, um mehr Informationen darüber zu erhalten, warum ihre Aktion fehlgeschlagen ist. Dies reduziert die betriebliche Komplexität für die Governance drastisch und beschleunigt unsere Migration zu AWS“, sagt Matt Draper, Principal Engineer bei ABSA.

Zum Zeitpunkt dieser Einführung unterstützen deklarative Richtlinien die Dienste Amazon Elastic Compute Cloud (Amazon EC2), Amazon Virtual Private Cloud (Amazon VPC) und Amazon Elastic Block Store (Amazon EBS). Zu den verfügbaren Service-Attributen gehören die Durchsetzung von IMDSv2, die Erlaubnis zur Fehlerbehebung über die serielle EC2 Konsole, zulässige Amazon Machine Image (AMI)-Einstellungen und die Blockierung des öffentlichen Zugriffs für Amazon EBS-Snapshots, Amazon EC2 AMI und VPC. Wenn neue Konten zu einer Organisation hinzugefügt werden, übernehmen sie die deklarative Richtlinie, die auf Organisations-, Organisationseinheits- (OU) oder Kontoebene angewendet wurde.

Sie können deklarative Richtlinien über die AWS Organizations-Konsole, die AWS Command Line Interface (AWS CLI), AWS CloudFormation oder über AWS Control Tower erstellen. Richtlinien können auf Organisations-, OU- oder Kontoebene angewendet werden. Wenn sie angehängt sind, verhindern deklarative Richtlinien nicht konforme Aktionen, unabhängig davon, ob sie über eine von Ihnen erstellte AWS Identity and Access Management (IAM)-Rolle oder von einem AWS-Service unter Verwendung einer serviceverknüpften Rolle aufgerufen wurden.

Erste Schritte mit deklarativen Richtlinien
Um deklarative Richtlinien zu demonstrieren, werde ich Sie durch ein Beispiel führen. Nehmen wir an, dass ich als Sicherheitsadministrator für ein großes Unternehmen mit Hunderten von AWS-Konten für die Aufrechterhaltung unserer strengen Sicherheitshaltung verantwortlich bin. In unserem Unternehmen haben wir mehrere kritische Sicherheitsanforderungen: Wir halten den Internetzugang über alle unsere Netzwerke hinweg streng unter Kontrolle, wir erlauben nur AMIs von bestimmten vertrauenswürdigen Anbietern, und wir müssen sicherstellen, dass keine VPC-Ressourcen versehentlich dem öffentlichen Internet ausgesetzt werden. Mit deklarativen Richtlinien kann ich diese Anforderungen effizient umsetzen. Lassen Sie mich Ihnen zeigen, wie ich das in meiner Umgebung einrichte.

Ich gehe zur AWS Organizations-Konsole und wähle Richtlinien (Policies) im Navigationsbereich. Ich wähle Deklarative Richtlinien für EC2 (Declarative policies for EC2)unter den Unterstützten Richtlinientypen (Supported policy Types) aus.

Ich wähle Deklarative Richtlinien für EC2 aktivieren (Enable declarative policies for EC2) aus, um die Funktion zu aktivieren.

Nachdem deklarative Richtlinien aktiviert wurden, kann ich gewünschte Konfigurationen für EC2 über alle Konten in meinen AWS-Organisationen hinweg definieren und umsetzen.

Bevor ich deklarative Richtlinien erstelle, möchte ich als Administrator der Organisation den aktuellen Status meiner AWS-Umgebung mithilfe des Kontostatus-Berichts verstehen, welcher eine Funktion der deklarativen Richtlinien ist. Der Bericht bietet sowohl eine Übersichtsansicht als auch eine detaillierte CSV-Datei, die alle Konten und AWS-Regionen innerhalb eines ausgewählten Organisationsbereichs abdeckt. Er hilft mir, den Zustand vor dem Anhängen einer Richtlinie zu beurteilen.

Auf der nächsten Seite wähle ich Statusbericht generieren (Generate Status report) Ich wähle einen Amazon Simple Storage Service (Amazon S3) Bucket unter Report S3 URI und wähle Konten und OUs aus, die in den Berichtsumfang einbezogen werden sollen.

Beachten Sie, dass der S3-Bucket die folgende Richtlinie benötigt, um den Statusbericht zu speichern:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "DeclarativePoliciesReportBucket",
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "report.declarative-policies-ec2.amazonaws.com"
                ]
            },
            "Action": [
                "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::<bucketName>/*",
            "Condition": {
                "StringEquals": {
                    "aws:SourceArn": "arn:<partition>:declarative-policies-ec2:<region>:<accountId>:*"
                }
            }
        }
    ]
}

Ich wähle Absenden (Submit).

Nach Abschluss wird der Bericht in dem von mir angegebenen Amazon S3-Bucket gespeichert. Auf der Seite Kontostatus-Bericht anzeigen (View account status report) kann ich zwischen mehreren Berichten aus dem Dropdown-Menü Berichte (Reports) wählen, um den aktuellen Status verschiedener Attribute zu beobachten.

Der Amazon S3-Bucket, den ich zum Speichern einer CSV-Datei bereitgestellt habe, enthält den detaillierten Bereitschaftsbericht. Ich erhalte eine Übersicht über den aktuellen Status meiner Organisationseinheit über verschiedenen Regionen hinweg.

Nachdem ich den Kontostatus bewertet habe, fahre ich mit der Erstellung einer Richtlinie fort. Ich wähle Richtlinie erstellen (Create policy) auf der Seite Deklarative Richtlinien für EC2 (Declarative policies for EC2).

Auf der nächsten Seite gebe ich einen Richtliniennamen (Policy name) und optional eine Richtlinienbeschreibung (Policy description) ein.

In dieser Demo verwende ich den Visual Editor, um zu zeigen, wie man Dienstattribute hinzufügt. Zu diesen Attributen gehören Serieller Konsolenzugriff, Instanz-Metadaten-Standardeinstellungen, Image Block Public Access, Snapshot Block Public Access, VPC Block Public Access und Erlaubte Image-Einstellungen. Ich kann den JSON-Editor verwenden, um sie manuell hinzuzufügen oder um die Richtlinien zu beobachten, die ich mit dem Visual Editor hinzugefügt habe. Zuerst wähle ich VPC Block Public Access, um den Internetzugriff für Ressourcen in meinem VPC von Internet-Gateways aus zu steuern. Ich wähle Eingehenden Verkehr blockieren (Block ingress) unter Internet-Gateway-Status. Wenn aktiviert, verhindert dies sofort den öffentlichen Zugriff, ohne Ressourcen zu verändern. Die Aktion kann auch wieder rückgängig gemacht werden.

Als zweites Attribut wähle ich Erlaubte Image-Einstellungen (Allowed image settings), um die erlaubten Image-Kriterien für AMIs zu steuern. Dies ist nützlich, da ich sicherstellen kann, dass alle Instanzstarts ein Golden AMI verwenden, das ein Konto oder eine Gruppe von Konten in meiner Organisation generiert, oder eines, das von einem Anbieter wie Amazon oder Ubuntu bereitgestellt wird. Ich wähle Aktiviert (Enabled) unter Erlaubte Image-Einstellungen (Allowed image settings). Ich wähle amazon unter Anbieter (Provider). Deklarative Richtlinien bieten Transparenz mit anpassbaren Fehlermeldungen, um die Frustration der Endbenutzer zu reduzieren. Sie können optional eine Benutzerdefinierte Fehlermeldung (Custom error message) hinzufügen, die angezeigt wird, wenn Organisationsmitglieder eine eingeschränkte Aktion nicht durchführen können. Um den Prozess der Richtlinienerstellung abzuschließen, wähle ich Richtlinie erstellen (Create message).

Jetzt muss ich die Richtlinie an meine Organisation oder bestimmte OUs anhängen. Ich wähle Richtlinie anhängen (Attach policy) unter Aktionen (Actions).

Ich wähle meine Organisation oder bestimmte OUs und wähle Richtlinie anhängen (Attach policy).

Wenn ein Konto einer Organisation oder einer OU beitritt, tritt die damit verknüpfte deklarative Richtlinie sofort in Kraft, und alle nachfolgenden nicht konformen Aktionen werden fehlschlagen (mit Ausnahme von VPC Block Public Access, das den öffentlichen Zugriff sofort einschränkt). Bestehende Ressourcen im Konto werden aber nicht gelöscht.

Jetzt verfügbar
Deklarative Richtlinien vereinfachen die Governance für AWS-Kunden, indem sie den Wartungsaufwand für Richtlinien reduzieren, eine konsistente Durchsetzung über Konten hinweg bieten und Transparenz für Administratoren und Endbenutzer gewährleisten.

Deklarative Richtlinien sind jetzt in den kommerziellen AWS-Regionen, China und AWS GovCloud (US) verfügbar.

Um mehr über deklarative Richtlinien zu erfahren und sie in Ihrer Organisation durchzusetzen, besuchen Sie die Dokumentation zu deklarativen Richtlinien.

Über die Autoren

Esra Kayabali ist Senior Solutions Architect bei AWS und spezialisiert sich auf Analytik, einschließlich Data Warehousing, Data Lakes, Big Data Analytics, Batch- und Echtzeit-Datenstreaming sowie Datenintegration. Sie verfügt über mehr als zehn Jahre Erfahrung in der Softwareentwicklung und Lösungsarchitektur. Sie ist leidenschaftlich engagiert für kollaboratives Lernen, Wissensaustausch und die Begleitung der Community auf ihrem Weg in die Cloud-Technologien.