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.
Amazon MWAA-Ausführungsrolle
Eine Ausführungsrolle ist eine AWS Identity and Access Management (IAM-) Rolle mit einer Berechtigungsrichtlinie, die Amazon Managed Workflows for Apache Airflow die Erlaubnis erteilt, die Ressourcen anderer AWS Dienste in Ihrem Namen aufzurufen. Dazu können Ressourcen wie Ihr Amazon S3-Bucket, Ihr AWS eigener Schlüssel und Logs gehören. CloudWatch Amazon MWAA-Umgebungen benötigen eine Ausführungsrolle pro Umgebung. In diesem Thema wird beschrieben, wie Sie die Ausführungsrolle für Ihre Umgebung verwenden und konfigurieren, damit Amazon MWAA auf andere von Ihrer Umgebung verwendete AWS Ressourcen zugreifen kann.
Überblick über die Ausführungsrolle
Die Erlaubnis für Amazon MWAA, andere von Ihrer Umgebung verwendete AWS Dienste zu nutzen, wird von der Ausführungsrolle erteilt. Eine Amazon MWAA-Ausführungsrolle benötigt die Genehmigung für die folgenden AWS Dienste, die von einer Umgebung verwendet werden:
-
Amazon CloudWatch (CloudWatch) — um Apache Airflow-Metriken und -Protokolle zu senden.
-
Amazon Simple Storage Service (Amazon S3) — zum Analysieren des DAG-Codes Ihrer Umgebung und unterstützender Dateien (z. B. a
requirements.txt). -
Amazon Simple Queue Service (Amazon SQS) — um die Apache Airflow-Aufgaben Ihrer Umgebung in eine Amazon SQS-Warteschlange zu stellen, die Amazon MWAA gehört.
-
AWS Key Management Service (AWS KMS) — für die Datenverschlüsselung Ihrer Umgebung (entweder mit einem AWS eigenen Schlüssel oder Ihrem Schlüssel). Customer-managed
Anmerkung
Wenn Sie sich dafür entschieden haben, dass Amazon MWAA einen AWS eigenen KMS-Schlüssel zum Verschlüsseln Ihrer Daten verwendet, müssen Sie in einer Richtlinie, die Ihrer Amazon MWAA-Ausführungsrolle zugeordnet ist, Berechtigungen definieren, die über Amazon SQS Zugriff auf beliebige KMS-Schlüssel gewähren, die außerhalb Ihres Kontos gespeichert sind. Die folgenden beiden Bedingungen sind erforderlich, damit die Ausführungsrolle Ihrer Umgebung auf beliebige KMS-Schlüssel zugreifen kann:
-
Ein KMS-Schlüssel in einem Drittanbieterkonto muss diesen kontoübergreifenden Zugriff über seine Ressourcenrichtlinie ermöglichen.
-
Ihr DAG-Code muss auf eine Amazon SQS-Warteschlange zugreifen, die mit dem
airflow-celery-Drittanbieterkonto beginnt und denselben KMS-Schlüssel für die Verschlüsselung verwendet.
Um die Risiken zu minimieren, die mit dem kontoübergreifenden Zugriff auf Ressourcen verbunden sind, empfehlen wir, den Code in Ihren DAGs zu überprüfen, um sicherzustellen, dass Ihre Workflows nicht auf beliebige Amazon SQS-Warteschlangen außerhalb Ihres Kontos zugreifen. Darüber hinaus können Sie einen kundenverwalteten KMS-Schlüssel verwenden, der in Ihrem eigenen Konto gespeichert ist, um die Verschlüsselung auf Amazon MWAA zu verwalten. Dies schränkt die Ausführungsrolle Ihrer Umgebung ein, sodass nur auf den KMS-Schlüssel in Ihrem Konto zugegriffen werden kann.
Beachten Sie, dass Sie, nachdem Sie eine Verschlüsselungsoption ausgewählt haben, Ihre Auswahl für eine bestehende Umgebung nicht mehr ändern können.
-
Eine Ausführungsrolle benötigt außerdem die Berechtigung für die folgenden IAM-Aktionen:
-
airflow:PublishMetrics— damit Amazon MWAA den Zustand einer Umgebung überwachen kann.
Standardmäßig angehängte Berechtigungen
Sie können die Standardoptionen auf der Amazon MWAA-Konsole verwenden, um eine Ausführungsrolle und einen AWS-owned Key zu erstellen. Folgen Sie dann den Schritten auf dieser Seite, um Ihrer Ausführungsrolle Berechtigungsrichtlinien hinzuzufügen.
-
Wenn Sie auf der Konsole die Option Neue Rolle erstellen wählen, ordnet Amazon MWAA Ihrer Ausführungsrolle die Mindestberechtigungen zu, die eine Umgebung benötigt.
-
In einigen Fällen fügt Amazon MWAA die maximalen Berechtigungen hinzu. Wir empfehlen beispielsweise, auf der Amazon MWAA-Konsole die Option zum Erstellen einer Ausführungsrolle auszuwählen, wenn Sie eine Umgebung erstellen. Amazon MWAA fügt die Berechtigungsrichtlinien für alle CloudWatch Logs-Gruppen automatisch hinzu, indem das Regex-Muster in der Ausführungsrolle als verwendet wird.
"arn:aws:logs:us-east-1:111122223333:log-group:airflow-your-environment-name-*"
Wie füge ich die Erlaubnis hinzu, andere zu verwenden AWS service
Amazon MWAA kann einer vorhandenen Ausführungsrolle nach der Erstellung einer Umgebung keine Berechtigungsrichtlinien hinzufügen oder bearbeiten. Sie müssen Ihre Ausführungsrolle mit zusätzlichen Berechtigungsrichtlinien aktualisieren, die für Ihre Umgebung erforderlich sind. Wenn Ihre DAG beispielsweise Zugriff auf benötigt AWS Glue, kann Amazon MWAA nicht automatisch erkennen, dass diese Berechtigungen für Ihre Umgebung erforderlich sind, oder die Berechtigungen Ihrer Ausführungsrolle hinzufügen.
Sie können einer Ausführungsrolle auf zwei Arten Berechtigungen hinzufügen:
-
Indem Sie die JSON-Richtlinie für Ihre Ausführungsrolle direkt ändern. Sie können die JSON-Beispiel-Richtliniendokumente auf dieser Seite verwenden, um die JSON-Richtlinie Ihrer Ausführungsrolle in der IAM-Konsole entweder zu ergänzen oder zu ersetzen.
-
Indem Sie eine JSON-Richtlinie für einen AWS Dienst erstellen und sie an Ihre Ausführungsrolle anhängen. Mithilfe der Schritte auf dieser Seite können Sie Ihrer Ausführungsrolle in der IAM-Konsole ein neues JSON-Richtliniendokument für einen AWS Service zuordnen.
Unter der Annahme, dass die Ausführungsrolle bereits Ihrer Umgebung zugeordnet ist, kann Amazon MWAA sofort mit der Verwendung der hinzugefügten Berechtigungsrichtlinien beginnen. Das bedeutet auch, dass Ihre DAGs möglicherweise ausfallen, wenn Sie alle erforderlichen Berechtigungen aus einer Ausführungsrolle entfernen.
Wie ordne ich eine neue Ausführungsrolle zu
Sie können die Ausführungsrolle für Ihre Umgebung jederzeit ändern. Wenn Ihrer Umgebung noch keine neue Ausführungsrolle zugeordnet ist, verwenden Sie die Schritte auf dieser Seite, um eine neue Ausführungsrollenrichtlinie zu erstellen, und ordnen Sie die Rolle Ihrer Umgebung zu.
Create a new role (Neue Rolle erstellen)
Standardmäßig erstellt Amazon MWAA einen AWS eigenen Schlüssel für die Datenverschlüsselung und eine Ausführungsrolle in Ihrem Namen. Sie können die Standardoptionen auf der Amazon MWAA-Konsole auswählen, wenn Sie eine Umgebung erstellen. Die folgende Abbildung zeigt die Standardoption zum Erstellen einer Ausführungsrolle für eine Umgebung.
Wichtig
Wenn Sie eine neue Ausführungsrolle erstellen, verwenden Sie den Namen einer gelöschten Ausführungsrolle nicht erneut. Eindeutige Namen können helfen, Konflikte zu vermeiden und eine ordnungsgemäße Ressourcenverwaltung sicherzustellen.
Greifen Sie auf eine Richtlinie für Ausführungsrollen zu und aktualisieren Sie sie
Sie können in der Amazon MWAA-Konsole auf die Ausführungsrolle für Ihre Umgebung zugreifen und die JSON-Richtlinie für die Rolle in der IAM-Konsole aktualisieren.
Um eine Richtlinie für Ausführungsrollen zu aktualisieren
-
Öffnen Sie die Seite
Umgebungen auf der Amazon MWAA-Konsole. -
Wählen Sie eine Umgebung aus.
-
Wählen Sie im Bereich Berechtigungen die Ausführungsrolle aus, um die Seite mit den Berechtigungen in IAM zu öffnen.
-
Wählen Sie den Namen der Ausführungsrolle, um die Berechtigungsrichtlinie zu öffnen.
-
Wählen Sie Edit policy (Richtlinie bearbeiten).
-
Wählen Sie den Tab JSON.
-
Aktualisieren Sie Ihre JSON-Richtlinie.
-
Wählen Sie Richtlinie prüfen.
-
Wählen Sie Änderungen speichern aus.
Hängen Sie eine JSON-Richtlinie an, um andere zu verwenden AWS service
Sie können eine JSON-Richtlinie für einen AWS Dienst erstellen und sie Ihrer Ausführungsrolle zuordnen. Sie können beispielsweise die folgende JSON-Richtlinie anhängen, um schreibgeschützten Zugriff auf alle Ressourcen in zu gewähren. AWS Secrets Manager
Um eine Richtlinie an Ihre Ausführungsrolle anzuhängen
-
Öffnen Sie die Seite
Umgebungen auf der Amazon MWAA-Konsole. -
Wählen Sie eine Umgebung aus.
-
Wählen Sie im Bereich „Berechtigungen“ Ihre Ausführungsrolle aus.
-
Wählen Sie Richtlinien anfügen.
-
Wählen Sie Richtlinie erstellen aus.
-
Wählen Sie JSON.
-
Fügen Sie die JSON-Richtlinie ein.
-
Wählen Sie Weiter: Tags, Weiter: Überprüfung.
-
Geben Sie einen beschreibenden Namen (z. B.
SecretsManagerReadPolicy) und eine Beschreibung für die Richtlinie ein. -
Wählen Sie Richtlinie erstellen aus.
Gewähren Sie Zugriff auf den Amazon S3-Bucket mit einer Sperrung des öffentlichen Zugriffs auf Kontoebene
Möglicherweise möchten Sie den Zugriff auf alle Buckets in Ihrem Konto blockieren, indem Sie den PutPublicAccessBlock Amazon S3-Vorgang verwenden. Wenn Sie den Zugriff auf alle Buckets in Ihrem Konto blockieren, muss Ihre Rolle zur Ausführung der Umgebung die s3:GetAccountPublicAccessBlock Aktion in einer Berechtigungsrichtlinie enthalten.
Das folgende Beispiel zeigt die Richtlinie, die Sie Ihrer Ausführungsrolle zuordnen müssen, wenn Sie den Zugriff auf alle Amazon S3-Buckets in Ihrem Konto blockieren.
Weitere Informationen zur Beschränkung des Zugriffs auf Ihre Amazon S3-Buckets finden Sie unter Blockieren des öffentlichen Zugriffs auf Ihren Amazon S3-Speicher im Amazon Simple Storage Service-Benutzerhandbuch.
Verwenden Sie Apache Airflow-Verbindungen
Sie können auch eine Apache Airflow-Verbindung erstellen und Ihre Ausführungsrolle und deren ARN in Ihrem Apache Airflow-Verbindungsobjekt angeben. Weitere Informationen finden Sie unter. Verbindungen zu Apache Airflow verwalten
Beispiel für JSON-Richtlinien für eine Ausführungsrolle
Sie können die beiden Beispielberechtigungsrichtlinien in diesem Abschnitt verwenden, um die für Ihre bestehende Ausführungsrolle verwendete Berechtigungsrichtlinie zu ersetzen, oder um eine neue Ausführungsrolle zu erstellen und für Ihre Umgebung zu verwenden. Diese Richtlinien enthalten https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_resource.html Ressourcen-ARN-Platzhalter für Apache Airflow-Protokollgruppen, einen Amazon S3-Bucket und eine Amazon MWAA-Umgebung.
Wir empfehlen, die Beispielrichtlinie zu kopieren, die Beispiel-ARNs oder Platzhalter zu ersetzen und dann die JSON-Richtlinie zu verwenden, um eine Ausführungsrolle zu erstellen oder zu aktualisieren.
Beispielrichtlinie für einen vom Kunden verwalteten Schlüssel
Das folgende Beispiel zeigt eine Ausführungsrollenrichtlinie, die Sie für einen Customer-managed Schlüssel verwenden können.
Als Nächstes müssen Sie Amazon MWAA erlauben, diese Rolle zu übernehmen, um Aktionen in Ihrem Namen auszuführen. Dies kann geschehen, indem "airflow.amazonaws.com" Sie mithilfe der IAM-Konsole "airflow-env.amazonaws.com" Dienstprinzipale zur Liste der vertrauenswürdigen Entitäten für diese Ausführungsrolle hinzufügen oder indem Sie diese Dienstprinzipale mithilfe des IAM-Befehls create-role mithilfe des Befehls IAM create-role in das Richtliniendokument zur Übernahme der Rolle für diese Ausführungsrolle aufnehmen. AWS CLI Sehen Sie sich das folgende Beispiel für ein Richtliniendokument zur Annahme einer Rolle an:
Hängen Sie dann die folgende JSON-Richtlinie an Ihren Customer-managed Schlüssel an. Diese Richtlinie verwendet das kms:EncryptionContext Bedingungsschlüssel-Präfix, um den Zugriff auf Ihre Apache Airflow-Protokollgruppe in CloudWatch Logs zu ermöglichen.
{ "Sid": "Allow logs access", "Effect": "Allow", "Principal": { "Service": "logs.us-east-1.amazonaws.com" }, "Action": [ "kms:Encrypt*", "kms:Decrypt*", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:Describe*" ], "Resource": "*", "Condition": { "ArnLike": {"kms:EncryptionContext:aws:logs:arn": "arn:aws:logs:} } }us-east-1:111122223333:*"
Beispielrichtlinie für eine AWS-eigener Schlüssel
Das folgende Beispiel zeigt eine Ausführungsrollenrichtlinie, die Sie für einen Schlüssel mit AWS-owned verwenden können.
Als nächstes
-
Erfahren Sie mehr über die erforderlichen Berechtigungen, die Sie und Ihre Apache Airflow-Benutzer benötigen, um auf Ihre Umgebung zuzugreifen. Zugreifen auf eine Amazon MWAA-Umgebung
-
Erfahren Sie mehr über Verwendung von vom Kunden verwalteten Schlüsseln für die Verschlüsselung.
-
Erfahren Sie mehr Beispiele für Customer-managed Richtlinien.