Erstellen einer IAM-Rolle als Standard für Amazon Redshift - Amazon Redshift

Erstellen einer IAM-Rolle als Standard für Amazon Redshift

Wenn Sie IAM-Rollen über die Redshift-Konsole erstellen, erstellt Amazon Redshift programmgesteuert die Rollen in Ihrem AWS-Konto und fügt daran vorhandene, von AWS verwaltete Richtlinien automatisch an. Bei dieser Methode können Sie in der Redshift-Konsole bleiben und müssen zur Rollenerstellung nicht zur IAM-Konsole wechseln. Für eine genauere Steuerung der Berechtigungen für eine vorhandene IAM-Rolle, die in der Amazon-Redshift-Konsole erstellt wurde, können Sie eine benutzerdefinierte verwaltete Richtlinie an die IAM-Rolle anhängen.

Überblick über in der Konsole erstellte IAM-Rollen

Wenn Sie die Amazon-Redshift-Konsole zum Erstellen von IAM-Rollen verwenden, verfolgt Amazon Redshift alle IAM-Rollen, die über die Konsole erstellt wurden. Amazon Redshift wählt zum Erstellen aller neuen Cluster und zum Wiederherstellen von Clustern aus Snapshots von sich aus die neueste IAM-Standardrolle aus.

Über die Konsole können Sie eine IAM-Rolle erstellen, die über eine Richtlinie mit Berechtigungen zum Ausführen von SQL-Befehlen verfügt. Zu diesen Befehlen gehören COPY, UNLOAD, CREATE EXTERNAL FUNCTION, CREATE EXTERNAL TABLE, CREATE EXTERNAL SCHEMA, CREATE MODEL und CREATE LIBRARY. Optional können Sie den Benutzerzugriff auf Ihre AWS-Ressourcen noch genauer steuern, indem Sie benutzerdefinierte Richtlinien erstellen und sie an die IAM-Rolle anfügen.

Wenn Sie eine IAM-Rolle erstellt und sie mit der Konsole als Standard für den Cluster festgelegt haben, brauchen Sie den Amazon-Ressourcenname (ARN) der IAM-Rolle nicht anzugeben, um die Authentifizierung und Autorisierung durchzuführen.

Verwenden der IAM-Rollen, die in der Konsole erstellt wurden

Bei der IAM-Rolle, die Sie über die Konsole für Ihren Cluster erstellen, ist die verwaltete Richtlinie AmazonRedshiftAllCommandsFullAccess automatisch angefügt. Diese IAM-Rolle ermöglicht es Amazon Redshift, Daten für AWS-Ressourcen in Ihrem IAM-Konto zu kopieren, zu entladen, abzufragen und zu analysieren. Die verwaltete Richtlinie bietet Zugriff auf die Operationen COPY, UNLOAD, CREATE EXTERNAL FUNCTION, CREATE EXTERNAL SCHEMA, CREATE MODEL und CREATE LIBRARY. Die Richtlinie gewährt außerdem Berechtigungen zum Ausführen von SELECT-Anweisungen für verwandte AWS-Dienste wie Amazon S3, Amazon CloudWatch Logs, Amazon SageMaker und AWS Glue.

Die Befehle CREATE EXTERNAL FUNCTION, CREATE EXTERNAL SCHEMA, CREATE MODEL und CREATE LIBRARY haben das Stichwort default (Standard). Gemäß diesem Stichwort verwendet Amazon Redshift die IAM-Rolle, die als Standard festgelegt und mit dem Cluster verknüpft ist, wenn der Befehl ausgeführt wird. Sie können mit den Befehl DEFAULT_IAM_ROLE die aktuelle IAM-Standardrolle überprüfen, die an den Cluster angefügt ist.

Um die Zugriffsberechtigungen der IAM-Rolle zu steuern, die für Ihren Redshift-Cluster erstellt und als Standard festgelegt wurde, verwenden Sie die Berechtigung ASSUMEROLE. Diese Zugriffssteuerung gilt für Datenbankbenutzer und -gruppen, wenn sie Befehle wie die oben aufgeführten ausführen. Nachdem Sie einem Benutzer oder einer Gruppe die Berechtigung ASSUMEROLE für eine IAM-Rolle erteilt haben, kann der Benutzer oder die Gruppe diese Rolle übernehmen, wenn diese Befehle ausgeführt werden. Mit der Berechtigung ASSUMEROLE können Sie bei Bedarf Zugriff auf die entsprechenden Befehle gewähren.

