Verknüpfen von IAM-Rollen mit Clustern - Amazon Redshift

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

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

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.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "redshift:DescribeClusters", "Resource": "*" }, { "Effect": "Allow", "Action": [ "redshift:ModifyClusterIamRoles", "redshift:CreateCluster" ], "Resource": [ "arn:aws:redshift:us-east-1:123456789012:cluster:my-redshift-cluster", "arn:aws:redshift:us-east-1:123456789012:cluster:my-second-redshift-cluster" ] }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::123456789012:role/MyRedshiftRole", "arn:aws:iam::123456789012:role/SecondRedshiftRole", "arn:aws:iam::123456789012:role/ThirdRedshiftRole" ] } ] }

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 Redshift-Cluster zugeordnet werden, wenn sowohl die IAM-Rolle als auch der Cluster demselben Konto gehören. AWS

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:
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amazon Redshift Redshift-Konsole unter https://console.aws.amazon.com/redshiftv2/.

  2. Wählen Sie im Navigationsmenü Clusters (Cluster) und dann den Cluster aus, den Sie aktualisieren möchten.

  3. Wählen Sie unter Actions (Aktionen) Manage IAM roles (IAM-Rollen verwalten) aus, um die aktuellen Liste der dem Cluster zugeordneten IAM-Rollen anzuzeigen.

  4. 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.

  5. Wählen Sie Done (Beenden), um Ihre Änderungen zu speichern.

Sie können die IAM-Rollenzuordnungen für einen Cluster mit dem verwalten, AWS CLI indem Sie die folgenden Methoden verwenden.

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 für eine IAM-Rolle für das 123456789012 AWS Konto aus einem Cluster mit dem Namen entfernt. my-redshift-cluster

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 zur Verwendung von finden Sie im AWS CLIAWS CLI Benutzerhandbuch.