Verwenden serviceverknüpfter Rollen für Amazon Redshift - Amazon Redshift

Verwenden serviceverknüpfter Rollen für Amazon Redshift

Amazon Redshift verwendet mit dem AWS Identity and Access Management (IAM)-Service verknüpfte Rollen. Eine serviceverknüpfte Rolle ist ein spezieller Typ von IAM-Rolle, der direkt mit Amazon Redshift verknüpft ist. Serviceverknüpfte Rollen sind von Amazon Redshift vordefiniert und schließen alle Berechtigungen ein, die der Service zum Aufrufen von AWS-Services im Namen Ihres Amazon-Redshift-Clusters benötigt.

Eine serviceverknüpfte Rolle macht die Einrichtung von Amazon Redshift einfacher, da Sie die erforderlichen Berechtigungen nicht manuell hinzufügen müssen. Die Rolle ist mit Amazon-Redshift-Anwendungsfällen verknüpft und verfügt über vordefinierte Berechtigungen. Nur Amazon Redshift kann diese Rolle übernehmen und nur die serviceverknüpfte Rolle kann die vordefinierte Berechtigungsrichtlinie nutzen. Amazon Redshift erstellt eine serviceverknüpfte Rolle in Ihrem Konto, wenn Sie zum ersten Mal einen Cluster erstellen. Sie können die serviceverknüpfte Rolle erst löschen, nachdem Sie alle Amazon-Redshift-Cluster in Ihrem Konto gelöscht haben. Dies schützt Ihre Amazon Redshift-Ressourcen, da Sie nicht versehentlich die Berechtigungen für den Zugriff auf die Ressourcen entfernen können.

Amazon Redshift unterstützt die Verwendung serviceverknüpfter Rollen in allen Regionen, in denen der Service verfügbar ist. Weitere Informationen finden Sie unter AWSRegionen und Endpunkte.

Informationen zu anderen Services, die serviceverknüpfte Rollen unterstützen, finden Sie unter AWS-Services, die mit IAM funktionieren. Suchen Sie nach den Services, für die Ja in der Spalte Serviceverknüpfte Rolle angegeben ist. Wählen Sie über einen Link Ja aus, um die Dokumentation zu einer servicegebundenen Rolle für diesen Service anzuzeigen.

Berechtigungen für serviceverknüpfte Rollen für Amazon Redshift

Amazon Redshift verwendet die serviceverknüpfte Rolle AWSServiceRoleForRedshift – ermöglicht Amazon Redshift das Aufrufen von AWS-Services in Ihrem Namen. Diese verwaltete Richtlinie ist mit der folgenden serviceverknüpften Rolle verbunden: AmazonRedshiftServiceLinkedRolePolicy. Aktualisierungen dieser Richtlinie finden Sie unter Von AWS verwaltete (vordefinierte) Richtlinien für Amazon Redshift.

Die serviceverknüpfte Rolle AWSServiceRoleForRedshift vertraut nur redshift.amazonaws.com, die Rolle zu übernehmen.

Die Berechtigungsrichtlinie der serviceverknüpften Rolle AWSServiceRoleForRedshift ermöglicht Amazon Redshift, für alle verwandten Ressourcen Folgendes durchzuführen:

  • ec2:DescribeVpcs

  • ec2:DescribeSubnets

  • ec2:DescribeNetworkInterfaces

  • ec2:DescribeAddress

  • ec2:AssociateAddress

  • ec2:DisassociateAddress

  • ec2:CreateNetworkInterface

  • ec2:DeleteNetworkInterface

  • ec2:ModifyNetworkInterfaceAttribute

  • ec2:CreateVpcEndpoint

  • ec2:DeleteVpcEndpoints

  • ec2:DescribeVpcEndpoints

  • ec2:ModifyVpcEndpoint

  • ec2:DescribeVpcAttribute

  • ec2:DescribeSecurityGroups

  • ec2:DescribeInternetGateways

  • ec2:DescribeSecurityGroupRules

  • ec2:DescribeAvailabilityZones

  • ec2:DescribeNetworkAcls

  • ec2:DescribeRouteTables

Berechtigungen für Netzwerk- und VPC-Ressourcen

Die folgenden Berechtigungen ermöglichen Aktionen auf Amazon EC2 zur Erstellung und Verwaltung von Netzwerk- und Virtual-Private-Cloud-Ressourcen. Diese sind spezifisch mit dem Ressourcen-Tag Purpose:RedshiftMigrateToVpc assoziiert. Dies beschränkt den Umfang der Berechtigungen für bestimmte Amazon EC2 Classic auf Amazon-EC2-VPC-Migrationsaufgaben. Weitere Informationen über Ressourcen-Tags finden Sie unter Steuern des Zugriffs auf AWS-Ressourcen mithilfe von Ressourcen-Tags.

  • ec2:AuthorizeSecurityGroupEgress

  • ec2:AuthorizeSecurityGroupIngress

  • ec2:UpdateSecurityGroupRuleDescriptionsEgress

  • ec2:ReplaceRouteTableAssociation

  • ec2:CreateRouteTable

  • ec2:AttachInternetGateway

  • ec2:UpdateSecurityGroupRuleDescriptionsIngress

  • ec2:AssociateRouteTable

  • ec2:RevokeSecurityGroupIngress

  • ec2:CreateRoute

  • ec2:CreateSecurityGroup

  • ec2:RevokeSecurityGroupEgress

  • ec2:ModifyVpcAttribute

  • ec2:CreateSubnet

  • ec2:CreateInternetGateway

  • ec2:CreateVpc