Mit der Amazon-Redshift-Konsole können Sie Folgendes tun:

Berechtigungen der verwalteten Richtlinie AmazonRedshiftAllCommandsFullAccess

Im folgenden Beispiel sehen Sie die Berechtigungen in der verwalteten Richtlinie AmazonRedshiftAllCommandsFullAccess, die bestimmte Aktionen für diejenige IAM-Rolle zulässt, die als Standard für Ihren Cluster festgelegt ist. Die IAM-Rolle mit angehängten Berechtigungsrichtlinien bestimmt, was ein Benutzer oder eine Gruppe tun kann und was nicht. Angesichts dieser Berechtigungen können Sie den Befehl COPY von Amazon S3 aus ausführen. Außerdem können Sie UNLOAD und CREATE MODEL verwenden.

{ "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*/*" ] }

Im folgenden Beispiel sehen Sie die Berechtigungen in der verwalteten Richtlinie AmazonRedshiftAllCommandsFullAccess, die bestimmte Aktionen für diejenige IAM-Rolle zulässt, die als Standard für den Cluster festgelegt ist. Die IAM-Rolle mit angehängten Berechtigungsrichtlinien bestimmt, was ein Benutzer oder eine Gruppe tun kann und was nicht. Mit den folgenden Berechtigungen können Sie den Befehl CREATE EXTERNAL FUNCTION ausführen.

{ "Action": [ "lambda:InvokeFunction" ], "Resource": "arn:aws:lambda:*:*:function:*redshift*" }

Im folgenden Beispiel sehen Sie die Berechtigungen in der verwalteten Richtlinie AmazonRedshiftAllCommandsFullAccess, die bestimmte Aktionen für diejenige IAM-Rolle zulässt, die als Standard für den Cluster festgelegt ist. Die IAM-Rolle mit angehängten Berechtigungsrichtlinien bestimmt, was ein Benutzer oder eine Gruppe tun kann und was nicht. Angesichts der folgenden Berechtigungen können Sie die Befehle CREATE EXTERNAL SCHEMA und CREATE EXTERNAL TABLE ausführen, die für Amazon Redshift Spectrum benötigt werden.

{ "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*" ] }

Im folgenden Beispiel sehen Sie die Berechtigungen in der verwalteten Richtlinie AmazonRedshiftAllCommandsFullAccess, die bestimmte Aktionen für diejenige IAM-Rolle zulassen, die als Standard für den Cluster festgelegt ist. Die IAM-Rolle mit angehängten Berechtigungsrichtlinien bestimmt, was ein Benutzer oder eine Gruppe tun kann und was nicht. Angesichts der folgenden Berechtigungen können Sie den Befehl CREATE EXTERNAL SCHEMA mit Verbundabfragen ausführen.

{ "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" } } },

Verwalten von IAM-Rollen, die mit der Konsole für einen Cluster erstellt wurden

Um IAM-Rollen, die in der Amazon-Redshift-Konsole erstellt wurden, zu erstellen, zu ändern und zu entfernen, verwenden Sie den Abschnitt Cluster in der Konsole.

Erstellen einer IAM-Rolle als Standard

In der Konsole können Sie eine IAM-Rolle für Ihren Cluster erstellen, der die Richtlinie AmazonRedshiftAllCommandsFullAccess automatisch angefügt ist. Die neue IAM-Rolle ermöglicht es Amazon Redshift dann, Daten von Amazon-Ressourcen in Ihrem IAM-Konto zu kopieren, zu laden, abzufragen und zu analysieren.

Es kann nur eine IAM-Rolle als Standard für den Cluster festgelegt werden. Wenn Sie eine andere IAM-Rolle als Cluster-Standard erstellen und gerade eine vorhandene IAM-Rolle als Standard zugewiesen wird, ersetzt die neue IAM-Rolle die andere als Standard.

