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

AWS Data Pipeline ist für Neukunden nicht mehr verfügbar. Bestandskunden 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-Rollen für AWS Data Pipeline

AWS Data PipelineverwendetAWS Identity and Access Management Rollen. Die den IAM-Rollen zugeordneten Berechtigungsrichtlinien bestimmen, welche AktionenAWS Data Pipeline und Ihre Anwendungen ausführen können und auf welcheAWS Ressourcen sie zugreifen können. Weitere Informationen finden Sie unter IAM-Rollen im IAM-Benutzerhandbuch.

AWS Data Pipelineerfordert zwei IAM-Rollen:

  • Die Pipeline-Rolle steuertAWS Data Pipeline den Zugriff auf Ihre AWS-Ressourcen. In Pipeline-Objektdefinitionen gibt dasrole Feld diese Rolle an.

  • Die EC2-Instance-Rolle steuert den Zugriff, den Anwendungen, die auf EC2-Instances ausgeführt werden, einschließlich der EC2-Instances in Amazon EMR-Clustern, aufAWS Ressourcen haben. In Pipeline-Objektdefinitionen gibt dasresourceRole Feld diese Rolle an.

Wichtig

Wenn Sie vor dem 3. Oktober 2022 eine Pipeline mithilfe derAWS Data Pipeline Konsole mit StandardrollenAWS Data Pipeline erstellt haben, haben Sie dieDataPipelineDefaultRole für Sie erstellt und dieAWSDataPipelineRole verwaltete Richtlinie an die Rolle angehängt. Ab dem 3. Oktober 2022 ist dieAWSDataPipelineRole verwaltete Richtlinie veraltet und die Pipeline-Rolle muss für eine Pipeline angegeben werden, wenn Sie die Konsole verwenden.

Wir empfehlen Ihnen, die vorhandenen Pipelines zu überprüfen und festzustellen, ob die der Pipeline zugeordnetDataPipelineDefaultRoleAWSDataPipelineRole ist und ob sie dieser Rolle zugeordnet ist. Wenn ja, überprüfen Sie den Zugriff, den diese Richtlinie gewährt, um sicherzustellen, dass er Ihren Sicherheitsanforderungen entspricht. Fügen Sie die dieser Rolle zugeordneten Richtlinien und Richtlinienerklärungen nach Bedarf hinzu, aktualisieren Sie sie oder ersetzen Sie sie. Alternativ können Sie eine Pipeline aktualisieren, um eine Rolle zu verwenden, die Sie mit unterschiedlichen Berechtigungsrichtlinien erstellen.

Beispiel für Berechtigungsrichtlinien fürAWS Data Pipeline Rollen

Jeder Rolle sind eine oder mehrere Berechtigungsrichtlinien zugeordnet, die festlegen, auf welcheAWS Ressourcen die Rolle zugreifen kann, und welche Aktionen die Rolle ausführen kann. Dieses Thema enthält ein Beispiel für eine Berechtigungsrichtlinie für die Pipeline-Rolle. Es enthält auch den Inhalt vonAmazonEC2RoleforDataPipelineRole, der die verwaltete Richtlinie für die standardmäßige EC2-Instanzrolle istDataPipelineDefaultResourceRole.

Beispiel für eine Berechtigungsrichtlinie für -Rolle

