IAM-Richtlinien für AWS Data Pipeline - AWS Data Pipeline

AWS Data Pipeline ist für Neukunden nicht mehr verfügbar. Bestehende Kunden von AWS Data Pipeline können den Service weiterhin wie gewohnt nutzen. Weitere Informationen

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.

IAM-Richtlinien für AWS Data Pipeline

IAM-Entitäten verfügen standardmäßig nicht über die Berechtigung zur Erstellung oder Änderung von AWS-Ressourcen. Damit IAM-Benutzer Ressourcen erstellen oder ändern und Aufgaben ausführen können, müssen Sie IAM-Richtlinien erstellen und so den IAM-Benutzern die Berechtigung zur Nutzung der benötigten Ressourcen und API-Aktionen erteilen. Diese Richtlinien ordnen Sie dann den IAM-Benutzern zu, die diese Berechtigungen benötigen.

Wenn Sie einem Benutzer oder einer Benutzergruppe eine Richtlinie zuordnen, wird den Benutzern die Ausführung der angegebenen Aufgaben für die angegebenen Ressourcen gestattet oder verweigert. Allgemeine Informationen zu IAM-Richtlinien finden Sie unter Berechtigungen und Richtlinien im IAM-Benutzerhandbuch. Weitere Informationen zum Verwalten und Erstellen von benutzerdefinierten IAM-Richtlinien finden Sie unter Verwalten von IAM-Richtlinien.

Richtliniensyntax

Eine IAM-Richtlinie ist ein JSON-Dokument, das eine oder mehrere Anweisungen enthält. Jede Anweisung ist folgendermaßen strukturiert:

{ "Statement":[{ "Effect":"effect", "Action":"action", "Resource":"*", "Condition":{ "condition":{ "key":"value" } } } ] }

Eine Anweisung in einer Richtlinie besteht aus folgenden Elementen:

  • Effect: Der effect-Wert kann Allow oder Deny lauten. IAM-Entitäten verfügen standardmäßig nicht über die Berechtigung zur Verwendung von Ressourcen und API-Aktionen. Daher werden alle Anfragen abgelehnt. Dieser Standardwert kann durch eine explizite Zugriffserlaubnis überschrieben werden. Eine explizite Zugriffsverweigerung überschreibt jedwede Zugriffserlaubnis.

  • Action: Mit action wird die API-Aktion spezifiziert, für die Sie Berechtigungen erteilen oder verweigern. Eine Liste der Aktionen fürAWS Data Pipeline finden Sie unter Aktionen in der AWS Data PipelineAPI-Referenz.

  • Resource: Die von einer Aktion betroffene Ressource. Der einzige hier zulässige Wert lautet "*".

  • Condition: Bedingungen sind optional. Mit ihrer Hilfe können Sie bestimmen, wann Ihre Richtlinie wirksam wird.

    AWS Data Pipeline implementiert die AWS-weiten Kontextschlüssel (siehe Verfügbare Schlüssel für Bedingungen) und zusätzlich die folgenden servicespezifischen Schlüssel.

Steuern des Zugriffs auf Pipelines mithilfe von Tags

Sie können IAM-Richtlinien erstellen, die auf die Tags für Ihre Pipeline verweisen. Dadurch lässt sich mithilfe von Pipeline-Tags Folgendes durchführen:

  • Gewähren des Lesezugriffs auf eine Pipeline

  • Gewähren des Lese-/Schreibzugriffs auf eine Pipeline

  • Blockieren des Zugriffs auf eine Pipeline

Nehmen wir an, dass es in einem Unternehmen zwei Pipeline-Umgebungen (Produktion und Entwicklung) und für jede Umgebung eine IAM-Gruppe gibt. Für Pipelines in der Produktionsumgebung gewährt der Manager Benutzern in der Produktions-IAM-Gruppe Lese-/Schreibzugriff, Benutzern in der Entwickler-IAM-Gruppe jedoch nur Lesezugriff. Für Pipelines in der Entwicklungsumgebung gewährt der Manager Lese-/Schreibzugriff sowohl für die Produktions- als auch für die Entwickler-IAM-Gruppe.

