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 identitätsbasierter Richtlinien (IAM-Richtlinien) für Amazon Redshift
In diesem Thema finden Sie Beispiele für identitätsbasierte Richtlinien, in denen ein Kontoadministrator den IAM-Identitäten (Benutzer, Gruppen und Rollen) Berechtigungsrichtlinien anfügen kann.
Wichtig
Wir empfehlen Ihnen, zunächst die einführenden Themen zu lesen, in denen die Grundkonzepte und die für Sie verfügbaren Optionen zum Verwalten des Zugriffs auf Ihre Amazon-Redshift-Ressourcen erläutert werden. Weitere Informationen finden Sie unter Übersicht zur Verwaltung der Zugriffsberechtigungen für Amazon-Redshift-Ressourcen.
Dies ist ein Beispiel für eine Berechtigungsrichtlinie. Die Richtlinie ermöglicht es einem Benutzer, alle Cluster zu erstellen, zu löschen, zu ändern und neu zu starten, und verweigert dann die Erlaubnis, alle Cluster zu löschen oder zu ändern, deren Cluster-ID mit production
in AWS-Region us-west-2
und beginnt. AWS-Konto
123456789012
{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowClusterManagement", "Action": [ "redshift:CreateCluster", "redshift:DeleteCluster", "redshift:ModifyCluster", "redshift:RebootCluster" ], "Resource": [ "*" ], "Effect": "Allow" }, { "Sid":"DenyDeleteModifyProtected", "Action": [ "redshift:DeleteCluster", "redshift:ModifyCluster" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:cluster:production*" ], "Effect": "Deny" } ] }
Die Richtlinie enthält zwei Anweisungen:
-
Die erste Anweisung gibt einem Benutzer die Berechtigung zum Erstellen, Löschen, Modifizieren und erneuten Starten von Clustern. Die Anweisung gibt ein Platzhalterzeichen (*) als
Resource
Wert an, sodass die Richtlinie für alle Amazon Redshift Redshift-Ressourcen gilt, die dem AWS Root-Konto gehören. -
Die zweite Anweisung verweigert die Berechtigung zum Löschen oder Modifizieren eines Clusters. Die Anweisung gibt einen Cluster-ARN (Amazon-Ressourcenname) für den
Resource
-Wert an, der ein Platzhalterzeichen (*) enthält. Daher gilt diese Aussage für alle Amazon Redshift Redshift-Cluster, die dem AWS Root-Konto gehören, mitproduction
dem die Cluster-ID beginnt.
AWS verwaltete Richtlinien für Amazon Redshift
AWS adressiert viele gängige Anwendungsfälle durch die Bereitstellung eigenständiger IAM-Richtlinien, die von erstellt und verwaltet werden. AWS Die verwalteten Richtlinien erteilen die erforderlichen Berechtigungen für viele häufige Anwendungsfälle, sodass Sie nicht mühsam ermitteln müssen, welche Berechtigungen erforderlich sind. Weitere Informationen finden Sie unter Von AWS verwaltete Richtlinien im IAM-Benutzerhandbuch.
Sie können auch Ihre eigenen benutzerdefinierten IAM-Richtlinien erstellen, um Berechtigungen für Amazon-Redshift-API-Operationen und -Ressourcen zu gewähren. Die benutzerdefinierten Richtlinien können Sie dann den IAM-Rollen oder -Gruppen zuweisen, die diese Berechtigungen benötigen.
In den folgenden Abschnitten AWS werden verwaltete Richtlinien beschrieben, die Sie Benutzern in Ihrem Konto zuordnen können und die speziell für Amazon Redshift gelten.
AmazonRedshiftReadOnlyAccess
Gewährt schreibgeschützten Zugriff auf alle Amazon Redshift Redshift-Ressourcen für ein Konto. AWS
Sie finden die AmazonRedshiftReadOnlyAccess
AmazonRedshiftFullAccess
Gewährt vollen Zugriff auf alle Amazon Redshift Redshift-Ressourcen für ein AWS Konto. Darüber hinaus gewährt diese Richtlinie vollen Zugriff auf alle Ressourcen von Amazon Redshift Serverless.
Sie finden die AmazonRedshiftFullAccess
AmazonRedshiftQueryEditor
Gewährt vollständigen Zugriff auf den Abfrage-Editor in der Amazon-Redshift-Konsole.
Sie finden die AmazonRedshiftQueryEditor
AmazonRedshiftDataFullAccess
Gewährt vollen Zugriff auf die Amazon Redshift Data API-Operationen und Ressourcen für ein AWS Konto.
Sie finden die AmazonRedshiftDataFullAccess
AmazonRedshiftQueryEditorV2FullAccess
Gewährt vollen Zugriff auf die Vorgänge und Ressourcen des Amazon-Redshift-Abfrage-Editors v2. Diese Richtlinie gewährt außerdem Zugriff auf andere erforderliche Dienste.
Sie finden die AmazonRedshiftQueryEditorFullAccessV2-Richtlinie
AmazonRedshiftQueryEditorV2NoSharing
Ermöglicht es, mit dem Amazon-Redshift-Abfrage-Editor v2 zu arbeiten, ohne Ressourcen zu teilen. Diese Richtlinie gewährt außerdem Zugriff auf andere erforderliche Dienste. Der Prinzipal, der diese Richtlinie verwendet, kann seine Ressourcen (z. B. Abfragen) nicht markieren, um sie mit anderen Prinzipalen im selben AWS-Konto zu teilen.
Sie finden die AmazonRedshiftQueryEditorNoSharingV2-Richtlinie
AmazonRedshiftQueryEditorV2ReadSharing
Ermöglicht die eingeschränkte Freigabe von Ressourcen bei der Arbeit mit dem Amazon-Redshift-Abfrage-Editor v2. Diese Richtlinie gewährt außerdem Zugriff auf andere erforderliche Dienste. Der Prinzipal, der diese Richtlinie verwendet, kann seine Ressourcen (z. B. Abfragen) markieren, um sie mit anderen Prinzipalen im selben AWS-Konto zu teilen. Der Prinzipal mit der entsprechenden Berechtigung kann die mit seinem Team geteilten Ressourcen lesen, kann sie jedoch nicht ändern.
Sie finden die AmazonRedshiftQueryEditorReadSharingV2-Richtlinie
AmazonRedshiftQueryEditorV2ReadWriteSharing
Ermöglicht die Freigabe von Ressourcen bei der Arbeit mit dem Amazon-Redshift-Abfrage-Editor v2. Diese Richtlinie gewährt außerdem Zugriff auf andere erforderliche Dienste. Der Prinzipal, der diese Richtlinie verwendet, kann seine Ressourcen (z. B. Abfragen) markieren, um sie mit anderen Prinzipalen im selben AWS-Konto zu teilen. Der Prinzipal mit den entsprechenden Berechtigungen kann die mit seinem Team geteilten Ressourcen lesen und bearbeiten.
Sie finden die AmazonRedshiftQueryEditorReadWriteSharingV2-Richtlinie
AmazonRedshiftServiceLinkedRolePolicy
Sie können keine Verbindungen AmazonRedshiftServiceLinkedRolePolicy zu Ihren IAM-Entitäten herstellen. Diese Richtlinie ist an eine dienstgebundene Rolle angehängt, mit der Amazon Redshift auf Kontoressourcen zugreifen kann. Weitere Informationen finden Sie unter Verwenden von serviceverknüpften Rollen für Amazon Redshift.
Sie finden die AmazonRedshiftServiceLinkedRolePolicy
AmazonRedshiftAllCommandsFullAccess
Erlaubt es, die IAM-Rolle zu verwenden, die in der Amazon-Redshift-Konsole erstellt wurde, und legt sie als Standard fest, damit der Cluster die Befehle COPY von Amazon S3 sowie UNLOAD, CREATE EXTERNAL SCHEMA, CREATE EXTERNAL FUNCTION und CREATE MODEL ausführt. Die Richtlinie gewährt auch Berechtigungen zur Ausführung von SELECT-Anweisungen für verwandte Dienste wie Amazon S3, CloudWatch Logs, Amazon SageMaker AI oder AWS Glue.
Sie finden die AmazonRedshiftAllCommandsFullAccess
Sie können auch Ihre eigenen benutzerdefinierten IAM-Richtlinien erstellen, um Berechtigungen für Amazon-Redshift-API-Operationen und -Ressourcen zu gewähren. Die benutzerdefinierten Richtlinien können Sie dann den IAM-Rollen oder -Gruppen zuweisen, die diese Berechtigungen benötigen.
Amazon Redshift Redshift-Updates für AWS verwaltete Richtlinien
Sehen Sie sich Details zu Aktualisierungen der AWS verwalteten Richtlinien für Amazon Redshift an, seit dieser Service begonnen hat, diese Änderungen zu verfolgen. Um automatische Warnungen über Änderungen an dieser Seite zu erhalten, abonnieren Sie den RSS-Feed auf der Amazon-Redshift-Seite „Document history“ (Dokumentverlauf).
Änderung | Beschreibung | Datum |
---|---|---|
AmazonRedshiftServiceLinkedRolePolicy – Aktualisierung auf eine bestehende Richtlinie |
Die Berechtigung für die Aktionen |
3. Dezember 2024 |
AmazonRedshiftServiceLinkedRolePolicy – Aktualisierung auf eine bestehende Richtlinie |
Die Berechtigung für die Aktion |
8. März 2024 |
AmazonRedshiftQueryEditorV2FullAccess – Aktualisierung auf eine bestehende Richtlinie |
Die Berechtigung für die Aktionen |
21. Februar 2024 |
AmazonRedshiftQueryEditorV2NoSharing – Aktualisierung auf eine bestehende Richtlinie |
Die Berechtigung für die Aktionen |
21. Februar 2024 |
AmazonRedshiftQueryEditorV2ReadSharing – Aktualisierung auf eine bestehende Richtlinie |
Die Berechtigung für die Aktionen |
21. Februar 2024 |
AmazonRedshiftQueryEditorV2ReadWriteSharing – Aktualisierung auf eine bestehende Richtlinie |
Die Berechtigung für die Aktionen |
21. Februar 2024 |
AmazonRedshiftReadOnlyAccess – Aktualisierung auf eine bestehende Richtlinie |
Die Berechtigung für die Aktion |
7. Februar 2024 |
AmazonRedshiftServiceLinkedRolePolicy – Aktualisierung auf eine bestehende Richtlinie |
Die Berechtigung für die Aktionen |
31. Oktober 2023 |
AmazonRedshiftQueryEditorV2NoSharing – Aktualisierung auf eine bestehende Richtlinie |
Die Berechtigung für die Aktionen |
16. August 2023 |
AmazonRedshiftQueryEditorV2ReadSharing – Aktualisierung auf eine bestehende Richtlinie |
Die Berechtigung für die Aktionen |
16. August 2023 |
AmazonRedshiftQueryEditorV2ReadWriteSharing – Aktualisierung auf eine bestehende Richtlinie |
Die Berechtigung für die Aktionen |
16. August 2023 |
AmazonRedshiftServiceLinkedRolePolicy – Aktualisierung auf eine bestehende Richtlinie |
Der verwalteten Richtlinie werden Berechtigungen für Aktionen AWS Secrets Manager zur Erstellung und Verwaltung von Geheimnissen hinzugefügt. Es wurden folgende Berechtigungen hinzugefügt:
|
14. August 2023 |
AmazonRedshiftServiceLinkedRolePolicy – Aktualisierung auf eine bestehende Richtlinie |
Berechtigungen für Aktionen bei Amazon EC2 zum Erstellen und Verwalten von Sicherheitsgruppen und Routing-Regeln werden aus der verwalteten Richtlinie entfernt. Diese Berechtigungen betrafen das Erstellen von Subnetzen und. VPCs Es wurden folgende Berechtigungen entfernt:
|
8. Mai 2023 |
AmazonRedshiftDataFullAccess – Aktualisierung auf eine bestehende Richtlinie |
Die Berechtigung für die Aktion |
07. April 2023 |
AmazonRedshiftServiceLinkedRolePolicy – Aktualisierung auf eine bestehende Richtlinie |
Berechtigungen für die Aktionen auf Amazon EC2 zur Erstellung und Verwaltung von Sicherheitsgruppenregeln werden der verwalteten Richtlinie hinzugefügt. Diese Sicherheitsgruppen und Regeln sind speziell dem Amazon-Redshift-Ressourcen-Tag |
06. April 2023 |
AmazonRedshiftQueryEditorV2NoSharing – Aktualisierung auf eine bestehende Richtlinie |
Die Berechtigung für die Aktion |
21. März 2023 |
AmazonRedshiftQueryEditorV2ReadSharing – Aktualisierung auf eine bestehende Richtlinie |
Die Berechtigung für die Aktion |
21. März 2023 |
AmazonRedshiftQueryEditorV2ReadWriteSharing – Aktualisierung auf eine bestehende Richtlinie |
Die Berechtigung für die Aktion |
21. März 2023 |
AmazonRedshiftQueryEditorV2NoSharing – Aktualisierung auf eine bestehende Richtlinie |
Die Berechtigung für die Aktion |
2. Februar 2023 |
AmazonRedshiftQueryEditorV2ReadSharing – Aktualisierung auf eine bestehende Richtlinie |
Die Berechtigung für die Aktion |
2. Februar 2023 |
AmazonRedshiftQueryEditorV2ReadWriteSharing – Aktualisierung auf eine bestehende Richtlinie |
Die Berechtigung für die Aktion |
2. Februar 2023 |
AmazonRedshiftQueryEditorV2NoSharing – Aktualisierung auf eine bestehende Richtlinie |
Um die Berechtigung zur Verwendung von Notebooks zu gewähren, hat Amazon Redshift die Berechtigung für die folgenden Aktionen hinzugefügt:
|
17. Oktober 2022 |
AmazonRedshiftQueryEditorV2ReadSharing – Aktualisierung auf eine bestehende Richtlinie |
Um die Berechtigung zur Verwendung von Notebooks zu gewähren, hat Amazon Redshift die Berechtigung für die folgenden Aktionen hinzugefügt:
|
17. Oktober 2022 |
AmazonRedshiftQueryEditorV2ReadWriteSharing – Aktualisierung auf eine bestehende Richtlinie |
Um die Berechtigung zur Verwendung von Notebooks zu gewähren, hat Amazon Redshift die Berechtigung für die folgenden Aktionen hinzugefügt:
|
17. Oktober 2022 |
AmazonRedshiftServiceLinkedRolePolicy – Aktualisierung auf eine bestehende Richtlinie |
Amazon Redshift hat den Namespace |
7. September 2022 |
AmazonRedshiftQueryEditorV2NoSharing – Aktualisierung auf eine bestehende Richtlinie |
Amazon Redshift hat den Aktionen |
30. August 2022 |
AmazonRedshiftQueryEditorV2ReadSharing – Aktualisierung auf eine bestehende Richtlinie |
Amazon Redshift hat den Aktionen |
30. August 2022 |
AmazonRedshiftQueryEditorV2ReadWriteSharing – Aktualisierung auf eine bestehende Richtlinie |
Amazon Redshift hat den Aktionen |
30. August 2022 |
AmazonRedshiftFullAccess – Aktualisierung auf eine bestehende Richtlinie |
Berechtigungen für Amazon Redshift Serverless werden der bestehenden AmazonRedshiftFullAccess verwalteten Richtlinie hinzugefügt. |
22. Juli 2022 |
AmazonRedshiftDataFullAccess – Aktualisierung auf eine bestehende Richtlinie |
Amazon Redshift hat die Standardbedingung redshift-serverless:GetCredentials für den Geltungsbereich des Tags aws:ResourceTag/RedshiftDataFullAccess von StringEquals auf StringLike aktualisiert, um Zugriff auf Ressourcen zu gewähren, die mit dem Tag-Schlüssel RedshiftDataFullAccess und einem beliebigen Tag-Wert markiert sind. |
11. Juli 2022 |
AmazonRedshiftDataFullAccess – Aktualisierung auf eine bestehende Richtlinie |
Amazon Redshift hat neue Berechtigungen hinzugefügt, um redshift-serverless:GetCredentials für temporäre Anmeldeinformationen für Amazon Redshift Serverless zuzulassen. |
8. Juli 2022 |
AmazonRedshiftQueryEditorV2NoSharing – Aktualisierung auf eine bestehende Richtlinie |
Amazon Redshift hat der Aktion |
15. Juni 2022 |
AmazonRedshiftQueryEditorV2ReadSharing – Aktualisierung auf eine bestehende Richtlinie |
Amazon Redshift hat der Aktion |
15. Juni 2022 |
AmazonRedshiftQueryEditorV2ReadWriteSharing – Aktualisierung auf eine bestehende Richtlinie |
Amazon Redshift hat der Aktion |
15. Juni 2022 |
AmazonRedshiftServiceLinkedRolePolicy – Aktualisierung auf eine bestehende Richtlinie |
Um den öffentlichen Zugriff auf neue Endpunkte von Amazon Redshift Serverless zu ermöglichen, weist Amazon Redshift der Elastic-Network-Schnittstelle des VPC-Endpunkts Elastic IP-Adressen im Kundenkonto zu und verknüpft sie. Dies geschieht über Berechtigungen, die über die serviceverknüpfte Rolle bereitgestellt werden. Für diesen Anwendungsfall werden der mit dem Amazon-Redshift-Serverless-Service verknüpften Rolle Aktionen zum Zuweisen und Freigeben einer Elastic IP-Adresse hinzugefügt. |
26. Mai 2022 |
AmazonRedshiftQueryEditorV2FullAccess – Aktualisierung auf eine bestehende Richtlinie |
Berechtigungen für die Aktion |
22. Februar 2022 |
AmazonRedshiftQueryEditorV2NoSharing – Aktualisierung auf eine bestehende Richtlinie |
Berechtigungen für die Aktion |
22. Februar 2022 |
AmazonRedshiftQueryEditorV2ReadSharing – Aktualisierung auf eine bestehende Richtlinie |
Berechtigungen für die Aktion |
22. Februar 2022 |
AmazonRedshiftQueryEditorV2ReadWriteSharing – Aktualisierung auf eine bestehende Richtlinie |
Berechtigungen für die Aktion |
22. Februar 2022 |
AmazonRedshiftQueryEditorV2ReadSharing – Aktualisierung auf eine bestehende Richtlinie |
Die Berechtigung für die Aktion |
22. Februar 2022 |
AmazonRedshiftServiceLinkedRolePolicy – Aktualisierung auf eine bestehende Richtlinie |
Für Amazon Redshift gibt es jetzt neue Berechtigungen für neue Aktionen, mit denen Sie Amazon-Redshift-Netzwerk- und Amazon-Redshift-VPC-Ressourcen verwalten können. |
22. November 2021 |
AmazonRedshiftAllCommandsFullAccess – Neue Richtlinie. |
Für Amazon Redshift gibt es jetzt eine neue Richtlinie, mit der Sie die IAM-Rolle verwenden können, die in der Amazon-Redshift-Konsole erstellt wurde, und hat sie als Standard festgelegt, damit der Cluster die Befehle COPY von Amazon S3 sowie UNLOAD, CREATE EXTERNAL SCHEMA, CREATE EXTERNAL FUNCTION, CREATE MODEL und CREATE LIBRARY ausführt. |
18. November 2021 |
AmazonRedshiftServiceLinkedRolePolicy – Aktualisierung auf eine bestehende Richtlinie |
Amazon Redshift hat Berechtigungen für neue Aktionen hinzugefügt, um die Verwaltung von Amazon Redshift CloudWatch Redshift-Protokollgruppen und Protokollstreams, einschließlich Audit-Log-Export, zu ermöglichen. |
15. November 2021 |
AmazonRedshiftFullAccess – Aktualisierung auf eine bestehende Richtlinie |
Für Amazon Redshift gibt es jetzt neue Berechtigungen für Modellerklärbarkeit, DynamoDB, Redshift Spectrum und Amazon-RDS-Verbund. | 7. Oktober 2021 |
AmazonRedshiftQueryEditorV2FullAccess – Neue Richtlinie. |
Für Amazon Redshift gibt es jetzt eine neue Richtlinie für vollen Zugriff auf den Amazon-Redshift-Abfrage-Editor v2. |
24. September 2021 |
AmazonRedshiftQueryEditorV2NoSharing – Neue Richtlinie. |
Für Amazon Redshift gibt es jetzt eine neue Richtlinie, die die Verwendung des Amazon-Redshift-Abfrage-Editors v2 ohne Freigabe von Ressourcen erlaubt. |
24. September 2021 |
AmazonRedshiftQueryEditorV2ReadSharing – Neue Richtlinie. |
Für Amazon Redshift gibt es jetzt eine neue Richtlinie, die das Lesen der Freigabe innerhalb des Amazon-Redshift-Abfrage-Editors v2 erlaubt. |
24. September 2021 |
AmazonRedshiftQueryEditorV2ReadWriteSharing – Neue Richtlinie. |
Für Amazon Redshift gibt es jetzt eine neue Richtlinie, die das Lesen und Aktualisieren der Freigabe im Amazon-Redshift-Abfrage-Editor v2 erlaubt. |
24. September 2021 |
AmazonRedshiftFullAccess – Aktualisierung auf eine bestehende Richtlinie |
Amazon Redshift hat neue Berechtigungen zum Erlauben von hinzugefügt |
18. August 2021 |
AmazonRedshiftDataFullAccess – Aktualisierung auf eine bestehende Richtlinie |
Amazon Redshift hat neue Berechtigungen zum Erlauben von hinzugefügt |
12. August 2021 |
AmazonRedshiftDataFullAccess – Aktualisierung auf eine bestehende Richtlinie |
Amazon Redshift hat neue Berechtigungen zum Erlauben von hinzugefügt |
27. Juli 2021 |
Amazon Redshift begann Nachverfolgung von Änderungen |
Amazon Redshift hat damit begonnen, Änderungen an seinen AWS verwalteten Richtlinien nachzuverfolgen. |
27. Juli 2021 |
Erforderliche Berechtigungen zur Verwendung von Redshift Spectrum
Amazon Redshift Spectrum benötigt für den Zugriff auf Ressourcen Berechtigungen für andere AWS Services. Detaillierte Informationen über Berechtigungen in IAM-Richtlinien für Redshift Spectrum finden Sie unter IAM-Richtlinien für Amazon Redshift Spectrum im Datenbankentwicklerhandbuch zu Amazon Redshift.
Erforderliche Berechtigungen zur Verwendung der Amazon-Redshift-Konsole
Damit ein Benutzer mit der Amazon Redshift Redshift-Konsole arbeiten kann, muss er über Mindestberechtigungen verfügen, die es dem Benutzer ermöglichen, die Amazon Redshift Redshift-Ressourcen für sein AWS Konto zu beschreiben. Diese Berechtigungen müssen es dem Benutzer auch ermöglichen, andere verwandte Informationen zu beschreiben, darunter EC2 Amazon-Sicherheit, Amazon CloudWatch, Amazon SNS und Netzwerkinformationen.
Wenn Sie eine IAM-Richtlinie erstellen, die strenger ist als die mindestens erforderlichen Berechtigungen, funktioniert die Konsole nicht wie vorgesehen für Benutzer mit dieser IAM-Richtlinie. Um sicherzustellen, dass diese Benutzer die Amazon-Redshift-Konsole weiterhin verwenden können, weisen Sie ihnen auch die von AmazonRedshiftReadOnlyAccess
verwaltete Richtlinie zu. Die Vorgehensweise ist in beschrieben AWS verwaltete Richtlinien für Amazon Redshift.
Informationen dazu, wie Sie einem Benutzer Zugriff auf den Abfrage-Editor in der Amazon-Redshift-Konsole geben, finden Sie unter Erforderliche Berechtigungen zur Verwendung des Abfrage-Editors der Amazon-Redshift-Konsole.
Sie müssen Benutzern, die nur die Amazon Redshift-API AWS CLI oder die Amazon Redshift Redshift-API aufrufen, keine Mindestberechtigungen für die Konsole gewähren.
Erforderliche Berechtigungen zur Verwendung des Abfrage-Editors der Amazon-Redshift-Konsole
Damit Benutzer mit dem Amazon-Redshift-Abfrage-Editor arbeiten können, müssen sie über einen Mindestsatz von Berechtigungen für Amazon Redshift und Amazon-Redshift-Data-API-Vorgänge verfügen. Um sich über ein Secret mit einer Datenbank zu verbinden, müssen Sie auch über Secrets-Manager-Berechtigungen verfügen.
Um einem Benutzer Zugriff auf den Abfrage-Editor auf der Amazon Redshift Redshift-Konsole zu gewähren, hängen Sie die AmazonRedshiftQueryEditor
und die AmazonRedshiftReadOnlyAccess
AWS
verwalteten Richtlinien an. Die AmazonRedshiftQueryEditor
-Richtlinie erlaubt Benutzern, nur die Ergebnisse ihrer eigenen SQL-Anweisungen abzurufen – Das sind Aussagen, die von derselben Person eingereicht wurden, aws:userid
wie in diesem Abschnitt der AmazonRedshiftQueryEditor
AWS verwalteten Richtlinie dargestellt.
{ "Sid":"DataAPIIAMStatementPermissionsRestriction", "Action": [ "redshift-data:GetStatementResult", "redshift-data:CancelStatement", "redshift-data:DescribeStatement", "redshift-data:ListStatements" ], "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "redshift-data:statement-owner-iam-userid": "${aws:userid}" } } }
Damit ein Benutzer die Ergebnisse von SQL-Anweisungen anderer Benutzer in derselben IAM-Rolle abrufen kann, erstellen Sie eine eigene Richtlinie ohne die Bedingung, den Zugriff auf den aktuellen Benutzer zu beschränken. Beschränken Sie auch die Berechtigung zum Ändern einer Richtlinie auf einen Administrator.
Für die Verwendung des Abfrage-Editors v2 erforderliche Berechtigungen
Damit ein Benutzer mit dem Amazon Redshift-Abfrage-Editor v2 arbeiten kann, muss er über Mindestberechtigungen für Amazon Redshift, den Abfrage-Editor v2-Operationen und andere AWS Dienste wie AWS Key Management Service AWS Secrets Manager, und Tagging-Service verfügen.
Um einem Benutzer vollen Zugriff auf den Abfrage-Editor v2 zu gewähren, fügen Sie die AmazonRedshiftQueryEditorV2FullAccess
AWS verwaltete Richtlinie an. Die AmazonRedshiftQueryEditorV2FullAccess
-Richtlinie erlaubt es dem Benutzer, Ressourcen des Abfrage-Editors v2 (z. B. Abfragen) mit anderen im selben Team zu teilen. Weitere Informationen darüber, wie der Zugriff auf v2-Ressourcen des Abfrage-Editors gesteuert wird, finden Sie in der Definition der bestimmten verwalteten Richtlinie für den Abfrage-Editor v2 in der IAM-Konsole.
Einige AWS verwaltete Richtlinien im Amazon Redshift Query Editor v2 verwenden AWS Tags innerhalb von Bedingungen, um den Zugriff auf Ressourcen einzuschränken. Innerhalb des Abfrage-Editors v2 basiert das Teilen von Abfragen auf dem Tag-Schlüssel und dem Wert "aws:ResourceTag/sqlworkbench-team": "${aws:PrincipalTag/sqlworkbench-team}"
in der IAM-Richtlinie, die an den Prinzipal angehängt ist (die IAM-Rolle). Prinzipale im selben AWS-Konto mit demselben Tag-Wert (z. B. accounting-team
) sind im selben Team im Abfrage-Editor v2. Man kann jeweils nur mit einem Team verbunden sein. Ein Benutzer mit Administratorberechtigungen kann Teams in der IAM-Konsole einrichten, indem er allen Teammitgliedern den gleichen Wert für das Tag sqlworkbench-team
gibt. Wenn der Tag-Wert von sqlworkbench-team
für einen IAM-Benutzer oder eine IAM-Rolle geändert wird, kann es eine Zeit dauern, bis die Änderung in den freigegebenen Ressourcen angezeigt wird. Wenn der Tag-Wert einer Ressource (z. B. einer Abfrage) geändert wird, kann es erneut zu einer Verzögerung kommen. Teammitglieder brauchen auch die Berechtigung tag:GetResources
zum Teilen.
Beispiel: Das Tag accounting-team
für eine IAM-Rolle hinzufügen
Melden Sie sich bei der an AWS Management Console und öffnen Sie die IAM-Konsole unter. https://console.aws.amazon.com/iam/
-
Wählen Sie im Navigationsbereich der Konsole Rollen aus und wählen Sie dann den Namen der Rolle aus, die Sie bearbeiten möchten.
-
Wählen Sie die Registerkarte Tags und dann Add tags (Tags hinzufügen) aus.
-
Fügen Sie den Tag-Schlüssel sqlworkbench-team und den Wert
accounting-team
hinzu. -
Wählen Sie Save Changes.
Wenn nun ein IAM-Prinzipal (dem diese IAM-Rolle angefügt wurde) eine Abfrage mit dem Team teilt, können andere Prinzipale mit demselben Tag-Wert bei
accounting-team
die Abfrage sehen.
Weitere Informationen darüber, wie Sie ein Tag an einen Prinzipal anhängen, einschließlich IAM-Rollen und IAM-Benutzern, finden Sie unter Markieren von IAM-Ressourcen im IAM-Benutzerhandbuch.
Sie können Teams auch auf Sitzungsebene mit einem Identitätsanbieter (IdP) einrichten. Dies ermöglicht es mehreren Benutzern, die dieselbe IAM-Rolle verwenden, ein anderes Team zu haben. Die IAM-Rollen-Vertrauensrichtlinie muss den Vorgang sts:TagSession
erlauben. Weitere Informationen finden Sie unter Zum Hinzufügen von Sitzungstags erforderliche Berechtigungen im IAM-Benutzerhandbuch. Fügen Sie das Tag-Attribut des Prinzipals zur SAML-Assertion hinzu, die von Ihrem IdP bereitgestellt wird.
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:sqlworkbench-team"> <AttributeValue>accounting-team</AttributeValue> </Attribute>
Folgen Sie den Anweisungen für Ihren Identitätsanbieter (IdP), um das SAML-Attribut mit dem Inhalt zu füllen, der aus Ihrem Verzeichnis stammt. Weitere Informationen zu Identity Providers (IdPs) und Amazon Redshift finden Sie unter Verwendung der IAM Authentifizierung zur Generierung von Datenbankbenutzeranmeldeinformationen Identity providers and federation im IAM-Benutzerhandbuch.
sqlworkbench:CreateNotebookVersion
erteilt die Berechtigung, den aktuellen Inhalt von Notebook-Zellen abzurufen und eine Notebook-Version in Ihrem Konto zu erstellen. Dies bedeutet, dass der aktuelle Inhalt des Notebooks zum Zeitpunkt der Versionserstellung dem Inhalt der Version entspricht. Später bleibt der Inhalt der Zellen in der Version unverändert, wenn das aktuelle Notebook aktualisiert wird. sqlworkbench:GetNotebookVersion
erteilt die Berechtigung, eine Version des Notebooks abzurufen. Ein Benutzer, der nicht über die Berechtigung sqlworkbench:BatchGetNotebookCell
, jedoch über die Berechtigungen sqlworkbench:CreateNotebookVersion
und sqlworkbench:GetNotebookVersion
für ein Notebook verfügt, hat Zugriff auf Notebook-Zellen in der Version. Dieser Benutzer ohne die Berechtigung sqlworkbench:BatchGetNotebookCell
kann immer noch den Inhalt der Zellen eines Notebooks abrufen, indem er zuerst eine Version erstellt und dann diese erstellte Version abruft.
Erforderliche Berechtigungen zur Verwendung des Amazon-Redshift-Schedulers
Wenn Sie den Amazon-Redshift-Scheduler verwenden, richten Sie eine IAM-Rolle mit einer Vertrauensstellung zum Amazon-Redshift-Scheduler (scheduler.redshift.amazonaws.com
) ein, damit der Scheduler in Ihrem Namen Berechtigungen übernehmen kann. Sie weisen der Rolle auch eine Richtlinie (Berechtigungen) für die Amazon-Redshift-API-Vorgänge zu, die Sie planen möchten.
Das folgende Beispiel zeigt das Richtliniendokument im JSON-Format zum Einrichten einer Vertrauensstellung mit dem Amazon-Redshift-Scheduler und Amazon Redshift.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "scheduler.redshift.amazonaws.com", "redshift.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
Weitere Informationen zu vertrauenswürdigen Entitäten finden Sie im IAM-Benutzerhandbuch unter Erstellen einer Rolle zum Delegieren von Berechtigungen für einen AWS Service.
Sie müssen außerdem eine Berechtigung für die Amazon-Redshift-Vorgänge hinzufügen, die Sie planen möchten.
Damit der Scheduler die ResizeCluster
-Operation verwenden kann, fügen Sie Ihrer IAM-Richtlinie eine Berechtigung hinzu, die der folgenden ähnlich ist. Abhängig von Ihrer Umgebung sollten Sie die Richtlinie möglicherweise restriktiver gestalten.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "redshift:ResizeCluster", "Resource": "*" } ] }
Die Schritte zum Erstellen einer Rolle für den Amazon Redshift Redshift-Scheduler finden Sie unter Creating a role for an AWS service (console) im IAM-Benutzerhandbuch. Treffen Sie diese Entscheidungen, wenn Sie eine Rolle in der IAM-Konsole erstellen:
-
Für Choose the service that will use this role (Einen Service auswählen, der diese Rolle verwenden soll): Wählen Sie Redshift aus.
-
Für Select your use case (Wählen Sie Ihren Anwendungsfall) Folgendes aus: Wählen Sie Redshift - Scheduler aus.
-
Erstellen Sie eine Richtlinie oder weisen Sie diese der Rolle zu, die das Planen eines Amazon-Redshift-Vorgangs zulässt. Wählen Sie Create policy (Richtlinie erstellen) aus oder ändern Sie die Rolle, um eine Richtlinie zuzuweisen. Geben Sie die JSON-Richtlinie für die Operation ein, die geplant werden soll.
-
Nachdem Sie die Rolle erstellt haben, bearbeiten Sie die Trust Relationship (Vertrauensbeziehung) der IAM-Rolle, um den
redshift.amazonaws.com
-Service aufzunehmen.
Die von Ihnen erstellte IAM-Rolle hat vertrauenswürdige Entitäten von scheduler.redshift.amazonaws.com
und redshift.amazonaws.com
. Sie weist außerdem eine angefügte Richtlinie auf, die eine unterstützte Amazon-Redshift-API-Aktion wie zulässt., "redshift:ResizeCluster"
.
Für die Verwendung des Amazon EventBridge Schedulers sind Berechtigungen erforderlich
Wenn Sie den EventBridge Amazon-Scheduler verwenden, richten Sie eine IAM-Rolle mit einer Vertrauensbeziehung zum EventBridge Scheduler (events.amazonaws.com
) ein, damit der Scheduler in Ihrem Namen Berechtigungen übernehmen kann. Außerdem fügen Sie der Rolle eine Richtlinie (Berechtigungen) für die Amazon Redshift Data API-Operationen, die Sie planen möchten, und eine Richtlinie für EventBridge Amazon-Operationen hinzu.
Sie verwenden den EventBridge Scheduler, wenn Sie geplante Abfragen mit dem Amazon Redshift Redshift-Abfrage-Editor auf der Konsole erstellen.
Sie können eine IAM-Rolle erstellen, um geplante Abfragen in der IAM-Konsole auszuführen. Fügen Sie in dieser IAM-Rolle AmazonEventBridgeFullAccess
und AmazonRedshiftDataFullAccess
an.
Das folgende Beispiel zeigt das Richtliniendokument im JSON-Format, um eine Vertrauensbeziehung mit dem EventBridge Scheduler einzurichten.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "events.amazonaws.com", ] }, "Action": "sts:AssumeRole" } ] }
Weitere Informationen zu vertrauenswürdigen Entitäten finden Sie im IAM-Benutzerhandbuch unter Erstellen einer Rolle zum Delegieren von Berechtigungen an einen AWS Dienst.
Die Schritte zum Erstellen einer Rolle für den EventBridge Scheduler finden Sie unter Erstellen einer Rolle für einen AWS Dienst (Konsole) im IAM-Benutzerhandbuch. Treffen Sie diese Entscheidungen, wenn Sie eine Rolle in der IAM-Konsole erstellen:
-
Für Wählen Sie den Dienst aus, der diese Rolle verwenden soll: Wählen Sie CloudWatch Ereignisse.
-
Für Wählen Sie Ihren Anwendungsfall aus: Wählen Sie CloudWatch Ereignisse.
-
Fügen Sie die folgenden Berechtigungsrichtlinien an:
AmazonEventBridgeFullAccess
undAmazonRedshiftDataFullAccess
.
Die von Ihnen erstellte IAM-Rolle hat eine vertrauenswürdige Entität von events.amazonaws.com
. Sie weist außerdem eine angefügte Richtlinie auf, die unterstützte Amazon-Redshift-Data-API-Aktionen wie zulässt., "redshift-data:*"
.
Für die Verwendung von Amazon Redshift Machine Learning (ML) erforderliche Berechtigungen
Nachfolgend finden Sie eine Beschreibung der Berechtigungen, die zur Nutzung von Amazon Redshift Machine Learning (ML) für verschiedene Anwendungsfälle erforderlich sind.
Damit Ihre Benutzer Amazon Redshift ML mit Amazon SageMaker AI verwenden können, erstellen Sie eine IAM-Rolle mit einer restriktiveren Richtlinie als der Standardrichtlinie. Sie können die folgende Richtlinie verwenden. Sie können diese Richtlinie auch entsprechend Ihren Anforderungen anpassen.
Die folgende Richtlinie zeigt die Berechtigungen, die für die Ausführung von SageMaker AI Autopilot mit Modellerklärbarkeit von Amazon Redshift erforderlich sind.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:CreateTrainingJob", "sagemaker:CreateAutoMLJob", "sagemaker:CreateCompilationJob", "sagemaker:CreateEndpoint", "sagemaker:DescribeAutoMLJob", "sagemaker:DescribeTrainingJob", "sagemaker:DescribeCompilationJob", "sagemaker:DescribeProcessingJob", "sagemaker:DescribeTransformJob", "sagemaker:ListCandidatesForAutoMLJob", "sagemaker:StopAutoMLJob", "sagemaker:StopCompilationJob", "sagemaker:StopTrainingJob", "sagemaker:DescribeEndpoint", "sagemaker:InvokeEndpoint", "sagemaker:StopProcessingJob", "sagemaker:CreateModel", "sagemaker:CreateProcessingJob" ], "Resource": [ "arn:aws:sagemaker:*:*:model/*redshift*", "arn:aws:sagemaker:*:*:training-job/*redshift*", "arn:aws:sagemaker:*:*:automl-job/*redshift*", "arn:aws:sagemaker:*:*:compilation-job/*redshift*", "arn:aws:sagemaker:*:*:processing-job/*redshift*", "arn:aws:sagemaker:*:*:transform-job/*redshift*", "arn:aws:sagemaker:*:*:endpoint/*redshift*" ] }, { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws/sagemaker/Endpoints/*redshift*", "arn:aws:logs:*:*:log-group:/aws/sagemaker/ProcessingJobs/*redshift*", "arn:aws:logs:*:*:log-group:/aws/sagemaker/TrainingJobs/*redshift*", "arn:aws:logs:*:*:log-group:/aws/sagemaker/TransformJobs/*redshift*" ] }, { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData" ], "Resource": "*", "Condition": { "StringEquals": { "cloudwatch:namespace": [ "SageMaker", "/aws/sagemaker/Endpoints", "/aws/sagemaker/ProcessingJobs", "/aws/sagemaker/TrainingJobs", "/aws/sagemaker/TransformJobs" ] } } }, { "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetAuthorizationToken", "ecr:GetDownloadUrlForLayer" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetBucketAcl", "s3:GetBucketCors", "s3:GetEncryptionConfiguration", "s3:GetBucketLocation", "s3:ListBucket", "s3:ListAllMyBuckets", "s3:ListMultipartUploadParts", "s3:ListBucketMultipartUploads", "s3:PutObject", "s3:PutBucketAcl", "s3:PutBucketCors", "s3:DeleteObject", "s3:AbortMultipartUpload", "s3:CreateBucket" ], "Resource": [ "arn:aws:s3:::redshift-downloads", "arn:aws:s3:::redshift-downloads/*", "arn:aws:s3:::*redshift*", "arn:aws:s3:::*redshift*/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetBucketAcl", "s3:GetBucketCors", "s3:GetEncryptionConfiguration", "s3:GetBucketLocation", "s3:ListBucket", "s3:ListAllMyBuckets", "s3:ListMultipartUploadParts", "s3:ListBucketMultipartUploads", "s3:PutObject", "s3:PutBucketAcl", "s3:PutBucketCors", "s3:DeleteObject", "s3:AbortMultipartUpload", "s3:CreateBucket" ], "Resource": "*", "Condition": { "StringEqualsIgnoreCase": { "s3:ExistingObjectTag/Redshift": "true" } } }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::*:role/*", "Condition": { "StringEquals": { "iam:PassedToService": [ "redshift.amazonaws.com", "sagemaker.amazonaws.com" ] } } } ] }
Die folgende Richtlinie zeigt die vollständigen Mindestberechtigungen für den Zugriff auf Amazon DynamoDB, Redshift Spectrum und Amazon-RDS-Verbund.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:CreateTrainingJob", "sagemaker:CreateAutoMLJob", "sagemaker:CreateCompilationJob", "sagemaker:CreateEndpoint", "sagemaker:DescribeAutoMLJob", "sagemaker:DescribeTrainingJob", "sagemaker:DescribeCompilationJob", "sagemaker:DescribeProcessingJob", "sagemaker:DescribeTransformJob", "sagemaker:ListCandidatesForAutoMLJob", "sagemaker:StopAutoMLJob", "sagemaker:StopCompilationJob", "sagemaker:StopTrainingJob", "sagemaker:DescribeEndpoint", "sagemaker:InvokeEndpoint", "sagemaker:StopProcessingJob", "sagemaker:CreateModel", "sagemaker:CreateProcessingJob" ], "Resource": [ "arn:aws:sagemaker:*:*:model/*redshift*", "arn:aws:sagemaker:*:*:training-job/*redshift*", "arn:aws:sagemaker:*:*:automl-job/*redshift*", "arn:aws:sagemaker:*:*:compilation-job/*redshift*", "arn:aws:sagemaker:*:*:processing-job/*redshift*", "arn:aws:sagemaker:*:*:transform-job/*redshift*", "arn:aws:sagemaker:*:*:endpoint/*redshift*" ] }, { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws/sagemaker/Endpoints/*redshift*", "arn:aws:logs:*:*:log-group:/aws/sagemaker/ProcessingJobs/*redshift*", "arn:aws:logs:*:*:log-group:/aws/sagemaker/TrainingJobs/*redshift*", "arn:aws:logs:*:*:log-group:/aws/sagemaker/TransformJobs/*redshift*" ] }, { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData" ], "Resource": "*", "Condition": { "StringEquals": { "cloudwatch:namespace": [ "SageMaker", "/aws/sagemaker/Endpoints", "/aws/sagemaker/ProcessingJobs", "/aws/sagemaker/TrainingJobs", "/aws/sagemaker/TransformJobs" ] } } }, { "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetAuthorizationToken", "ecr:GetDownloadUrlForLayer" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetBucketAcl", "s3:GetBucketCors", "s3:GetEncryptionConfiguration", "s3:GetBucketLocation", "s3:ListBucket", "s3:ListAllMyBuckets", "s3:ListMultipartUploadParts", "s3:ListBucketMultipartUploads", "s3:PutObject", "s3:PutBucketAcl", "s3:PutBucketCors", "s3:DeleteObject", "s3:AbortMultipartUpload", "s3:CreateBucket" ], "Resource": [ "arn:aws:s3:::redshift-downloads", "arn:aws:s3:::redshift-downloads/*", "arn:aws:s3:::*redshift*", "arn:aws:s3:::*redshift*/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetBucketAcl", "s3:GetBucketCors", "s3:GetEncryptionConfiguration", "s3:GetBucketLocation", "s3:ListBucket", "s3:ListAllMyBuckets", "s3:ListMultipartUploadParts", "s3:ListBucketMultipartUploads", "s3:PutObject", "s3:PutBucketAcl", "s3:PutBucketCors", "s3:DeleteObject", "s3:AbortMultipartUpload", "s3:CreateBucket" ], "Resource": "*", "Condition": { "StringEqualsIgnoreCase": { "s3:ExistingObjectTag/Redshift": "true" } } }, { "Effect": "Allow", "Action": [ "dynamodb:Scan", "dynamodb:DescribeTable", "dynamodb:Getitem" ], "Resource": [ "arn:aws:dynamodb:*:*:table/*redshift*", "arn:aws:dynamodb:*:*:table/*redshift*/index/*" ] }, { "Effect": "Allow", "Action": [ "elasticmapreduce:ListInstances" ], "Resource": [ "arn:aws:elasticmapreduce:*:*:cluster/*redshift*" ] }, { "Effect": "Allow", "Action": [ "elasticmapreduce:ListInstances" ], "Resource": "*", "Condition": { "StringEqualsIgnoreCase": { "elasticmapreduce:ResourceTag/Redshift": "true" } } }, { "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": "arn:aws:lambda:*:*:function:*redshift*" }, { "Effect": "Allow", "Action": [ "glue:CreateDatabase", "glue:DeleteDatabase", "glue:GetDatabase", "glue:GetDatabases", "glue:UpdateDatabase", "glue:CreateTable", "glue:DeleteTable", "glue:BatchDeleteTable", "glue:UpdateTable", "glue:GetTable", "glue:GetTables", "glue:BatchCreatePartition", "glue:CreatePartition", "glue:DeletePartition", "glue:BatchDeletePartition", "glue:UpdatePartition", "glue:GetPartition", "glue:GetPartitions", "glue:BatchGetPartition" ], "Resource": [ "arn:aws:glue:*:*:table/*redshift*/*", "arn:aws:glue:*:*:catalog", "arn:aws:glue:*:*:database/*redshift*" ] }, { "Effect": "Allow", "Action": [ "secretsmanager:GetResourcePolicy", "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "secretsmanager:ListSecretVersionIds" ], "Resource": [ "arn:aws:secretsmanager:*:*:secret:*redshift*" ] }, { "Effect": "Allow", "Action": [ "secretsmanager:GetRandomPassword", "secretsmanager:ListSecrets" ], "Resource": "*", "Condition": { "StringEquals": { "secretsmanager:ResourceTag/Redshift": "true" } } }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::*:role/*", "Condition": { "StringEquals": { "iam:PassedToService": [ "redshift.amazonaws.com", "glue.amazonaws.com", "sagemaker.amazonaws.com", "athena.amazonaws.com" ] } } } ] }
Um einen AWS KMS Schlüssel für die Verschlüsselung zu verwenden, fügen Sie der Richtlinie optional die folgenden Berechtigungen hinzu.
{ "Effect": "Allow", "Action": [ "kms:CreateGrant", "kms:Decrypt", "kms:DescribeKey", "kms:Encrypt", "kms:GenerateDataKey*" ], "Resource": [ "arn:aws:kms:<your-region>:<your-account-id>:key/<your-kms-key>" ] }
Damit Amazon Redshift und SageMaker KI die vorherige IAM-Rolle für die Interaktion mit anderen Services übernehmen können, fügen Sie der Rolle die folgende Vertrauensrichtlinie hinzu.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "redshift.amazonaws.com", "sagemaker.amazonaws.com", "forecast.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
In der vorhergehenden ist der Amazon S3 Bucket redshift-downloads/redshift-ml/
der Ort, an dem die Beispieldaten für andere Schritte und Beispiele gespeichert werden. Sie können ihn entfernen, wenn Sie keine Daten aus Amazon S3 laden müssen. Sie können ihn auch durch andere Amazon S3 Buckets ersetzen, die Sie zum Laden von Daten in Amazon Redshift verwenden.
Die Werte your-account-id
, your-role
und your-s3-bucket
sind die Konto-ID, die Rolle und der Bucket, die Sie in Ihrem Befehl CREATE MODEL angeben.
Optional können Sie den Abschnitt AWS KMS Schlüssel der Beispielrichtlinie verwenden, wenn Sie einen AWS KMS Schlüssel für die Verwendung mit Amazon Redshift ML angeben. Der Wert your-kms-key
ist der Schlüssel, den Sie als Teil Ihres CREATE-MODEL-Befehls verwenden.
Wenn Sie eine private Virtual Private Cloud (VPC) für den Hyperparameter-Optimierungsauftrag angeben, fügen Sie die folgenden Berechtigungen hinzu.
{ "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ] }
Um mit der Modellerklärung zu arbeiten, stellen Sie sicher, dass Sie über die Berechtigungen zum Aufrufen von SageMaker KI-API-Operationen verfügen. Wir empfehlen Ihnen dazu die verwaltete Richtlinie AmazonSageMakerFullAccess
. Wenn Sie eine IAM-Rolle mit einer restriktiveren Richtlinie erstellen möchten, können Sie die folgende verwenden.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker::CreateEndpoint", "sagemaker::CreateEndpointConfig", "sagemaker::DeleteEndpoint", "sagemaker::DeleteEndpointConfig", "sagemaker::DescribeEndpoint", "sagemaker::DescribeEndpointConfig", "sagemaker::DescribeModel", "sagemaker::InvokeEndpoint", "sagemaker::ListTags" ], "Resource": "*" } ] }
Weitere Informationen zur AmazonSageMakerFullAccess
verwalteten Richtlinie finden Sie AmazonSageMakerFullAccessim Amazon SageMaker AI Developer Guide.
Wenn Sie Prognosemodelle erstellen möchten, empfehlen wir, die verwaltete Richtlinie AmazonForecastFullAccess
zu verwenden. Wenn Sie restriktivere Richtlinie verwenden möchten, fügen Sie Ihrer IAM-Rolle die folgende Richtlinie hinzu.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "forecast:CreateAutoPredictor", "forecast:CreateDataset", "forecast:CreateDatasetGroup", "forecast:CreateDatasetImportJob", "forecast:CreateForecast", "forecast:CreateForecastExportJob", "forecast:DeleteResourceTree", "forecast:DescribeAutoPredictor", "forecast:DescribeDataset", "forecast:DescribeDatasetGroup", "forecast:DescribeDatasetImportJob", "forecast:DescribeForecast", "forecast:DescribeForecastExportJob", "forecast:StopResource", "forecast:TagResource", "forecast:UpdateDatasetGroup" ], "Resource": "*" } ] }
Wenn Sie Amazon Bedrock-Modelle erstellen möchten, empfehlen wir Ihnen, die AmazonBedrockFullAccess
verwaltete Richtlinie zu verwenden. Wenn Sie restriktivere Richtlinie verwenden möchten, fügen Sie Ihrer IAM-Rolle die folgende Richtlinie hinzu.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "bedrock:InvokeModel", "Resource": [ "*", "arn:aws:bedrock:
>region<
::foundation-model/*" ] } ] }
Weitere Informationen zu Amazon Redshift ML finden Sie unter Verwenden von maschinellem Lernen in Amazon Redshift, CREATE MODEL oder CREATE EXTERNAL MODEL.
Berechtigungen für die Streaming-Erfassung
Die Streaming-Erfassung funktioniert mit zwei Services. Dies sind Kinesis Data Streams und Amazon MSK.
Erforderliche Berechtigungen für die Verwendung der Streaming-Erfassung mit Kinesis Data Streams
Ein Verfahren mit einem Beispiel für verwaltete Richtlinien finden Sie unter Erste Schritte mit der Streaming-Erfassung von Amazon Kinesis Data Streams.
Erforderliche Berechtigungen für die Verwendung der Streaming-Erfassung mit Amazon MSK
Ein Verfahren mit einem Beispiel für verwaltete Richtlinien finden Sie unter Erste Schritte mit der Streaming-Erfassung von Amazon Managed Streaming für Apache Kafka.
Für die Verwendung der API-Operationen zur Datenfreigabe erforderliche Berechtigungen
Um den Zugriff auf die API-Operationen für die Datenfreigabe zu steuern, verwenden Sie aktionsbasierte IAM-Richtlinien. Weitere Informationen zum Verwalten von IAM-Richtlinien finden Sie unter Managing IAM policies (Verwalten von IAM-Richtlinien) im IAM-Benutzerhandbuch.
Man denke an den Fall, dass ein Administrator eines Produzenten-Clusters den Aufruf AuthorizeDataShare
verwenden muss, um die Ausgabe eines Datashares außerhalb eines AWS-Konto zu autorisieren. In diesem Fall richten Sie eine IAM-aktionsbasierte Richtlinie ein, um diese Berechtigung zu erteilen. Verwenden Sie den DeauthorizeDataShare
-Aufruf, um die Ausgabe aufzuheben.
Wenn Sie aktionsbasierte IAM-Richtlinien verwenden, können Sie auch eine IAM-Ressource in der Richtlinie angeben, z. B. DataShareARN
. Nachfolgend sehen Sie das Format und ein Beispiel für DataShareARN
.
arn:aws:redshift:region:account-id:datashare:namespace-guid/datashare-name arn:aws:redshift:us-east-1:555555555555:datashare:86b5169f-01dc-4a6f-9fbb-e2e24359e9a8/SalesShare
Sie können AuthorizeDataShare
-Zugriff auf einen bestimmten Datasharedurch Angabe des Datashare-Namens in der IAM-Richtlinie beschränken.
{ "Statement": [ { "Action": [ "redshift:AuthorizeDataShare", ], "Resource": [ "arn:aws:redshift:us-east-1:555555555555:datashare:86b5169f-01dc-4a6f-9fbb-e2e24359e9a8/SalesShare" ], "Effect": "Deny" } ] }
Sie können die IAM-Richtlinie auch auf alle Datashares beschränken, die einem bestimmten Produzenten-Cluster gehören. Dazu ersetzen Sie den datashare-name
-Wert in der Richtlinie mit einem Platzhalter oder einem Sternchen. Behalten Sie den Cluster-Wert namespace-guid
bei.
arn:aws:redshift:us-east-1:555555555555:datashare:86b5169f-01dc-4a6f-9fbb-e2e24359e9a8/*
Es folgt eine IAM-Richtlinie, die verhindert, dass eine Entität in Datashares von einem bestimmten Produzenten-Cluster AuthorizeDataShare
aufruft.
{ "Statement": [ { "Action": [ "redshift:AuthorizeDataShare", ], "Resource": [ "arn:aws:redshift:us-east-1:555555555555:datashare:86b5169f-01dc-4a6f-9fbb-e2e24359e9a8/*" ], "Effect": "Deny" } ] }
DataShareARN
beschränkt den Zugriff auf Grundlage des Datashare-Namens sowie der Globally Unique ID (GUID) für den Namespace des besitzenden Clusters. Dies geschieht, indem der Name als Sternchen angegeben wird.
Ressourcenrichtlinien für GetClusterCredentials
Zum Herstellen einer Verbindung mit einer Cluster-Datenbank mithilfe einer JDBC- oder ODBC-Verbindung und IAM-Datenbankanmeldeinformationen sowie zum programmgesteuerten Aufrufen der Aktion GetClusterCredentials
benötigen Sie einen Mindestsatz an Berechtigungen. Sie benötigen mindestens die Berechtigung zum Aufrufen der Aktion redshift:GetClusterCredentials
mit Zugriff auf eine dbuser
-Ressource.
Wenn Sie eine JDBC- oder ODBC-Verbindung verwenden, können Sie anstatt server
und port
die Optionen cluster_id
und region
angeben. Dazu benötigen Sie allerdings die Berechtigung zum Aufruf der Aktion redshift:DescribeClusters
mit Zugriff auf die Ressource cluster
.
Wenn Sie die Aktion GetClusterCredentials
mit den optionalen Parametern Autocreate
, DbGroups
und DbName
aufrufen, müssen Sie außerdem die in der folgenden Tabelle aufgeführten Aktionen und den Zugriff auf die dort aufgeführten Ressourcen erlauben.
GetClusterCredentials Parameter |
Aktion |
Ressource |
---|---|---|
|
redshift:CreateClusterUser |
|
|
redshift:JoinGroup |
|
|
N/A | dbname |
Weitere Informationen zu Ressourcen finden Sie unter Amazon-Redshift-Ressourcen und -Operationen.
Sie können auch die folgenden Bedingungen in Ihrer Richtlinie verwenden:
-
redshift:DurationSeconds
-
redshift:DbName
-
redshift:DbUser
Weitere Informationen über Bedingungen finden Sie unter Angeben von Bedingungen in einer Richtlinie.
Beispiele für vom Kunden verwaltete Richtlinien
In diesem Abschnitt finden Sie Beispiele für Benutzerrichtlinien, die Berechtigungen für verschiedene Amazon-Redshift-Aktionen gewähren. Diese Richtlinien funktionieren, wenn Sie die Amazon Redshift Redshift-API oder AWS SDKs die AWS CLI verwenden.
Anmerkung
Alle Beispiele verwenden die Region USA West (Oregon) (us-west-2
) und enthalten ein fiktives Konto. IDs
Beispiel 1: Benutzer vollen Zugriff auf alle Amazon-Redshift-Aktionen und -Ressourcen gewähren
Die folgende Richtlinie gewährt Zugriff auf alle Amazon-Redshift-Aktionen für alle Ressourcen.
{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowRedshift", "Action": [ "redshift:*" ], "Effect": "Allow", "Resource": "*" } ] }
Der Wert redshift:*
im Element Action
bezeichnet alle Aktionen in Amazon Redshift.
Beispiel 2: Benutzer Zugriff auf Satz von Amazon-Redshift-Aktionen verweigern
Standardmäßig werden alle Berechtigungen verweigert. Manchmal müssen Sie jedoch den Zugriff auf eine bestimmte Aktion oder einen Satz von Aktionen ausdrücklich verweigern. Die folgende Richtlinie gewährt Zugriff auf alle Amazon-Redshift-Aktionen und verweigert ausdrücklich den Zugriff auf jede Amazon-Redshift-Aktion, deren Name mit beginnt Delete
. Diese Richtlinie gilt für alle Amazon-Redshift-Ressourcen in us-west-2
.
{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowUSWest2Region", "Action": [ "redshift:*" ], "Effect": "Allow", "Resource": "arn:aws:redshift:us-west-2:*" }, { "Sid":"DenyDeleteUSWest2Region", "Action": [ "redshift:Delete*" ], "Effect": "Deny", "Resource": "arn:aws:redshift:us-west-2:*" } ] }
Beispiel 3: Einem Benutzer die Verwaltung von Clustern gestatten
Die folgende Richtlinie erlaubt einem Benutzer, alle Cluster zu erstellen, zu löschen, zu modifizieren und neu zu starten, und verweigert die Erlaubnis, alle Cluster zu löschen oder zu modifizieren, bei denen der Clustername mit beginnt protected
.
{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowClusterManagement", "Action": [ "redshift:CreateCluster", "redshift:DeleteCluster", "redshift:ModifyCluster", "redshift:RebootCluster" ], "Resource": [ "*" ], "Effect": "Allow" }, { "Sid":"DenyDeleteProtected", "Action": [ "redshift:DeleteCluster" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:cluster:protected*" ], "Effect": "Deny" } ] }
Beispiel 4: Einem Benutzer die Autorisierung und den Widerruf des Zugriffs auf Snapshots erlauben
Die folgende Richtlinie erlaubt einem Benutzer, etwa Benutzer A, Folgendes zu tun:
-
Autorisieren des Zugriffs zu allen von einem Cluster mit der Bezeichnung erstellten Snapshots
shared
. -
Widerrufen des Snapshot-Zugriffs für alle vom Cluster
shared
erstellten Snapshots, bei denen der Snapshot-Name mitrevokable
beginnt.
{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowSharedSnapshots", "Action": [ "redshift:AuthorizeSnapshotAccess" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:shared/*" ], "Effect": "Allow" }, { "Sid":"AllowRevokableSnapshot", "Action": [ "redshift:RevokeSnapshotAccess" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:snapshot:*/revokable*" ], "Effect": "Allow" } ] }
Wenn Benutzer A Benutzer B den Zugriff auf einen Snapshot gestattet hat, muss Benutzer B über eine Richtlinie wie die folgende verfügen, damit Benutzer B einen Cluster aus dem Snapshot wiederherstellen kann. Die folgende Richtlinie gestattet Benutzer B die Beschreibung und Wiederherstellung von Snapshots sowie die Erstellung von Clusters. Die Namen dieser Cluster müssen mit beginnen from-other-account
.
{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowDescribeSnapshots", "Action": [ "redshift:DescribeClusterSnapshots" ], "Resource": [ "*" ], "Effect": "Allow" }, { "Sid":"AllowUserRestoreFromSnapshot", "Action": [ "redshift:RestoreFromClusterSnapshot" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:snapshot:*/*", "arn:aws:redshift:us-west-2:444455556666:cluster:from-other-account*" ], "Effect": "Allow" } ] }
Beispiel 5: Einem Benutzer gestatten, einen Cluster-Snapshot zu kopieren und einen Cluster von einem Snapshot wiederherzustellen
Die folgende Richtlinie erlaubt einem Benutzer, alle von einem Cluster mit der Bezeichnung big-cluster-1
erstellten Snapshots zu kopieren und alle Snapshots wiederherzustellen, deren Name mit snapshot-for-restore
beginnt.
{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowCopyClusterSnapshot", "Action": [ "redshift:CopyClusterSnapshot" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:snapshot:big-cluster-1/*" ], "Effect": "Allow" }, { "Sid":"AllowRestoreFromClusterSnapshot", "Action": [ "redshift:RestoreFromClusterSnapshot" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:snapshot:*/snapshot-for-restore*", "arn:aws:redshift:us-west-2:123456789012:cluster:*" ], "Effect": "Allow" } ] }
Beispiel 6: Erlauben Sie einem Benutzer den Zugriff auf Amazon Redshift und allgemeine Aktionen und Ressourcen für verwandte Dienste AWS
Die folgende Beispielrichtlinie ermöglicht den Zugriff auf alle Aktionen und Ressourcen für Amazon Redshift, Amazon Simple Notification Service (Amazon SNS) und Amazon. CloudWatch Es ermöglicht auch bestimmte Aktionen für alle zugehörigen EC2 Amazon-Ressourcen unter dem Konto.
Anmerkung
Berechtigungen auf Ressourcenebene werden für die EC2 Amazon-Aktionen, die in dieser Beispielrichtlinie angegeben sind, nicht unterstützt.
{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowRedshift", "Effect": "Allow", "Action": [ "redshift:*" ], "Resource": [ "*" ] }, { "Sid":"AllowSNS", "Effect": "Allow", "Action": [ "sns:*" ], "Resource": [ "*" ] }, { "Sid":"AllowCloudWatch", "Effect": "Allow", "Action": [ "cloudwatch:*" ], "Resource": [ "*" ] }, { "Sid":"AllowEC2Actions", "Effect": "Allow", "Action": [ "ec2:AllocateAddress", "ec2:AssociateAddress", "ec2:AttachNetworkInterface", "ec2:DescribeAccountAttributes", "ec2:DescribeAddresses", "ec2:DescribeAvailabilityZones", "ec2:DescribeInternetGateways", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs" ], "Resource": [ "*" ] } ] }
Beispiel 7: Benutzer erlauben, mit der Amazon-Redshift-Konsole Ressourcen zu markieren
Mit der folgenden Beispielrichtlinie kann ein Benutzer Ressourcen mit der Amazon-Redshift-Konsole über die AWS Resource Groups markieren. Diese Richtlinie kann einer Benutzerrolle zugewiesen werden, die die neue oder ursprüngliche Amazon-Redshift-Konsole aufruft. Weitere Informationen über das Markieren mit Tags finden Sie unter Tag-Ressourcen in Amazon Redshift.
{ "Version": "2012-10-17", "Statement": [ { "Sid":"Tagging permissions", "Effect": "Allow", "Action": [ "redshift:DeleteTags", "redshift:CreateTags", "redshift:DescribeTags", "tag:UntagResources", "tag:TagResources" ], "Resource": "*" } ] }
Beispielrichtlinie für die Verwendung GetClusterCredentials
Die folgende Richtlinie verwendet diese Beispielparameterwerte:
-
Region:
us-west-2
-
AWS Konto:
123456789012
-
Cluster name:
examplecluster
Die folgende Richtlinie aktiviert die Aktionen GetCredentials
, CreateClusterUser
und JoinGroup
. Die Richtlinie verwendet Bedingungsschlüssel, um die CreateClusterUser
Aktionen GetClusterCredentials
und nur dann zuzulassen, wenn die AWS Benutzer-ID übereinstimmt"AIDIODR4TAW7CSEXAMPLE:${redshift:DbUser}@yourdomain.com"
. IAM-Zugriff ist nur für die "testdb"
-Datenbank erforderlich. Die Richtlinie erlaubt Benutzern auch, einer Gruppe namens "common_group"
beizutreten.
{ "Version": "2012-10-17", "Statement": [ { "Sid":"GetClusterCredsStatement", "Effect": "Allow", "Action": [ "redshift:GetClusterCredentials" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:dbuser:examplecluster/${redshift:DbUser}", "arn:aws:redshift:us-west-2:123456789012:dbname:examplecluster/testdb", "arn:aws:redshift:us-west-2:123456789012:dbgroup:examplecluster/common_group" ], "Condition": { "StringEquals": { "aws:userid":"AIDIODR4TAW7CSEXAMPLE:${redshift:DbUser}@yourdomain.com" } } }, { "Sid":"CreateClusterUserStatement", "Effect": "Allow", "Action": [ "redshift:CreateClusterUser" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:dbuser:examplecluster/${redshift:DbUser}" ], "Condition": { "StringEquals": { "aws:userid":"AIDIODR4TAW7CSEXAMPLE:${redshift:DbUser}@yourdomain.com" } } }, { "Sid":"RedshiftJoinGroupStatement", "Effect": "Allow", "Action": [ "redshift:JoinGroup" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:dbgroup:examplecluster/common_group" ] } ] }