Amazon Redshift unterstützt ab dem 1. November 2025 nicht mehr die Erstellung neuer Python-UDFs. Wenn Sie Python-UDFs verwenden möchten, erstellen Sie die UDFs vor diesem Datum. Bestehende Python-UDFs funktionieren weiterhin wie gewohnt. Weitere Informationen finden Sie im Blog-Posting
Verknüpfen von IAM-Rollen mit Clustern
Nachdem Sie eine IAM-Rolle erstellt haben, die Amazon Redshift berechtigt, für Sie auf andere AWS-Services zuzugreifen, müssen Sie diese Rolle einem Amazon-Redshift-Cluster zuordnen. Dies ist Voraussetzung dafür, dass Sie die Rolle zum Laden oder Entladen von Daten verwenden können.
Für die Verknüpfung einer IAM-Rolle mit einem Cluster erforderliche Berechtigungen
Um eine IAM-Rolle mit einem Cluster verknüpfen zu können, muss ein Benutzer über die iam:PassRole-Berechtigung für diese IAM-Rolle verfügen. Mit dieser Berechtigung kann ein Administrator einschränken, welche IAM-Rollen ein Benutzer Amazon-Redshift-Clustern zuordnen kann. Als bewährte Methode empfehlen wir, einer IAM-Rolle Berechtigungsrichtlinien anzufügen und sie dann nach Bedarf Benutzern und Gruppen zuzuweisen. Weitere Informationen finden Sie unter Identity and Access Management in Amazon Redshift.
Das folgende Beispiel zeigt eine IAM-Richtlinie, die mit einem Benutzer verbunden werden kann und diesem die Durchführung dieser Aktionen ermöglicht:
-
Rufen Sie die Details für alle Amazon-Redshift-Cluster ab, die dem Konto dieses Benutzers gehören.
-
Ordnen Sie eine von drei IAM-Rollen einem von zwei Amazon-Redshift-Clustern zu.
Nachdem ein Benutzer die entsprechenden Berechtigungen besitzt, kann er eine IAM-Rolle einem Amazon-Redshift-Cluster zuordnen. Die IAM-Rolle kann dann mit dem Befehl COPY oder UNLOAD oder anderen Amazon-Redshift-Befehlen verwendet werden.
Weitere Informationen zu IAM-Richtlinien finden Sie unter Übersicht über IAM-Richtlinien im IAM-Benutzerhandbuch.
Verwaltung der Verknüpfung einer IAM-Rolle mit einem Cluster
Sie können eine IAM-Rolle einem Amazon-Redshift-Cluster zuordnen, wenn Sie den Cluster erstellen. Oder Sie können einen bestehenden Cluster ändern und eine oder mehrere IAM-Rollenzuordnungen hinzufügen oder entfernen.
Achten Sie auf Folgendes:
-
Die maximale Anzahl von IAM-Rollen, die Sie zuordnen können, unterliegt einem Kontingent.
-
Eine IAM-Rolle kann mehreren Amazon-Redshift-Clustern zugeordnet werden.
-
Eine IAM-Rolle kann nur dann einem Amazon-Redshift-Cluster zugeordnet werden, wenn sowohl die IAM-Rolle als auch der Cluster demselben AWS-Konto gehören.
Sie können die Verknüpfungen von IAM-Rollen für einen Cluster in der folgenden Weise mithilfe der Konsole verwalten.
So verwalten Sie IAM-Rollenzuordnungen:
Melden Sie sich bei der AWS-Managementkonsole an und öffnen Sie die Amazon-Redshift-Konsole unter https://console.aws.amazon.com/redshiftv2/
. -
Wählen Sie im Navigationsmenü Clusters (Cluster) und dann den Cluster aus, den Sie aktualisieren möchten.
-
Wählen Sie unter Actions (Aktionen) Manage IAM roles (IAM-Rollen verwalten) aus, um die aktuellen Liste der dem Cluster zugeordneten IAM-Rollen anzuzeigen.
-
Wählen Sie auf der Seite Manage IAM roles (IAM-Rollen verwalten) die verfügbaren IAM-Rollen aus, die hinzugefügt werden sollen. Wählen Sie dann Add IAM role (IAM-Rolle hinzufügen) aus.
-
Wählen Sie Done (Beenden), um Ihre Änderungen zu speichern.
Sie können die Verknüpfungen von IAM-Rollen für einen Cluster in der folgenden Weise mithilfe der AWS CLI verwalten.
Um eine IAM-Rolle mit einem Cluster bei dessen Erstellung zu verknüpfen, geben Sie den Amazon-Ressourcennamen (ARN) der IAM-Rolle als --iam-role-arns-Parameter des Befehls create-cluster an. Die maximale Anzahl von IAM-Rollen, die Sie beim Aufrufen des Befehls create-cluster hinzufügen können, unterliegt einem Kontingent.
Das Zuordnen von IAM-Rollen zu Amazon-Redshift-Clustern und das Aufheben der Zuordnungen sind asynchrone Prozesse. Mit dem Befehl describe-clusters können Sie den Status aller Verknüpfungen von IAM-Rollen mit Clustern abrufen.
Im folgenden Beispiel werden zwei IAM-Rollen mit dem neu erstellten Cluster verknüpft my-redshift-cluster.
aws redshift create-cluster \ --cluster-identifier "my-redshift-cluster" \ --node-type "ra3.4xlarge" \ --number-of-nodes 16 \ --iam-role-arns "arn:aws:iam::123456789012:role/RedshiftCopyUnload" \ "arn:aws:iam::123456789012:role/SecondRedshiftRole"
Um eine IAM-Rolle einem bestehenden Amazon-Redshift-Cluster zuzuordnen, geben Sie den Amazon-Ressourcennnamen (ARN) der IAM-Rolle für den --add-iam-roles-Parameter des modify-cluster-iam-roles-Befehls an. Die maximale Anzahl von IAM-Rollen, die Sie beim Aufrufen des Befehls modify-cluster-iam-roles hinzufügen können, unterliegt einem Kontingent.
Im folgenden Beispiel wird eine IAM-Rolle mit dem bestehenden Cluster verknüpft my-redshift-cluster.
aws redshift modify-cluster-iam-roles \ --cluster-identifier "my-redshift-cluster" \ --add-iam-roles "arn:aws:iam::123456789012:role/RedshiftCopyUnload"
Um die Verknüpfung einer IAM-Rolle mit einem Cluster aufzuheben, geben Sie den ARN der IAM-Rolle als Parameter --remove-iam-roles des Befehls modify-cluster-iam-roles an. modify-cluster-iam-roles Die maximale Anzahl von IAM-Rollen, die Sie beim Aufrufen des Befehls modify-cluster-iam-roles löschen können, unterliegt einem Kontingent.
Im folgenden Beispiel wird die Zuordnung einer IAM-Rolle für das AWS-Konto 123456789012 vom Cluster my-redshift-cluster entfernt.
aws redshift modify-cluster-iam-roles \ --cluster-identifier "my-redshift-cluster" \ --remove-iam-roles "arn:aws:iam::123456789012:role/RedshiftCopyUnload"
Auflistung der Verknüpfungen von IAM-Rollen für einen Cluster mithilfe der AWS CLI
Rufen Sie den Befehl describe-clusters auf, um eine Liste aller einem Amazon-Redshift-Cluster zugeordneten IAM-Rollen und den Status der IAM-Rollen-Zuordnung anzuzeigen. Der ARN jeder der mit dem Cluster verknüpften IAM-Rollen wird in der IamRoles-Liste aufgeführt, wie in der folgenden Beispielausgabe gezeigt.
Rollen, die mit dem Cluster verknüpft wurden, zeigen den Status in-sync. Rollen, deren Verknüpfung mit dem Cluster derzeit bearbeitet wird, zeigen den Status adding. Rollen, deren Verknüpfung mit dem Cluster derzeit aufgehoben wird, zeigen den Status removing.
{ "Clusters": [ { "ClusterIdentifier": "my-redshift-cluster", "NodeType": "ra3.4xlarge", "NumberOfNodes": 16, "IamRoles": [ { "IamRoleArn": "arn:aws:iam::123456789012:role/MyRedshiftRole", "IamRoleApplyStatus": "in-sync" }, { "IamRoleArn": "arn:aws:iam::123456789012:role/SecondRedshiftRole", "IamRoleApplyStatus": "in-sync" } ], ... }, { "ClusterIdentifier": "my-second-redshift-cluster", "NodeType": "ra3.4xlarge", "NumberOfNodes": 10, "IamRoles": [ { "IamRoleArn": "arn:aws:iam::123456789012:role/MyRedshiftRole", "IamRoleApplyStatus": "in-sync" }, { "IamRoleArn": "arn:aws:iam::123456789012:role/SecondRedshiftRole", "IamRoleApplyStatus": "in-sync" }, { "IamRoleArn": "arn:aws:iam::123456789012:role/ThirdRedshiftRole", "IamRoleApplyStatus": "in-sync" } ], ... } ] }
Weitere Informationen zum Verwenden der AWS CLI finden Sie im AWS CLI-Benutzerhandbuch.