Weitere Informationen zu Aktionen und Ressourcen in Amazon EC2 finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für Amazon EC2.

Aktionen für die Prüfungsprotokollierung

Aktionen mit dem Präfix logs hängen mit der Audit-Protokollierung und verwandten Funktionen zusammen, insbesondere der Erstellung und Verwaltung von Protokollgruppen und Protokollstreams.

  • logs:CreateLogGroup

  • logs:PutRetentionPolicy

  • logs:CreateLogStream

  • logs:PutLogEvents

  • logs:DescribeLogStreams

  • logs:GetLogEvents

Der folgende JSON-Code zeigt Aktionen und Ressourcenumfang für Amazon Redshift für die Audit-Protokollierung.

[ { "Sid": "EnableCreationAndManagementOfRedshiftCloudwatchLogGroups", "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:PutRetentionPolicy" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws/redshift/*" ] }, { "Sid": "EnableCreationAndManagementOfRedshiftCloudwatchLogStreams", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams", "logs:GetLogEvents" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws/redshift/*:log-stream:*" ] } ]

Weitere Informationen zur Verwendung von serviceverknüpften Rollen und deren Zweck in AWS finden Sie unter Verwenden serviceverknüpfter Rollen. Weitere Informationen zu bestimmten Aktionen und anderen IAM-Ressourcen für Amazon Redshift finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für Amazon Redshift.

Einer IAM-Entität das Erstellen von serviceverknüpften AWSServiceRoleForRedshift-Rollen erlauben

{ "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "arn:aws:iam::<AWS-account-ID>:role/aws-service-role/redshift.amazonaws.com/AWSServiceRoleForRedshift", "Condition": {"StringLike": {"iam:AWSServiceName": "redshift.amazonaws.com"}} }

Einer IAM-Entität das Löschen von serviceverknüpften AWSServiceRoleForRedshift-Rollen erlauben

Die folgende Berechtigungsanweisung zu den Berechtigungen für diese IAM-Entität hinzufügen:

{ "Effect": "Allow", "Action": [ "iam:DeleteServiceLinkedRole", "iam:GetServiceLinkedRoleDeletionStatus" ], "Resource": "arn:aws:iam::<AWS-account-ID>:role/aws-service-role/redshift.amazonaws.com/AWSServiceRoleForRedshift", "Condition": {"StringLike": {"iam:AWSServiceName": "redshift.amazonaws.com"}} }

Alternativ können Sie eine von AWS verwaltete Richtlinie verwenden, um vollständigen Zugriff auf Amazon Redshift zu gewähren.

Erstellen einer serviceverknüpften Rolle für Amazon Redshift

Sie müssen die serviceverknüpfte Rolle AWSServiceRoleForRedshift nicht manuell erstellen. Amazon Redshift erstellt die serviceverknüpfte Rolle für Sie. Wenn die serviceverknüpfte Rolle AWSServiceRoleForRedshift aus Ihrem Konto gelöscht wurde, erstellt Amazon Redshift die Rolle, wenn Sie einen neuen Amazon-Redshift-Cluster starten.

Wichtig

Wenn Sie den Amazon-Redshift-Service bereits vor dem 18. September 2017 verwendet haben, dem Datum, ab dem serviceverknüpfte Rollen unterstützt werden, hat Amazon Redshift die Rolle AWSServiceRoleForRedshift in Ihrem Konto erstellt. Weitere Informationen finden Sie unter In meinem IAM-Konto wird eine neue Rolle angezeigt.

Bearbeiten einer serviceverknüpften Rolle für Amazon Redshift

Amazon Redshift erlaubt Ihnen nicht, die serviceverknüpfte Rolle AWSServiceRoleForRedshift zu bearbeiten. Nachdem Sie eine serviceverknüpfte Rolle erstellt haben, können Sie den Namen der Rolle nicht mehr ändern, da verschiedene Entitäten auf die Rolle verweisen könnten. Sie können jedoch die Beschreibung der Rolle mit der IAM-Konsole, der AWS Command Line Interface (AWS CLI) oder der IAM API bearbeiten. Weitere Informationen finden Sie unter Ändern einer Rolle im IAM-Benutzerhandbuch.

Löschen einer serviceverknüpften Rolle für Amazon Redshift

Wenn Sie eine Funktion oder einen Service, die bzw. der eine serviceverknüpfte Rolle erfordert, nicht mehr benötigen, sollten Sie diese Rolle löschen. Auf diese Weise haben Sie keine ungenutzte Entität, die nicht aktiv überwacht oder verwaltet wird.

Bevor Sie die serviceverknüpfte Rolle aus einem Konto löschen können, müssen Sie alle entsprechenden Cluster Ihres Kontos deaktivieren und aus Ihrem Konto löschen. Weitere Informationen finden Sie unter Schließen und Löschen von Clustern.

Sie können die IAM-Konsole, die AWS CLI oder die IAM-API verwenden, um eine serviceverknüpfte Rolle zu löschen. Weitere Informationen finden Sie unter Löschen einer serviceverknüpften Rolle im IAM-Benutzerhandbuch.