Die folgende Beispielrichtlinie ist so konzipiert, dass sie grundlegende Funktionen zulässt, die den Betrieb einer Pipeline mit Amazon EC2- und Amazon EMR-RessourcenAWS Data Pipeline erfordern. Es bietet auch Berechtigungen für den Zugriff auf andereAWS Ressourcen wie Amazon Simple Storage Service und Amazon Simple Notification Service, die viele Pipelines benötigen. Wenn die in einer Pipeline definierten Objekte nicht die Ressourcen einesAWS Dienstes benötigen, wird dringend empfohlen, die Berechtigungen für den Zugriff auf diesen Dienst zu entfernen. Wenn Ihre Pipeline beispielsweise keineSnsAlarm Aktion definiertynamoDBDataD-Knoten oder verwendet, empfehlen wir, dass Sie die Erlaubungsanweisungen für diese Aktionen entfernen.

  • Ersetzen Sie 111122223333 durch Ihre AWS-Konto-ID.

  • Ersetzen SieNameOfDataPipelineRole durch den Namen der Pipeline-Rolle (die Rolle, an die diese Richtlinie angehängt ist).

  • Ersetzen SieNameOfDataPipelineResourceRole durch den Namen der EC2-Instanzrolle.

  • us-west-1Ersetzen Sie es durch die entsprechende Region für Ihre Anwendung.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:GetInstanceProfile", "iam:GetRole", "iam:GetRolePolicy", "iam:ListAttachedRolePolicies", "iam:ListRolePolicies", "iam:PassRole" ], "Resource": [ "arn:aws:iam::111122223333:role/NameOfDataPipelineRole", "arn:aws:iam::111122223333 :role/NameOfDataPipelineResourceRole" ] }, { "Effect": "Allow", "Action": [ "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:CancelSpotInstanceRequests", "ec2:CreateNetworkInterface", "ec2:CreateSecurityGroup", "ec2:CreateTags", "ec2:DeleteNetworkInterface", "ec2:DeleteSecurityGroup", "ec2:DeleteTags", "ec2:DescribeAvailabilityZones", "ec2:DescribeAccountAttributes", "ec2:DescribeDhcpOptions", "ec2:DescribeImages", "ec2:DescribeInstanceStatus", "ec2:DescribeInstances", "ec2:DescribeKeyPairs", "ec2:DescribeLaunchTemplates", "ec2:DescribeNetworkAcls", "ec2:DescribeNetworkInterfaces", "ec2:DescribePrefixLists", "ec2:DescribeRouteTables", "ec2:DescribeSecurityGroups", "ec2:DescribeSpotInstanceRequests", "ec2:DescribeSpotPriceHistory", "ec2:DescribeSubnets", "ec2:DescribeTags", "ec2:DescribeVpcAttribute", "ec2:DescribeVpcEndpoints", "ec2:DescribeVpcEndpointServices", "ec2:DescribeVpcs", "ec2:DetachNetworkInterface", "ec2:ModifyImageAttribute", "ec2:ModifyInstanceAttribute", "ec2:RequestSpotInstances", "ec2:RevokeSecurityGroupEgress", "ec2:RunInstances", "ec2:TerminateInstances", "ec2:DescribeVolumeStatus", "ec2:DescribeVolumes", "elasticmapreduce:TerminateJobFlows", "elasticmapreduce:ListSteps", "elasticmapreduce:ListClusters", "elasticmapreduce:RunJobFlow", "elasticmapreduce:DescribeCluster", "elasticmapreduce:AddTags", "elasticmapreduce:RemoveTags", "elasticmapreduce:ListInstanceGroups", "elasticmapreduce:ModifyInstanceGroups", "elasticmapreduce:GetCluster", "elasticmapreduce:DescribeStep", "elasticmapreduce:AddJobFlowSteps", "elasticmapreduce:ListInstances", "iam:ListInstanceProfiles", "redshift:DescribeClusters" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "sns:GetTopicAttributes", "sns:Publish" ], "Resource": [ "arn:aws:sns:us-west-1:111122223333:MyFirstSNSTopic", "arn:aws:sns:us-west-1:111122223333:MySecondSNSTopic", "arn:aws:sns:us-west-1:111122223333:AnotherSNSTopic" ] }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:ListMultipartUploads" ], "Resource": [ "arn:aws:s3:::MyStagingS3Bucket", "arn:aws:s3:::MyLogsS3Bucket", "arn:aws:s3:::MyInputS3Bucket", "arn:aws:s3:::MyOutputS3Bucket", "arn:aws:s3:::AnotherRequiredS3Buckets" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectMetadata", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::MyStagingS3Bucket/*", "arn:aws:s3:::MyLogsS3Bucket/*", "arn:aws:s3:::MyInputS3Bucket/*", "arn:aws:s3:::MyOutputS3Bucket/*", "arn:aws:s3:::AnotherRequiredS3Buckets/*" ] }, { "Effect": "Allow", "Action": [ "dynamodb:Scan", "dynamodb:DescribeTable" ], "Resource": [ "arn:aws:dynamodb:us-west-1:111122223333:table/MyFirstDynamoDBTable", "arn:aws:dynamodb:us-west-1:111122223333:table/MySecondDynamoDBTable", "arn:aws:dynamodb:us-west-1:111122223333:table/AnotherDynamoDBTable" ] }, { "Effect": "Allow", "Action": [ "rds:DescribeDBInstances" ], "Resource": [ "arn:aws:rds:us-west-1:111122223333:db:MyFirstRdsDb", "arn:aws:rds:us-west-1:111122223333:db:MySecondRdsDb", "arn:aws:rds:us-west-1:111122223333:db:AnotherRdsDb" ] } ] }

