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

Amazon Redshift wird UDFs ab dem 1. November 2025 die Erstellung von neuem Python nicht mehr unterstützen. Wenn Sie Python verwenden möchten UDFs, erstellen Sie das UDFs vor diesem Datum liegende. Bestehendes Python UDFs wird weiterhin wie gewohnt funktionieren. Weitere Informationen finden Sie im Blogbeitrag.

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.

Verwenden serviceverknüpfter Rollen für Amazon Redshift

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

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 oder einen von Redshift verwalteten VPC-Endpunkt erstellen. Sie können die serviceverknüpfte Rolle erst löschen, nachdem Sie alle Amazon Redshift-Cluster oder von Redshift verwalteten VPC-Endpoints 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 AWS Regionen 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 mit dem Namen AWSServiceRoleForRedshift— Erlaubt Amazon Redshift, AWS Dienste in Ihrem Namen aufzurufen. 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 AWSService RoleForRedshift serviceverknüpfte Rolle vertraut nur redshift.amazonaws.com darauf, die Rolle zu übernehmen.

Die Richtlinie für AWSService RoleForRedshift servicebezogene Rollenberechtigungen ermöglicht es Amazon Redshift, Folgendes für alle zugehörigen Ressourcen 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

  • ec2:AssignIpv6Addresses

  • ec2:UnassignIpv6Addresses

Berechtigungen für Netzwerkressourcen

Die folgenden Berechtigungen ermöglichen Aktionen auf Amazon EC2 zur Erstellung und Verwaltung von Sicherheitsgruppenregeln. Diese Sicherheitsgruppen und Regeln sind speziell dem Amazon-Redshift-Ressourcen-Tag aws:RequestTag/Redshift zugeordnet. Dies beschränkt den Geltungsbereich der Berechtigungen auf bestimmte Amazon-Redshift-Ressourcen.

  • ec2:CreateSecurityGroup

  • ec2:AuthorizeSecurityGroupEgress

  • ec2:AuthorizeSecurityGroupIngress

  • ec2:RevokeSecurityGroupEgress

  • ec2:RevokeSecurityGroupIngress

  • ec2:ModifySecurityGroupRules

  • ec2:DeleteSecurityGroup

Berechtigungen für Servicekontingenten

Die folgenden Berechtigungen ermöglichen es dem Anrufer, Dienstkontingente abzurufen.

servicequotas:GetServiceQuota

Das folgende JSON-Fragment zeigt die Aktionen und den Ressourcenumfang für Servicekontingenten.

{ "Sid": "ServiceQuotasToCheckCustomerLimits", "Effect": "Allow", "Action": [ "servicequotas:GetServiceQuota" ], "Resource": [ "arn:aws:servicequotas:*:*:ec2/L-0263D0A3", "arn:aws:servicequotas:*:*:vpc/L-29B6F2EB" ] }

Die Kontingentcodes lauten wie folgt:

  • L-0263D0A3 — Der Quotencode für VPC Elastic. EC2 IPs

  • L-29B6F2EB — Der Kontingentcode für Schnittstellen-VPC-Endpunkte pro VPC.

Weitere Informationen finden Sie unter AWS -Servicekontingente.

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 zu dienstverknüpften Rollen und ihrem Zweck finden Sie unter Verwenden von dienstbezogenen Rollen. AWS 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.

Aktionen zur Verwaltung von Administratoranmeldedaten mit AWS Secrets Manager

Aktionen mit dem Präfix secretsmanager sind für die Verwendung von Amazon Redshift zur Verwaltung von Administratoranmeldeinformationen relevant. Mit diesen Aktionen kann Amazon Redshift Ihre geheimen AWS Secrets Manager Administratoranmeldedaten erstellen und verwalten.

Die folgende JSON-Datei zeigt Aktionen und den Ressourcenbereich für Amazon Redshift für die Verwaltung von Administratoranmeldedaten. AWS Secrets Manager

[ { "Effect": "Allow", "Action": [ "secretsmanager:DescribeSecret", "secretsmanager:DeleteSecret", "secretsmanager:PutSecretValue", "secretsmanager:UpdateSecret", "secretsmanager:UpdateSecretVersionStage", "secretsmanager:RotateSecret" ], "Resource": [ "arn:aws:secretsmanager:*:*:secret:redshift!*" ], "Condition": { "StringEquals": { "secretsmanager:ResourceTag/aws:secretsmanager:owningService": "redshift" } } }, { "Effect": "Allow", "Action": [ "secretsmanager:GetRandomPassword" ], "Resource": "*" } ]

