Übersicht zur Verwaltung der Zugriffsberechtigungen für Amazon-Redshift-Ressourcen - Amazon Redshift

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.

Übersicht zur Verwaltung der Zugriffsberechtigungen für Amazon-Redshift-Ressourcen

Jede AWS Ressource gehört einem AWS Konto, und die Berechtigungen zum Erstellen oder Zugreifen auf die Ressourcen werden durch Berechtigungsrichtlinien geregelt. Ein Kontoadministrator kann IAM-Identitäten (d. h. Benutzern, Gruppen und Rollen) Berechtigungsrichtlinien zuordnen, und einige Dienste (z. B. AWS Lambda) unterstützen auch das Anhängen von Berechtigungsrichtlinien an Ressourcen.

Anmerkung

Ein Kontoadministrator (oder Administratorbenutzer) ist ein Benutzer mit Administratorrechten. Weitere Informationen finden Sie unter Bewährte Methoden für IAM im IAM-Benutzerhandbuch.

Beim Erteilen von Berechtigungen entscheiden Sie, wer die Berechtigungen erhält, für welche Ressourcen die Berechtigungen gelten und welche Aktionen an diesen Ressourcen gestattet werden sollen.

Amazon-Redshift-Ressourcen und -Operationen

Amazon Redshift stellt die folgenden servicespezifischen Ressourcen, Aktionen und Bedingungskontextschlüssel für die Benutzung in IAM-Berechtigungsrichtlinien bereit.

Zugriffsberechtigungen von Amazon Redshift, Amazon Redshift Serverless, der Amazon-Redshift-Daten-API und Amazon Redshift Query Editor v2

Beim Einrichten von Zugriffskontrolle schreiben Sie Berechtigungsrichtlinien, die Sie einer IAM-Identität zuweisen können (identitätsbasierte Richtlinien). Weitere Informationen finden Sie in den folgenden Themen in der Service-Authorization-Referenz:

Die Service-Authorization-Referenz enthält Informationen darüber, welche API-Operationen in einer IAM-Richtlinie verwendet werden können. Es enthält auch die AWS Ressource, für die Sie die Berechtigungen erteilen können, sowie Bedingungsschlüssel, die Sie für eine detaillierte Zugriffskontrolle einbeziehen können. Weitere Informationen über Bedingungen finden Sie unter Verwenden von IAM-Richtlinienbedingungen für die differenzierte Zugriffskontrolle.

Sie geben die Aktionen im Feld Action der Richtlinie, den Ressourcenwert im Feld Resource der Richtlinie und die Bedingungen im Feld Condition der Richtlinie an. Um eine Aktion für Amazon Redshift anzugeben, verwenden Sie das Präfix redshift: gefolgt vom Namen der API-Operation (z. B. redshift:CreateCluster).

Grundlegendes zum Eigentum an Ressourcen

Ein Ressourcenbesitzer ist das AWS Konto, das eine Ressource erstellt hat. Das heißt, der Ressourcenbesitzer ist das AWS Konto der Prinzipalentität (das Root-Konto, ein IAM-Benutzer oder eine IAM-Rolle), das die Anforderung authentifiziert, mit der die Ressource erstellt wird. Die Funktionsweise wird anhand der folgenden Beispiele deutlich:

  • Wenn Sie die Root-Kontoanmeldeinformationen Ihres AWS Kontos verwenden, um einen DB-Cluster zu erstellen, ist Ihr AWS Konto der Eigentümer der Amazon Redshift Redshift-Ressource.

  • Wenn Sie in Ihrem AWS Konto eine IAM-Rolle mit Berechtigungen zum Erstellen von Amazon Redshift Redshift-Ressourcen erstellen, kann jeder, der diese Rolle übernehmen kann, Amazon Redshift Redshift-Ressourcen erstellen. Ihr AWS -Konto, zu dem die Rolle gehört, ist der Inhaber der Amazon-Redshift-Ressourcen.

  • Wenn Sie in Ihrem AWS Konto einen IAM-Benutzer erstellen und diesem Benutzer Berechtigungen zum Erstellen von Amazon Redshift Redshift-Ressourcen gewähren, kann der Benutzer Amazon Redshift Redshift-Ressourcen erstellen. Ihr AWS Konto, zu dem der Benutzer gehört, besitzt jedoch die Amazon Redshift Redshift-Ressourcen. In den meisten Fällen wird diese Methode nicht empfohlen. Wir empfehlen, eine IAM-Rolle zu erstellen, der Rolle Berechtigungen anzufügen und die Rolle dann einem Benutzer zuzuweisen.

Verwalten des Zugriffs auf Ressourcen

Eine Berechtigungsrichtlinie beschreibt, wer Zugriff auf was hat. Im folgenden Abschnitt werden die verfügbaren Optionen zum Erstellen von Berechtigungsrichtlinien erläutert.

Anmerkung

Dieser Abschnitt behandelt die Verwendung von IAM im Zusammenhang mit Amazon Redshift. Er enthält keine detaillierten Informationen über den IAM-Service. Eine umfassende IAM-Dokumentation finden Sie unter Was ist IAM? im IAM-Benutzerhandbuch. Informationen über die Syntax und Beschreibungen von IAM-Richtlinien finden Sie in der AWS -IAM-Richtlinienreferenz im IAM-Benutzerhandbuch.