Verwaltete Standardrichtlinie für die EC2-Instanzrolle

Der Inhalt vonAmazonEC2RoleforDataPipelineRole wird nachstehend dargestellt. Dies ist die verwaltete Richtlinie, die der Standardressourcenrolle fürAWS Data Pipeline, zugeordnet istDataPipelineDefaultResourceRole. Wenn Sie eine Ressourcenrolle für Ihre Pipeline definieren, empfehlen wir, mit dieser Berechtigungsrichtlinie zu beginnen und dann die Berechtigungen fürAWS Serviceaktionen zu entfernen, die nicht erforderlich sind.

Version 3 der Richtlinie wird angezeigt, die zum Zeitpunkt der Erstellung dieses Artikels die neueste Version ist. Sehen Sie sich die neueste Version der Richtlinie mithilfe der IAM-Konsole an.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "cloudwatch:*", "datapipeline:*", "dynamodb:*", "ec2:Describe*", "elasticmapreduce:AddJobFlowSteps", "elasticmapreduce:Describe*", "elasticmapreduce:ListInstance*", "elasticmapreduce:ModifyInstanceGroups", "rds:Describe*", "redshift:DescribeClusters", "redshift:DescribeClusterSecurityGroups", "s3:*", "sdb:*", "sns:*", "sqs:*" ], "Resource": ["*"] }] }

IAM-Rollen für Rollenberechtigungen erstellenAWS Data Pipeline und bearbeiten

Gehen Sie wie folgt vor, um Rollen für dieAWS Data Pipeline Verwendung der IAM-Konsole zu erstellen. Der Prozess besteht aus zwei Schritten. Erstellen Sie zunächst eine Berechtigungsrichtlinie, die Sie der Rolle hinzufügen können. Als Nächstes erstellen Sie die Rolle und fügen Sie die Richtlinie an. Nachdem Sie eine Rolle erstellt haben, können Sie die Berechtigungen der Rolle ändern, indem Sie Berechtigungsrichtlinien anhängen und trennen.

Anmerkung

Wenn Sie Rollen für dieAWS Data Pipeline Verwendung der Konsole wie unten beschrieben erstellen, erstellt IAM die entsprechenden Vertrauensrichtlinien, die für die Rolle erforderlich sind, und fügt sie hinzu.

Um eine Berechtigungsrichtlinie zur Verwendung mit einer Rolle für zu erstellenAWS Data Pipeline
  1. Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

  2. Wählen Sie im Navigationsbereich Policies (Richtlinien) und dann Create policy (Richtlinie erstellen).

  3. Wählen Sie den Tab JSON.

  4. Wenn Sie eine Pipeline-Rolle erstellen, kopieren Sie den Inhalt des RichtlinienbeispielsBeispiel für eine Berechtigungsrichtlinie für -Rolle, fügen Sie ihn ein und bearbeiten Sie es entsprechend Ihren Sicherheitsanforderungen. Wenn Sie alternativ eine benutzerdefinierte EC2-Instanzrolle erstellen, tun Sie dasselbe für das Beispiel inVerwaltete Standardrichtlinie für die EC2-Instanzrolle.

  5. Wählen Sie Review policy (Richtlinie prüfen).

  6. Geben Sie einen Namen für die Richtlinie ein, z. B.,MyDataPipelineRolePolicy und eine optionale Beschreibung, und wählen Sie dann Richtlinie erstellen aus.

  7. Beachten Sie den Namen der Richtlinie. Sie benötigen ihn beim Erstellen Ihrer Rolle.