Einen neuen Cluster und eine IAM-Rolle erstellen, die als Standard für den neuen Cluster festgelegt ist

  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon-Redshift-Konsole unter https://console.aws.amazon.com/redshift/.

  2. Wählen Sie im Navigationsmenü CLUSTERS (CLUSTER) aus. Die Cluster für Ihr Konto in der aktuellen AWS-Region werden aufgelistet. Eine Teilmenge der Eigenschaften jedes Clusters wird in den Spalten der Liste angezeigt.

  3. Wählen Sie Create cluster (Cluster erstellen) aus, um einen Cluster zu erstellen.

  4. Folgen Sie den Anweisungen auf der Konsolenseite, um die Eigenschaften für die Cluster configuration (Clusterkonfiguration) einzugeben.

    Wählen Sie eine der folgenden Methoden zur Bestimmung der Größe Ihres Clusters aus:

    Anmerkung

    Im folgenden Schritt gehen wir davon aus, dass die AWS-Region RA3-Knotentypen unterstützt. Eine Liste von AWS-Regionen, die RA3-Knotentypen unterstützen, finden Sie unter Übersicht über RA3-Knotentypen im Amazon-Redshift-Clusterverwaltungshandbuch.

    • Wenn Ihre AWS-Region RA3-Knotentypen unterstützt, wählen Sie entweder Production (Produktion) oder Free trial (Kostenlose Testversion) als Antwort auf die Frage: What are you planning to use this cluster for? (Wofür möchten Sie diesen Cluster verwenden?) aus.

      Wenn Ihre Organisation berechtigt ist, können Sie unter Umständen im Rahmen des kostenlosen Testprogramms von Amazon Redshift einen Cluster erstellen. Wählen Sie dazu Free trial (Kostenlose Testversion) aus, um eine Konfiguration mit dem Knotentyp dc2.large zu erstellen. Weitere Informationen zur Auswahl einer kostenlosen Testversion finden Sie unter Kostenlose Testversion von Amazon Redshift.

    • Wenn Sie nicht wissen, wie groß Ihr Cluster sein sollte, wählen Sie Help me choose (Hilfe bei der Auswahl) aus. Dadurch wird ein Größenbestimmungsrechner gestartet, der Ihnen Fragen zur Größe und zu Abfragemerkmalen der Daten stellt, die Sie in Ihrem Data Warehouse speichern möchten.

      Wenn Sie die erforderliche Größe Ihres Clusters kennen (d. h. den Knotentyp und die Anzahl der Knoten), wählen Sie I'll choose (Ich entscheide) aus. Wählen Sie den Node type (Knotentyp) und die Anzahl der Nodes (Knoten) aus, um die Größe Ihres Clusters für den Machbarkeitsnachweis zu bestimmen.

  5. (Optional) Wählen Sie Load sample data (Beispieldaten laden) aus, um den Beispieldatensatz in Ihren Amazon-Redshift-Cluster zu laden und mit dem Abfrage-Editor Daten abzufragen.

    Wenn Sie sich hinter einer Firewall befinden, muss der Datenbank-Port ein offener Port sein, der eingehende Verbindungen akzeptiert.

  6. Folgen Sie den Anweisungen auf der Konsolenseite, um Eigenschaften für die Database configurations (Datenbankkonfiguration) einzugeben.

  7. Unter Cluser permissions (Cluster-Berechtigungen) wählen Sie bei Manage IAM roles (IAM-Rollen verwalten) die Option Create IAM role (IAM-Rolle erstellen) aus.

  8. Geben Sie einen Amazon S3 Bucket an, auf den die IAM-Rolle zugreifen soll, indem Sie eine der folgenden Methoden wählen:

    • Wählen Sie No additional Amazon S3 bucket (Kein zusätzlicher Amazon S3 Bucket) aus, um die IAM-Rolle zu erstellen, ohne bestimmte Amazon S3 Buckets anzugeben.

    • Wählen Sie Any Amazon S3 bucket (Jeder Amazon S3 Bucket) aus, damit Benutzer, die Zugriff auf Ihren Amazon-Redshift-Cluster haben, auch auf jeden Amazon S3 Bucket und dessen Inhalt in Ihrem AWS-Konto zugreifen können.

    • Wählen Sie Specific Amazon S3 buckets (Bestimmte Amazon S3 Buckets) aus, um einen oder mehrere Amazon S3 Buckets anzugeben, auf die die erstellte IAM-Rolle Zugriff hat. Wählen Sie dann einen oder mehrere Amazon S3 Buckets aus der Tabelle aus.

  9. Wählen Sie Create IAM role as default (IAM-Rolle als Standard erstellen) aus. Amazon Redshift erstellt die IAM-Rolle und legt sie automatisch als Standard für Ihren Cluster fest.

  10. Wählen Sie Create cluster (Cluster erstellen) aus, um den Cluster zu erstellen. Es kann einige Minuten dauern, bis der Cluster zur Verwendung bereit ist.