Aktionen für die Registrierung von Clustern und serverlosen Namespaces im AWS Glue Data Catalog

Die mit dem glue Präfix aufgeführten Aktionen beziehen sich auf den Zugriff auf Kataloge in den durch die Registrierung bereitgestellter Cluster oder serverloser AWS Glue Data Catalog Namespaces erstellten. Weitere Informationen finden Sie unter Apache Iceberg-Kompatibilität für Amazon Redshift im Amazon Redshift Database Developer Guide.

Die folgende JSON-Datei zeigt Aktionen und den Ressourcenumfang für Amazon Redshift für den Zugriff auf Kataloge in: AWS Glue Data Catalog

[ { "Sid": "DiscoverRedshiftCatalogs", "Effect": "Allow", "Action": [ "glue:GetCatalogs", "glue:GetCatalog" ], "Resource": [ "arn:aws:glue:*:*:catalog", "arn:aws:glue:*:*:catalog/*" ], "Condition": { "Bool": { "glue:EnabledForRedshiftAutoDiscovery": "true" }, "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } }, { "Sid": "LakeFormationGetMetadataAccessForFederatedCatalogs", "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess" ], "Resource": [ "*" ], "Condition": { "Bool": { "lakeformation:EnabledOnlyForMetaDataAccess":"true" }, "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" }, "ForAnyValue:StringEquals": { "aws:CalledVia": "glue.amazonaws.com" } } } } ]

Die glue:GetCatalogs Berechtigungen glue:GetCatalog und haben die Bedingungglue:EnabledForRedshiftAutoDiscovery:true, was bedeutet, dass Amazon Redshift IAM-Zugriff für die automatische Erkennung von Katalogen gewährt. Um sich abzumelden, fügen Sie eine Ressourcenrichtlinie AWS Glue auf Kontoebene hinzu, um selektiv den Zugriff auf die Kataloge mit servicebezogenen Rollen zu verweigern. Da für die serviceverknüpfte Rolle in der Richtlinie bereits eine ausdrückliche Aktion zum Zulassen vorgesehen ist, muss diese Aktion in der Opt-Out-Richtlinie ausdrücklich verweigert werden. Stellen Sie sich das folgende Beispiel vor, in dem eine zusätzliche Richtlinie die auto Erkennung für Amazon Redshift verweigert:

JSON
{ "Version" : "2012-10-17", "Statement" : { "Effect": "Deny", "Action": [ "glue:GetCatalog", "glue:GetCatalogs" ], "Principal" : { "AWS" : "arn:aws:iam::*:role/aws-service-role/redshift.amazonaws.com/AWSServiceRoleForRedshift" }, "Resource": [ "arn:aws:glue:*:*:catalog/<s3_table_catalog_name>", "arn:aws:glue:*:*:catalog/<s3_table_catalog_name>/*" ] } }

Um es einer IAM-Entität zu ermöglichen, serviceverknüpfte Rollen zu erstellen AWSService RoleForRedshift

{ "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"}} }

Um einer IAM-Entität das Löschen von dienstbezogenen Rollen zu ermöglichen AWSService RoleForRedshift

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 AWS verwaltete Richtlinie verwenden, um vollen Zugriff auf Amazon Redshift zu gewähren.

Erstellen einer serviceverknüpften Rolle für Amazon Redshift

Sie müssen keine Rolle, die mit einem AWSService RoleForRedshift Service verknüpft ist, manuell erstellen. Amazon Redshift erstellt die serviceverknüpfte Rolle für Sie. Wenn die AWSService RoleForRedshift serviceverknüpfte Rolle aus Ihrem Konto gelöscht wurde, erstellt Amazon Redshift die Rolle, wenn Sie einen neuen Amazon Redshift Redshift-Cluster starten.

Wichtig

Wenn Sie den Amazon Redshift-Service vor dem 18. September 2017 genutzt haben, als er begann, serviceverknüpfte Rollen zu unterstützen, hat Amazon Redshift die AWSService RoleForRedshift Rolle 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 es Ihnen nicht, die AWSService RoleForRedshift serviceverknüpfte Rolle 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 die Beschreibung der Rolle jedoch mithilfe 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 Einen Cluster herunterfahren und löschen.

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