Um dieses Szenario zu erreichen, kennzeichnet der Manager die Produktionspipelines mit dem Tag „environment=production“ und fügt der Entwickler-IAM-Gruppe die folgende Richtlinie hinzu. Die erste Anweisung gewährt Lesezugriff auf alle Pipelines. Die zweite Anweisung gewährt Lese-/Schreibzugriff auf Pipelines, die nicht mit dem Tag "environment=production" gekennzeichnet sind.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "datapipeline:Describe*", "datapipeline:ListPipelines", "datapipeline:GetPipelineDefinition", "datapipeline:QueryObjects" ], "Resource": "*" }, { "Effect": "Allow", "Action": "datapipeline:*", "Resource": "*", "Condition": { "StringNotEquals": {"datapipeline:Tag/environment": "production"} } } ] }

Darüber hinaus verknüpft der Manager die folgende Richtlinie mit der Produktions-IAM-Gruppe. Diese Anweisung gewährt vollständigen Zugriff auf alle Pipelines.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "datapipeline:*", "Resource": "*" } ] }

Weitere Beispiele finden Sie unter Gewähren des Lesezugriffs für Benutzer basierend auf einem Tag und Gewähren des vollständigen Zugriffs für Benutzer basierend auf einem Tag.

Steuern des Zugriffs auf Pipelines mithilfe von Worker-Gruppen

Sie können IAM-Richtlinien erstellen, die auf Arbeitsgruppennamen verweisen.

Nehmen wir an, dass es in einem Unternehmen zwei Pipeline-Umgebungen (Produktion und Entwicklung) und für jede Umgebung eine IAM-Gruppe gibt. Außerdem sind drei Datenbankserver mit Task Runner-Anwendungen für die Produktions-, die Vorproduktions- und die Entwicklungsumgebung vorhanden. Der Manager möchte sicherstellen, dass Benutzer in der Produktions-IAM-Gruppe Pipelines erstellen können, die Aufgaben an Produktionsressourcen weiterleiten, und dass Benutzer in der Entwicklungs-IAM-Gruppe Pipelines erstellen können, die Aufgaben sowohl an Vorproduktions- als auch an Entwicklerressourcen weiterleiten.

Um dies zu erreichen, installiert er Task Runner auf den Produktionsressourcen mit den Anmeldeinformationen der Produktionsgruppe und weist workerGroup den Wert "prodresource" zu. Außerdem installiert der Manager Task Runner auf den Entwicklungsressourcen mit den Anmeldeinformationen der Entwicklungsgruppe und weist workerGroup die Werte "pre-production" und "development" zu. Der Manager fügt der Entwickler-IAM-Gruppe die folgende Richtlinie hinzu, um den Zugriff auf „Prodresource“ -Ressourcen zu blockieren. Die erste Anweisung gewährt Lesezugriff auf alle Pipelines. Die zweite Anweisung erteilt der Worker-Gruppe mit dem Namenspräfix "dev" oder "pre-prod" den Lese-/Schreibzugriff auf die Pipelines.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "datapipeline:Describe*", "datapipeline:ListPipelines", "datapipeline:GetPipelineDefinition", "datapipeline:QueryObjects" ], "Resource": "*" }, { "Action": "datapipeline:*", "Effect": "Allow", "Resource": "*", "Condition": { "StringLike": { "datapipeline:workerGroup": ["dev*","pre-prod*"] } } } ] }

Darüber hinaus fügt der Manager der Produktions-IAM-Gruppe die folgende Richtlinie hinzu, um Zugriff auf „Prodresource“ -Ressourcen zu gewähren. Die erste Anweisung gewährt Lesezugriff auf alle Pipelines. Die zweite Anweisung gewährt der Worker-Gruppe mit dem Namenspräfix "prod" den Lese-/Schreibzugriff.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "datapipeline:Describe*", "datapipeline:ListPipelines", "datapipeline:GetPipelineDefinition", "datapipeline:QueryObjects" ], "Resource": "*" }, { "Effect": "Allow", "Action": "datapipeline:*", "Resource": "*", "Condition": { "StringLike": {"datapipeline:workerGroup": "prodresource*"} } } ] }