Entfernen von IAM-Rollen aus Ihrem Cluster

Sie können eine oder mehrere IAM-Rollen aus Ihrem Cluster entfernen.

IAM-Rollen aus dem Cluster entfernen

  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon-Redshift-Konsole unter https://console.aws.amazon.com/redshift/.

  2. Wählen Sie im Navigationsmenü CLUSTERS (CLUSTER) aus. Die Cluster für Ihr Konto in der aktuellen AWS-Region werden aufgelistet. Eine Teilmenge der Eigenschaften jedes Clusters wird in den Spalten der Liste angezeigt.

  3. Wählen Sie den Cluster aus, von dem Sie die IAM-Rolle entfernen möchten.

  4. Wählen Sie unter Custer permissions (Cluster-Berechtigungen) eine oder mehrere IAM-Rollen aus, die Sie aus dem Cluster entfernen möchten.

  5. Wählen Sie unter Manage IAM roles (IAM-Rollen verwalten) die Option Remove IAM roles (IAM-Rollen entfernen) aus.

Zuweisen von IAM-Rollen zum Cluster

Sie können Ihrem Cluster eine oder mehrere IAM-Rollen zuordnen.

IAM-Rollen dem Cluster zuweisen

  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon-Redshift-Konsole unter https://console.aws.amazon.com/redshift/.

  2. Wählen Sie im Navigationsmenü CLUSTERS (CLUSTER) aus. Die Cluster für Ihr Konto in der aktuellen AWS-Region werden aufgelistet. Eine Teilmenge der Eigenschaften jedes Clusters wird in den Spalten der Liste angezeigt.

  3. Wählen Sie den Cluster aus, dem Sie IAM-Rollen zuordnen möchten.

  4. Wählen Sie unter Cluster permissions (Clusterberechtigungen) eine oder mehrere IAM-Rollen aus, die Sie dem Cluster zuordnen möchten.

  5. Wählen Sie unter Manage IAM roles (IAM-Rollen verwalten) die Option Associate IAM roles (IAM-Rollen zuordnen) aus.

  6. Wählen Sie eine oder mehrere IAM-Rollen aus, die Sie dem Cluster zuordnen möchten.

  7. Wählen Sie dann Associate IAM role (IAM-Rolle zuordnen) aus.

Festlegen einer IAM-Rolle als Standard

Sie können eine IAM-Rolle als Standard für einen Cluster festlegen.

Eine IAM-Rolle zur Standardeinstellung für den Cluster machen

  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon-Redshift-Konsole unter https://console.aws.amazon.com/redshift/.

  2. Wählen Sie im Navigationsmenü CLUSTERS (CLUSTER) aus. Die Cluster für Ihr Konto in der aktuellen AWS-Region werden aufgelistet. Eine Teilmenge der Eigenschaften jedes Clusters wird in den Spalten der Liste angezeigt.

  3. Wählen Sie den Cluster aus, für den Sie eine IAM-Standardrolle festlegen möchten.

  4. Wählen Sie unter Cluster permissions (Clusterberechtigungen) bei Associated IAM roles (Zugeordnete IAM-Rollen) eine IAM-Rolle aus, die Sie als Standard für den Cluster festlegen möchten.

  5. Wählen Sie unter Set default (Standard festlegen) die Option Make default (Als Standard festlegen) aus.

  6. Wählen Sie bei der entsprechenden Aufforderung Set default (Standard festlegen) aus, um zu bestätigen, dass die angegebene IAM-Rolle die Standardrolle sein soll.

Aufheben des Standardstatus bei einer IAM-Rolle im Cluster

Sie können einstellen, dass eine bestimmte IAM-Rolle nicht mehr die Standardrolle für Ihren Cluster sein soll.