So erstellen Sie eine IAM-Rolle für AWS Data Pipeline
  1. Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

  2. Klicken Sie im Navigationsbereich Roles (Rollen) und wählen Sie dann Create role (Rolle erstellen) aus.

  3. Wählen Sie unter Wählen Sie einen Anwendungsfall die Option Data Pipeline aus.

  4. Führen Sie unter Select your use case (Wählen Sie Ihren Anwendungsfall aus) einen der folgenden Schritte aus:

    • Wählen SieData Pipeline, ob Sie eine Pipeline-Rolle erstellen möchten.

    • Wählen SieEC2 Role for Data Pipeline, ob Sie eine Ressourcenrolle erstellen möchten.

  5. Wählen Sie Next: Permissions (Weiter: Berechtigungen) aus.

  6. Wenn die Standardrichtlinie für aufgeführtAWS Data Pipeline ist, fahren Sie mit den folgenden Schritten fort, um die Rolle zu erstellen, und bearbeiten Sie sie dann gemäß den Anweisungen im nächsten Verfahren. Andernfalls geben Sie den Namen der Richtlinie ein, die Sie im obigen Verfahren erstellt haben, und wählen Sie sie dann aus der Liste aus.

  7. Wählen Sie Weiter: Schlagworte, geben Sie alle Tags ein, die Sie der Rolle hinzufügen möchten, und wählen Sie dann Weiter: Überprüfen.

  8. Geben Sie beispielsweise einen Namen für die RolleMyDataPipelineRole und eine optionale Beschreibung ein, und wählen Sie dann Rolle erstellen.

Um eine Berechtigungsrichtlinie für eine IAM-Rolle anzuhängen oder zu trennen fürAWS Data Pipeline
  1. Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

  2. Wählen Sie im Navigationsbereich Roles aus

  3. Geben Sie im Suchfeld den Namen der Rolle ein, die Sie bearbeiten möchten, z. B. DataPipelineDefaultRoleoder, und wählen MyDataPipelineRoleSie dann den Rollennamen aus der Liste aus.

  4. Gehen Sie auf der Registerkarte Berechtigungen wie folgt vor:

    • Um eine Berechtigungsrichtlinie zu trennen, klicken Sie unter Berechtigungsrichtlinien auf die Schaltfläche Entfernen ganz rechts neben dem Richtlinieneintrag. Wählen Sie Trennen, wenn Sie zur Bestätigung aufgefordert werden.

    • Um eine Richtlinie anzuhängen, die Sie zuvor erstellt haben, wählen Sie Richtlinien anhängen. Geben Sie im Suchfeld den Namen der Richtlinie ein, die Sie ändern möchten, wählen Sie sie aus der Liste aus und wählen Sie dann Attach policy aus.

Rollen für eine bestehende Pipeline ändern

Wenn Sie einer Pipeline eine andere Pipeline-Rolle oder Ressourcenrolle zuweisen möchten, können Sie den Architect-Editor in derAWS Data Pipeline Konsole verwenden.

So bearbeiten Sie die einer Pipeline zugewiesenen Rollen mithilfe der Konsole
  1. Öffnen Sie dieAWS Data Pipeline Konsole unter https://console.aws.amazon.com/datapipeline/.

  2. Wählen Sie die Pipeline aus der Liste aus, und wählen Sie dann Aktionen, Bearbeiten.

  3. Wählen Sie im rechten Bereich des Architekten-Editors die Option Andere aus.

  4. Wählen Sie in den Listen Ressourcenrolle und Rolle die Rollen aus,AWS Data Pipeline denen Sie zuweisen möchten, und klicken Sie dann auf Speichern.