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
. AWS Management Console にサインインして、 https://console.aws.amazon.com/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
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.
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.