Eine IAM-Rolle als Standard im Cluster löschen

  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon-Redshift-Konsole unter https://console.aws.amazon.com/redshift/.

  2. Wählen Sie im Navigationsmenü CLUSTERS (CLUSTER) aus. Die Cluster für Ihr Konto in der aktuellen AWS-Region werden aufgelistet. Eine Teilmenge der Eigenschaften jedes Clusters wird in den Spalten der Liste angezeigt.

  3. Wählen Sie den Cluster aus, dem Sie IAM-Rollen zuordnen möchten.

  4. Wählen Sie unter Cluster permissions (Clusterberechtigungen) bei Associated IAM roles (Zugeordnete IAM-Rollen) die Standard-IAM-Rolle aus.

  5. Wählen Sie unter Set default (Standard festlegen) die Option Clear default (Standard löschen) aus.

  6. Wählen Sie nach der Aufforderung Clear default (Standard löschen) aus, um zu bestätigen, dass die angegebene IAM-Rolle kein Standard mehr sein soll.

Verwalten von im Cluster erstellten IAM-Rollen mit der AWS CLI

Sie können die AWS CLI nutzen, um IAM-Rollen zu verwalten, die im Cluster erstellt wurden.

Einen Amazon-Redshift-Cluster mit einer IAM-Rolle als Standard erstellen

Um einen Amazon-Redshift-Cluster mit einer IAM-Rolle zu erstellen, legen Sie sie als Standard für den Cluster fest. Verwenden Sie dazu den AWS CLI-Befehl aws redshift create-cluster.

Mit dem folgenden AWS CLI-Befehl erstellen Sie einen Amazon-Redshift-Cluster und die IAM-Rolle namens „myrole1“. Der AWS CLI-Befehl legt außerdem „myrole1“ als Standard für den Cluster fest.

aws redshift create-cluster \ --node-type dc2.large \ --number-of-nodes 2 \ --master-username adminuser \ --master-user-password TopSecret1 \ --cluster-identifier mycluster \ --iam-roles 'arn:aws:iam::012345678910:role/myrole1' 'arn:aws:iam::012345678910:role/myrole2' \ --default-iam-role-arn 'arn:aws:iam::012345678910:role/myrole1'

Der folgende Codeausschnitt ist ein Beispiel für die Antwort.

{ "Cluster": { "ClusterIdentifier": "mycluster", "NodeType": "dc2.large", "MasterUsername": "adminuser", "DefaultIamRoleArn": "arn:aws:iam::012345678910:role/myrole1", "IamRoles": [ { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole1", "ApplyStatus": "adding" }, { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole2", "ApplyStatus": "adding" } ] ... } }

Einem Amazon-Redshift-Cluster eine oder mehrere IAM-Rollen hinzufügen

Um eine oder mehrere IAM-Rollen hinzuzufügen, die dem Cluster zugeordnet sind, verwenden Sie den AWS CLI-Befehl aws redshift modify-cluster-iam-roles.

Mit dem folgenden AWS CLI-Befehl fügen Sie myrole3 und myrole4 zum Cluster hinzu.

aws redshift modify-cluster-iam-roles \ --cluster-identifier mycluster \ --add-iam-roles 'arn:aws:iam::012345678910:role/myrole3' 'arn:aws:iam::012345678910:role/myrole4'

Der folgende Codeausschnitt ist ein Beispiel für die Antwort.

{ "Cluster": { "ClusterIdentifier": "mycluster", "NodeType": "dc2.large", "MasterUsername": "adminuser", "DefaultIamRoleArn": "arn:aws:iam::012345678910:role/myrole1", "IamRoles": [ { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole1", "ApplyStatus": "in-sync" }, { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole2", "ApplyStatus": "in-sync" }, { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole3", "ApplyStatus": "adding" }, { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole4", "ApplyStatus": "adding" } ], ... } }

Eine oder mehrere IAM-Rollen aus einem Amazon-Redshift-Cluster entfernen

Um eine oder mehrere IAM-Rollen zu entfernen, die dem Cluster zugeordnet sind, verwenden Sie den AWS CLI-Befehl aws redshift modify-cluster-iam-roles.

Mit dem folgenden AWS CLI-Befehl entfernen Sie myrole3 und myrole4 aus dem Cluster.

aws redshift modify-cluster-iam-roles \ --cluster-identifier mycluster \ --remove-iam-roles 'arn:aws:iam::012345678910:role/myrole3' 'arn:aws:iam::012345678910:role/myrole4'