Richtlinien, die einer IAM-Identität zugeordnet sind, werden als identitätsbasierte Richtlinien (IAM-Richtlinien) bezeichnet, während Richtlinien, die einer Ressource zugeordnet sind, ressourcenbasierte Richtlinien genannt werden. Amazon Redshift unterstützt nur identitätsbasierte Richtlinien (IAM-Richtlinien).

Identitätsbasierte Richtlinien (IAM-Richtlinien)

Sie können Berechtigungen zuweisen, indem Sie Richtlinien an eine IAM-Rolle anfügen und diese Rolle dann einem Benutzer oder einer Gruppe zuweisen. Im Folgenden finden Sie eine Beispielrichtlinie, die Berechtigungen zum Erstellen, Löschen, Ändern und Neustarten von Amazon Redshift Redshift-Clustern für Ihr AWS Konto enthält.

{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowManageClusters", "Effect":"Allow", "Action": [ "redshift:CreateCluster", "redshift:DeleteCluster", "redshift:ModifyCluster", "redshift:RebootCluster" ], "Resource":"*" } ] }

Weitere Informationen zur Verwendung identitätsbasierter Richtlinien mit Amazon Redshift finden Sie unter Verwenden identitätsbasierter Richtlinien (IAM-Richtlinien) für Amazon Redshift. Weitere Informationen zu Benutzern, Gruppen, Rollen und Berechtigungen finden Sie unter Identitäten (Benutzer, Gruppen und Rollen) im IAM-Benutzerhandbuch.

Ressourcenbasierte Richtlinien

Andere Services, z. B. Amazon S3, unterstützen auch ressourcenbasierte Berechtigungsrichtlinien. Beispielsweise können Sie einem S3 Bucket eine Richtlinie zuweisen, um die Zugriffsberechtigungen für diesen Bucket zu verwalten. Amazon Redshift unterstützt keine ressourcenbasierten Richtlinien. 

Angeben der Richtlinienelemente: Aktionen, Effekte, Ressourcen und Prinzipale

Für jede Amazon-Redshift-Ressource (siehe Amazon-Redshift-Ressourcen und -Operationen) definiert der Service eine Reihe von API-Vorgängen (siehe Aktionen). Zur Erteilung von Berechtigungen für diese API-Vorgänge definiert Amazon Redshift eine Reihe von Aktionen, die Sie in einer Richtlinie angeben können. Für das Durchführen einer API-Operation können Berechtigungen für mehrere Aktionen erforderlich sein.

Grundlegende Richtlinienelemente:

  • Ressource – In einer Richtlinie wird der Amazon-Ressourcenname (ARN) zur Identifizierung der Ressource verwendet, für die die Richtlinie gilt. Weitere Informationen finden Sie unter Amazon-Redshift-Ressourcen und -Operationen.

  • Aktion – Mit Aktionsschlüsselwörtern geben Sie die Ressourcenoperationen an, die Sie zulassen oder verweigern möchten. Die redshift:DescribeClusters-Berechtigung erteilt dem Benutzer zum Beispiel Berechtigungen zum Durchführen des Amazon-Redshift-DescribeClusters-Vorgangs.

  • Auswirkung – Die von Ihnen festgelegte Auswirkung, wenn der Benutzer die jeweilige Aktion anfordert – entweder „allow“ (Zugriffserlaubnis) oder „deny“ (Zugriffsverweigerung). Wenn Sie den Zugriff auf eine Ressource nicht ausdrücklich gestatten ("Allow"), wird er automatisch verweigert. Sie können den Zugriff auf eine Ressource auch explizit verweigern. So können Sie sicherstellen, dass Benutzer nicht darauf zugreifen können, auch wenn der Zugriff durch eine andere Richtlinie gestattet wird.

  • Prinzipal – In identitätsbasierten Richtlinien (IAM-Richtlinien) ist der Benutzer, dem die Richtlinie zugewiesen ist, automatisch der Prinzipal. In ressourcenbasierten Richtlinien müssen Sie den Benutzer, das Konto, den Service oder die sonstige Entität angeben, die die Berechtigungen erhalten soll (gilt nur für ressourcenbasierte Richtlinien). Amazon Redshift unterstützt keine ressourcenbasierten Richtlinien.

Weitere Informationen zur Syntax und zu Beschreibungen von IAM-Richtlinien finden Sie in der AWS -IAM-Richtlinienreferenz im IAM-Benutzerhandbuch.

Eine Tabelle mit allen Amazon-Redshift-API-Aktionen und den Ressourcen, für die sie gelten, finden Sie unter Zugriffsberechtigungen von Amazon Redshift, Amazon Redshift Serverless, der Amazon-Redshift-Daten-API und Amazon Redshift Query Editor v2.

Angeben von Bedingungen in einer Richtlinie

Beim Erteilen von Berechtigungen können Sie mithilfe der Sprache der Zugriffsrichtlinie die Bedingungen angeben, wann die Richtlinie wirksam werden soll. Beispielsweise kann festgelegt werden, dass eine Richtlinie erst ab einem bestimmten Datum gilt. Weitere Informationen zum Angeben von Bedingungen in der Sprache der Zugriffsrichtlinie finden Sie unter IAM-JSON-Richtlinienelemente: Bedingung im IAM-Benutzerhandbuch.

Um Bedingungen zu identifizieren, unter denen eine Berechtigungsrichtlinie gilt, fügen Sie ein Condition-Element in Ihre IAM-Berechtigungsrichtlinie ein. Sie können beispielsweise eine Richtlinie erstellen, die einem Benutzer erlaubt, einen Cluster mit der Aktion redshift:CreateCluster zu erstellen, und Sie können ein Condition-Element hinzufügen, um die Einschränkung zu machen, dass dieser Benutzer den Cluster nur in einer bestimmten Region erstellen kann. Details hierzu finden Sie unter Verwenden von IAM-Richtlinienbedingungen für die differenzierte Zugriffskontrolle. Eine Liste mit allen Bedingungsschlüsselwerten sowie den Amazon-Redshift-Aktionen und -Ressourcen, für die sie gelten, finden Sie unter Zugriffsberechtigungen von Amazon Redshift, Amazon Redshift Serverless, der Amazon-Redshift-Daten-API und Amazon Redshift Query Editor v2.

Verwenden von IAM-Richtlinienbedingungen für die differenzierte Zugriffskontrolle

In Amazon Redshift können Sie Bedingungsschlüssel verwenden, um den Zugriff auf Ressourcen basierend auf den Tags dieser Ressourcen einzuschränken. Die folgenden Elemente sind gängige Amazon-Redshift-Bedingungsschlüssel.

Bedingungsschlüssel Beschreibung

aws:RequestTag

Erfordert, dass Benutzer einen Tag-Schlüssel (Name) und einen Wert angeben, wenn sie eine Ressource erstellen. Weitere Informationen finden Sie unter aws: RequestTag im IAM-Benutzerhandbuch.

aws:ResourceTag

Beschränkt den Benutzerzugriff auf Ressourcen auf der Grundlage bestimmter Tag-Schlüssel und Werte. Weitere Informationen finden Sie unter aws: ResourceTag im IAM-Benutzerhandbuch.

aws:TagKeys

Verwenden Sie diesen Schlüssel, um die Tag-Schlüssel in einer Anforderung mit den Schlüsseln zu vergleichen, die Sie in der Richtlinie angeben. Weitere Informationen finden Sie unter aws: TagKeys im IAM-Benutzerhandbuch.

Weitere Informationen zu Tags finden Sie unter Markieren – Übersicht.

Eine Liste der API-Aktionen, die die Bedingungsschlüssel redshift:RequestTag und redshift:ResourceTag unterstützen, finden Sie unter Zugriffsberechtigungen von Amazon Redshift, Amazon Redshift Serverless, der Amazon-Redshift-Daten-API und Amazon Redshift Query Editor v2.

Die folgenden Bedingungsschlüssel können mit der Amazon Redshift GetClusterCredentials Redshift-Aktion verwendet werden.

Bedingungsschlüssel Beschreibung

redshift:DurationSeconds

Begrenzt die Anzahl der Sekunden, die für die Dauer angegeben werden können.

redshift:DbName

Schränkt ein, welche Datenbanknamen angegeben werden können.

redshift:DbUser

Schränkt ein, welche Datenbankbenutzernamen angegeben werden können.

Beispiel 1: Beschränkung des Zugriffs mithilfe des Bedingungsschlüssels aws: ResourceTag

Verwenden Sie die folgende IAM-Richtlinie, damit ein Benutzer einen Amazon Redshift Redshift-Cluster nur für ein bestimmtes AWS Konto in der us-west-2 Region mit einem Tag mit einem environment Tag-Wert von ändern kann. test

{ "Version": "2012-10-17", "Statement": { "Sid": "AllowModifyTestCluster", "Effect": "Allow", "Action": "redshift:ModifyCluster", "Resource": "arn:aws:redshift:us-west-2:123456789012:cluster:*", "Condition": { "StringEquals": { "aws:ResourceTag/environment": "test" } } } }

Beispiel 2: Beschränken des Zugriffs mithilfe des Bedingungsschlüssels aws: RequestTag

Verwenden Sie die folgende IAM-Richtlinie, um einem Benutzer nur dann zu erlauben, einen Amazon-Redshift-Cluster zu erstellen, wenn der Befehl zum Erstellen des Clusters einen Tag mit der Bezeichnung usage und einen Tag-Wert von production enthält. Die Bedingung mit aws:TagKeys und der ForAllValues-Modifikator geben an, dass nur die Schlüssel costcenter und usage in der Anforderung angegeben werden können.

{ "Version": "2012-10-17", "Statement": { "Sid": "AllowCreateProductionCluster", "Effect": "Allow", "Action": [ "redshift:CreateCluster", "redshift:CreateTags" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/usage": "production" }, "ForAllValues:StringEquals": { "aws:TagKeys": [ "costcenter", "usage" ] } } } }