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.
Verwendung identitätsbasierter Richtlinien (IAMRichtlinien) für Amazon Redshift
Dieses Thema enthält Beispiele für identitätsbasierte Richtlinien, mit denen ein Kontoadministrator Berechtigungsrichtlinien mit IAM Identitäten (d. h. Benutzern, Gruppen und Rollen) verknüpfen 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 und beginnt. production
AWS-Region us-west-2
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-Amazon-Ressourcennamen (ARN) 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 AWS werden. 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 im IAMBenutzerhandbuch unter AWS Verwaltete Richtlinien.
Sie können auch Ihre eigenen benutzerdefinierten IAM Richtlinien erstellen, um Berechtigungen für Amazon Redshift API Redshift-Operationen und -Ressourcen zu gewähren. Sie können diese benutzerdefinierten Richtlinien den IAM Rollen oder Gruppen zuordnen, für die diese Berechtigungen erforderlich sind.
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 API Redshift-Datenoperationen und -Ressourcen für ein AWS Konto.
Sie finden die AmazonRedshiftDataFullAccess
AmazonRedshiftQueryEditorV2 FullAccess
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
AmazonRedshiftQueryEditorV2 NoSharing
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
AmazonRedshiftQueryEditorV2 ReadSharing
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
AmazonRedshiftQueryEditorV2 ReadWriteSharing
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
Gewährt die Möglichkeit, die in der Amazon Redshift Redshift-Konsole erstellte IAM Rolle zu verwenden und sie als Standard festzulegen, damit der Cluster die CREATE MODEL Befehle COPY von Amazon S3UNLOAD, CREATE EXTERNALSCHEMA, CREATE EXTERNALFUNCTION, und ausführt. Die Richtlinie gewährt auch Berechtigungen zur Ausführung von SELECT Kontoauszügen für verwandte Dienste wie Amazon S3, CloudWatch Logs SageMaker, Amazon oder AWS Glue.
Sie finden die AmazonRedshiftAllCommandsFullAccess
Sie können auch Ihre eigenen benutzerdefinierten IAM Richtlinien erstellen, um Berechtigungen für Amazon Redshift API Redshift-Operationen und -Ressourcen zu gewähren. Sie können diese benutzerdefinierten Richtlinien den IAM Rollen oder Gruppen zuordnen, für die diese Berechtigungen erforderlich sind.
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 Benachrichtigungen über Änderungen an dieser Seite zu erhalten, abonnieren Sie den RSS Feed auf der Amazon Redshift Document-Verlaufsseite.
Änderung | Beschreibung | Datum |
---|---|---|
AmazonRedshiftQueryEditorV2 FullAccess – Aktualisierung auf eine bestehende Richtlinie |
Die Berechtigung für die Aktionen |
21. Februar 2024 |
AmazonRedshiftQueryEditorV2 NoSharing – Aktualisierung auf eine bestehende Richtlinie |
Die Berechtigung für die Aktionen |
21. Februar 2024 |
AmazonRedshiftQueryEditorV2 ReadSharing – Aktualisierung auf eine bestehende Richtlinie |
Die Berechtigung für die Aktionen |
21. Februar 2024 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing – 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 |
AmazonRedshiftQueryEditorV2 NoSharing – Aktualisierung auf eine bestehende Richtlinie |
Die Berechtigung für die Aktionen |
16. August 2023 |
AmazonRedshiftQueryEditorV2 ReadSharing – Aktualisierung auf eine bestehende Richtlinie |
Die Berechtigung für die Aktionen |
16. August 2023 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing – 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 zum Erstellen und Verwalten 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 |
AmazonRedshiftQueryEditorV2 NoSharing – Aktualisierung auf eine bestehende Richtlinie |
Die Berechtigung für die Aktion |
21. März 2023 |
AmazonRedshiftQueryEditorV2 ReadSharing – Aktualisierung auf eine bestehende Richtlinie |
Die Berechtigung für die Aktion |
21. März 2023 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing – Aktualisierung auf eine bestehende Richtlinie |
Die Berechtigung für die Aktion |
21. März 2023 |
AmazonRedshiftQueryEditorV2 NoSharing – Aktualisierung auf eine bestehende Richtlinie |
Die Berechtigung für die Aktion |
2. Februar 2023 |
AmazonRedshiftQueryEditorV2 ReadSharing – Aktualisierung auf eine bestehende Richtlinie |
Die Berechtigung für die Aktion |
2. Februar 2023 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing – Aktualisierung auf eine bestehende Richtlinie |
Die Berechtigung für die Aktion |
2. Februar 2023 |
AmazonRedshiftQueryEditorV2 NoSharing – 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 |
AmazonRedshiftQueryEditorV2 ReadSharing – 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 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing – 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 |
AmazonRedshiftQueryEditorV2 NoSharing – Aktualisierung auf eine bestehende Richtlinie |
Amazon Redshift hat den Aktionen |
30. August 2022 |
AmazonRedshiftQueryEditorV2 ReadSharing – Aktualisierung auf eine bestehende Richtlinie |
Amazon Redshift hat den Aktionen |
30. August 2022 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing – 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 |
AmazonRedshiftQueryEditorV2 NoSharing – Aktualisierung auf eine bestehende Richtlinie |
Amazon Redshift hat der Aktion |
15. Juni 2022 |
AmazonRedshiftQueryEditorV2 ReadSharing – Aktualisierung auf eine bestehende Richtlinie |
Amazon Redshift hat der Aktion |
15. Juni 2022 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing – 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 Amazon Redshift Serverless-Endpoints zu ermöglichen, weist Amazon Redshift der Elastic Network-Schnittstelle des VPC Endpunkts im Kundenkonto Elastic IP-Adressen zu und ordnet diese zu. 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 |
AmazonRedshiftQueryEditorV2 FullAccess – Aktualisierung auf eine bestehende Richtlinie |
Berechtigungen für die Aktion |
22. Februar 2022 |
AmazonRedshiftQueryEditorV2 NoSharing – Aktualisierung auf eine bestehende Richtlinie |
Berechtigungen für die Aktion |
22. Februar 2022 |
AmazonRedshiftQueryEditorV2 ReadSharing – Aktualisierung auf eine bestehende Richtlinie |
Berechtigungen für die Aktion |
22. Februar 2022 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing – Aktualisierung auf eine bestehende Richtlinie |
Berechtigungen für die Aktion |
22. Februar 2022 |
AmazonRedshiftQueryEditorV2 ReadSharing – Aktualisierung auf eine bestehende Richtlinie |
Die Berechtigung für die Aktion |
22. Februar 2022 |
AmazonRedshiftServiceLinkedRolePolicy – Aktualisierung auf eine bestehende Richtlinie |
Amazon Redshift hat Berechtigungen für neue Aktionen hinzugefügt, um die Verwaltung des Amazon Redshift Redshift-Netzwerks und VPC der Ressourcen zu ermöglichen. |
22. November 2021 |
AmazonRedshiftAllCommandsFullAccess – Neue Richtlinie. |
Amazon Redshift hat eine neue Richtlinie hinzugefügt, um die Verwendung der über die Amazon Redshift Redshift-Konsole erstellten IAM Rolle zu ermöglichen und sie als Standard für die Ausführung der Befehle COPY von Amazon S3,,, UNLOAD CREATE EXTERNAL SCHEMA CREATE EXTERNAL FUNCTION CREATEMODEL, oder CREATE LIBRARY auf dem Cluster festzulegen. |
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 |
Amazon Redshift hat neue Berechtigungen hinzugefügt, um Modellerklärbarkeit, DynamoDB, Redshift Spectrum und Amazon Federation zu ermöglichen. RDS | 7. Oktober 2021 |
AmazonRedshiftQueryEditorV2 FullAccess – 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 |
AmazonRedshiftQueryEditorV2 NoSharing – 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 |
AmazonRedshiftQueryEditorV2 ReadSharing – 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 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing – 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. Einzelheiten zu Berechtigungen in IAM Richtlinien für Redshift Spectrum finden Sie unter IAMRichtlinien für Amazon Redshift Spectrum im Amazon Redshift Database Developer Guide.
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-Sicherheits-, Amazon- CloudWatchSNS, Amazon- und Netzwerkinformationen.
Wenn Sie eine IAM Richtlinie erstellen, die restriktiver ist als die erforderlichen Mindestberechtigungen, funktioniert die Konsole für Benutzer mit dieser IAM Richtlinie nicht wie vorgesehen. 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 Amazon Redshift API anrufen, keine Mindestberechtigungen für die Konsole gewähren. AWS CLI
Erforderliche Berechtigungen zur Verwendung des Abfrage-Editors der Amazon-Redshift-Konsole
Damit ein Benutzer mit dem Amazon Redshift-Abfrage-Editor arbeiten kann, muss er über Mindestberechtigungen für Amazon Redshift- und Amazon Redshift Data-Operationen verfügen. API 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 gewährt dem Benutzer die Erlaubnis, nur die Ergebnisse seiner eigenen SQL Aussagen abzurufen. Das heißt, Aussagen, die von denselben Personen eingereicht wurden, aws:userid
wie in diesem Abschnitt der AmazonRedshiftQueryEditor
AWS verwalteten Richtlinie beschrieben.
{ "Sid": "DataAPIIAMSessionPermissionsRestriction", "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}" } } }
Um es einem Benutzer zu ermöglichen, die Ergebnisse von SQL Aussagen anderer Benutzer in derselben IAM Rolle abzurufen, erstellen Sie Ihre eigene Richtlinie, ohne dass der Zugriff auf den aktuellen Benutzer beschränkt werden muss. 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. Einzelheiten dazu, wie der Zugriff auf die Ressourcen des Abfrage-Editors v2 gesteuert wird, finden Sie in der Definition der spezifischen 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. Im Abfrage-Editor v2 basiert das Teilen von Abfragen auf dem Tag-Schlüssel und dem Tag-Wert "aws:ResourceTag/sqlworkbench-team": "${aws:PrincipalTag/sqlworkbench-team}"
in der IAM Richtlinie, die dem Prinzipal (der IAM Rolle) zugewiesen ist. Principals in derselben Gruppe AWS-Konto mit demselben Tag-Wert (z. B.accounting-team
) gehören im Abfrage-Editor v2 zum selben Team. Man kann jeweils nur mit einem Team verbunden sein. Ein Benutzer mit Administratorrechten kann Teams in der IAM Konsole einrichten, indem er allen Teammitgliedern denselben Wert für das sqlworkbench-team
Tag gibt. Wenn der Tag-Wert von für einen IAM Benutzer oder eine IAM Rolle geändert sqlworkbench-team
wird, kann es zu einer Verzögerung kommen, bis sich die Änderung in gemeinsam genutzten Ressourcen widerspiegelt. 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: Um das accounting-team
Tag für eine IAM Rolle hinzuzufü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 Änderungen speichern.
Wenn nun ein IAM Principal (mit dieser IAM Rolle zugewiesen) eine Abfrage mit dem Team teilt, können andere Principals mit demselben
accounting-team
Tag-Wert die Abfrage einsehen.
Weitere Informationen zum Anhängen eines Tags an einen Prinzipal, einschließlich IAM Rollen und IAM Benutzern, finden Sie im IAMBenutzerhandbuch unter IAMRessourcen taggen.
Sie können Teams auch auf Sitzungsebene mit einem Identitätsanbieter (IdP) einrichten. Auf diese Weise können mehrere Benutzer, die dieselbe IAM Rolle verwenden, unterschiedlichen Teams angehören. Die Vertrauensrichtlinie für IAM Rollen muss den sts:TagSession
Vorgang zulassen. Weitere Informationen finden Sie im IAMBenutzerhandbuch unter Erforderliche Berechtigungen zum Hinzufügen von Sitzungs-Tags. Fügen Sie der von Ihrem IdP bereitgestellten SAML Assertion das Principal-Tag-Attribut hinzu.
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:sqlworkbench-team"> <AttributeValue>accounting-team</AttributeValue> </Attribute>
Folgen Sie den Anweisungen Ihres Identitätsanbieters (IdP), um das SAML Attribut mit dem Inhalt aus Ihrem Verzeichnis zu füllen. Weitere Informationen zu Identitätsanbietern (IdPs) und Amazon Redshift finden Sie unter Verwendung der IAM Authentifizierung zur Generierung von Datenbank-Benutzeranmeldedaten Identitätsanbieter und Verbund im IAMBenutzerhandbuch.
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 Redshift-Scheduler verwenden, richten Sie eine IAM Rolle mit einer Vertrauensbeziehung zum Amazon Redshift Redshift-Scheduler (scheduler.redshift.amazonaws.com
) ein, damit der Scheduler in Ihrem Namen Berechtigungen übernehmen kann. Sie fügen der Rolle für die Amazon Redshift API Redshift-Operationen, die Sie planen möchten, auch eine Richtlinie (Berechtigungen) hinzu.
Das folgende Beispiel zeigt das Richtliniendokument im JSON Format zum Einrichten einer Vertrauensbeziehung 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 unter Erstellen einer Rolle zur Delegierung von Berechtigungen an einen AWS Service im Benutzerhandbuch. IAM
Sie müssen außerdem eine Berechtigung für die Amazon-Redshift-Vorgänge hinzufügen, die Sie planen möchten.
Damit der Scheduler den ResizeCluster
Vorgang verwenden kann, fügen Sie Ihrer IAM Richtlinie eine Berechtigung hinzu, die der folgenden ähnelt. 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 Erstellen einer Rolle für einen AWS Service (Konsole) im IAMBenutzerhandbuch. Treffen Sie diese Optionen, 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 den Vorgang ein, der geplant werden soll.
Nachdem Sie die Rolle erstellt haben, bearbeiten Sie die Vertrauensstellung der IAM Rolle, sodass sie den Dienst einschließt
redshift.amazonaws.com
.
Die IAM Rolle, die Sie erstellen, hat vertrauenswürdige Entitäten von scheduler.redshift.amazonaws.com
undredshift.amazonaws.com
. Es hat auch eine beigefügte Richtlinie, die eine unterstützte Amazon Redshift API Redshift-Aktion ermöglicht, "redshift:ResizeCluster"
z. B.
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 ein (events.amazonaws.com
), damit der Scheduler in Ihrem Namen Berechtigungen übernehmen kann. Sie fügen der Rolle auch eine Richtlinie (Berechtigungen) für die Amazon Redshift API Data-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 auf der IAM Konsole auszuführen. Fügen Sie in dieser IAM Rolle AmazonEventBridgeFullAccess
und hinzuAmazonRedshiftDataFullAccess
.
Das folgende Beispiel zeigt das Richtliniendokument in einem JSON Format, in dem eine Vertrauensstellung mit dem EventBridge Scheduler eingerichtet werden kann.
{ "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 IAMBenutzerhandbuch 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 IAMBenutzerhandbuch. Treffen Sie die folgenden Optionen, 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 IAM Rolle, die Sie erstellen, hat die vertrauenswürdige Entitätevents.amazonaws.com
. Es hat auch eine beigefügte Richtlinie, die unterstützte Amazon Redshift API Data-Aktionen wie, "redshift-data:*"
ermöglicht.
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 verwenden können SageMaker, 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 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 Federation. RDS
{ "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 optional einen AWS KMS Schlüssel für die Verschlüsselung zu verwenden, fügen Sie der Richtlinie 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>" ] }
Um Amazon Redshift die Interaktion mit anderen Diensten SageMaker zu ermöglichen und die vorherige IAM Rolle zu übernehmen, 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 your-s3-bucket
Werte your-account-id
your-role
, und sind die Konto-ID, Rolle und den Bucket, die Sie in Ihrem CREATE MODEL Befehl 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 your-kms-key
Wert ist der Schlüssel, den Sie als Teil Ihres CREATE MODEL Befehls verwenden.
Wenn Sie eine private virtuelle private Cloud (VPC) für einen Hyperparameter-Tuning-Job 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 arbeiten zu können, stellen Sie sicher, dass Sie über die erforderlichen Berechtigungen zum Aufrufen von SageMaker API Vorgängen verfügen. Wir empfehlen Ihnen dazu die verwaltete Richtlinie AmazonSageMakerFullAccess
. Wenn Sie eine IAM Rolle mit einer restriktiveren Richtlinie erstellen möchten, verwenden Sie die folgende Richtlinie.
{ "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 Developer Guide.
Wenn Sie Prognosemodelle erstellen möchten, empfehlen wir, die verwaltete Richtlinie AmazonForecastFullAccess
zu verwenden. Wenn Sie eine 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": "*" } ] }
Weitere Informationen zu Amazon Redshift ML finden Sie unter Verwenden von maschinellem Lernen in Amazon Redshift oder. CREATEMODEL
Berechtigungen für die Streaming-Erfassung
Die Streaming-Erfassung funktioniert mit zwei Services. Dies sind Kinesis Data Streams und AmazonMSK.
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.
Für die Nutzung von Streaming-Ingestion mit Amazon sind Berechtigungen erforderlich 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 Nutzung der Datenaustauschvorgänge sind Berechtigungen erforderlich API
Verwenden Sie IAM aktionsbasierte Richtlinien, um den Zugriff auf die API Datenfreigabevorgänge zu steuern. Informationen zur Verwaltung von IAM Richtlinien finden Sie im IAMBenutzerhandbuch unter IAMRichtlinien verwalten.
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 IAM aktionsbasierte Richtlinien verwenden, können Sie in der Richtlinie auch eine IAM Ressource 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 den AuthorizeDataShare
Zugriff auf eine bestimmte Datenfreigabe einschränken, indem Sie den Namen der Datenfreigabe in der Richtlinie angeben. IAM
{ "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 Producer-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/*
Im Folgenden finden Sie eine IAM Richtlinie, die verhindert, dass eine Entität die AuthorizeDataShare
Datenfreigaben nutzt, die einem bestimmten Producer-Cluster gehören.
{ "Statement": [ { "Action": [ "redshift:AuthorizeDataShare", ], "Resource": [ "arn:aws:redshift:us-east-1:555555555555:datashare:86b5169f-01dc-4a6f-9fbb-e2e24359e9a8/*" ], "Effect": "Deny" } ] }
DataShareARN
schränkt den Zugriff sowohl auf der Grundlage des Datashare-Namens als auch auf der Grundlage der global eindeutigen ID (GUID) für den Namespace des Clusters ein, der den Cluster besitzt. Dies geschieht, indem der Name als Sternchen angegeben wird.
Ressourcenrichtlinien für GetClusterCredentials
Um über eine ODBC OR-Verbindung mit Datenbankanmeldedaten eine JDBC Verbindung zu einer IAM Cluster-Datenbank herzustellen oder die GetClusterCredentials
Aktion programmgesteuert aufzurufen, 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 ODBC OR-Verbindung anstelle von server
und verwenden, können port
Sie cluster_id
und angebenregion
, aber dafür muss Ihre Richtlinie die redshift:DescribeClusters
Aktion mit Zugriff auf die Ressource zulassen. 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 Amazon Redshift oder API AWS SDKs das 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: Benutzer Zugriff auf Amazon Redshift und gängige Aktionen und Ressourcen für verwandte AWS -Services gewähren
Die folgende Beispielrichtlinie ermöglicht den Zugriff auf alle Aktionen und Ressourcen für Amazon Redshift, Amazon Simple Notification Service (AmazonSNS) 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 Markieren von 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"
. IAMDer Zugriff wird nur für die "testdb"
Datenbank angefordert. 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" ] } ] }