Der folgende Codeausschnitt ist ein Beispiel für die Antwort.

{ "Cluster": { "ClusterIdentifier": "mycluster", "NodeType": "dc2.large", "MasterUsername": "adminuser", "DefaultIamRoleArn": "arn:aws:iam::012345678910:role/myrole1", "IamRoles": [ { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole1", "ApplyStatus": "in-sync" }, { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole2", "ApplyStatus": "in-sync" }, { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole3", "ApplyStatus": "removing" }, { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole4", "ApplyStatus": "removing" } ], ... } }

Eine zugeordnete IAM-Rolle als Standard für den Cluster festlegen

Um eine zugehordnete IAM-Rolle als Standard für den Cluster festzulegen, verwenden Sie den AWS CLI-Befehl aws redshift modify-cluster-iam-roles.

Mit den folgenden AWS CLI-Befehlssätzen legen Sie myrole2 als Standard für den Cluster fest.

aws redshift modify-cluster-iam-roles \ --cluster-identifier mycluster \ --default-iam-role-arn 'arn:aws:iam::012345678910:role/myrole2'

Der folgende Codeausschnitt ist ein Beispiel für die Antwort.

{ "Cluster": { "ClusterIdentifier": "mycluster", "NodeType": "dc2.large", "MasterUsername": "adminuser", "DefaultIamRoleArn": "arn:aws:iam::012345678910:role/myrole2", "IamRoles": [ { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole1", "ApplyStatus": "in-sync" }, { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole2", "ApplyStatus": "in-sync" } ], ... } }

Eine nicht zugeordnete IAM-Rolle als Standard für den Cluster festlegen

Um eine nicht zugordnete IAM-Rolle als Standard für den Cluster festzulegen, verwenden Sie den AWS CLI-Befehl aws redshift modify-cluster-iam-roles.

Mit dem folgenden AWS CLI-Befehl fügen Sie dem Amazon-Redshift-Cluster myrole2 hinzu und legen sie als Standard für den Cluster fest.

aws redshift modify-cluster-iam-roles \ --cluster-identifier mycluster \ --add-iam-roles 'arn:aws:iam::012345678910:role/myrole3' \ --default-iam-role-arn 'arn:aws:iam::012345678910:role/myrole3'

Der folgende Codeausschnitt ist ein Beispiel für die Antwort.

{ "Cluster": { "ClusterIdentifier": "mycluster", "NodeType": "dc2.large", "MasterUsername": "adminuser", "DefaultIamRoleArn": "arn:aws:iam::012345678910:role/myrole3", "IamRoles": [ { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole1", "ApplyStatus": "in-sync" }, { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole2", "ApplyStatus": "in-sync" }, { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole3", "ApplyStatus": "adding" } ], ... } }

Einen Cluster aus einem Snapshot wieder herstellen und eine IAM-Rolle als Standard festlegen

Wenn Sie Ihren Cluster aus einem Snapshot wiederherstellen, können Sie entweder eine vorhandene IAM-Rolle zuordnen oder eine neue erstellen und als Standard für den Cluster festlegen.

Um einen Amazon-Redshift-Cluster aus einem Snapshot wiederherzustellen und eine IAM-Rolle als Cluster-Standard festzulegen, verwenden Sie den AWS CLI-Befehl aws redshift restore-from-cluster-snapshot.

Mit dem folgenden AWS CLI-Befehl stellen Sie den Cluster aus einem Snapshot wieder her und legen myrole2 als Standard für den Cluster fest.

aws redshift restore-from-cluster-snapshot \ --cluster-identifier mycluster-clone \ --snapshot-identifier my-snapshot-id --iam-roles 'arn:aws:iam::012345678910:role/myrole1' 'arn:aws:iam::012345678910:role/myrole2' \ --default-iam-role-arn 'arn:aws:iam::012345678910:role/myrole1'

Der folgende Codeausschnitt ist ein Beispiel für die Antwort.

{ "Cluster": { "ClusterIdentifier": "mycluster-clone", "NodeType": "dc2.large", "MasterUsername": "adminuser", "DefaultIamRoleArn": "arn:aws:iam::012345678910:role/myrole1", "IamRoles": [ { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole1", "ApplyStatus": "adding" }, { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole2", "ApplyStatus": "adding" } ], ... } }