Verwenden von serviceverknüpften Rollen für die Write-Ahead-Protokollierung - Amazon EMR

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.

Verwenden von serviceverknüpften Rollen für die Write-Ahead-Protokollierung

Amazon EMR verwendet AWS Identity and Access Management (IAM) serviceverknüpfte Rollen. Eine serviceverknüpfte Rolle ist eine einzigartige Art von IAM-Rolle, die direkt mit Amazon EMR verknüpft ist. Servicebezogene Rollen sind von Amazon EMR vordefiniert und beinhalten alle Berechtigungen, die der Service benötigt, um andere AWS Services in Ihrem Namen aufzurufen.

Serviceverknüpfte Rollen arbeiten mit der Amazon EMR-Servicerolle und dem Amazon EC2 EC2-Instance-Profil für Amazon EMR zusammen. Weitere Informationen über die Service-Rolle und das Instance-Profil finden Sie unter Konfigurieren Sie IAM-Servicerollen für Amazon-EMR-Berechtigungen für AWS Services und Ressourcen.

Eine serviceverknüpfte Rolle erleichtert die Einrichtung von Amazon EMR, da Sie die erforderlichen Berechtigungen nicht manuell hinzufügen müssen. Amazon EMR definiert die Berechtigungen seiner serviceverknüpften Rollen, und sofern nicht anders definiert, kann nur Amazon EMR seine Rollen übernehmen. Die definierten Berechtigungen umfassen die Vertrauens- und Berechtigungsrichtlinie. Diese Berechtigungsrichtlinie kann keinen anderen IAM-Entitäten zugewiesen werden.

Sie können diese serviceverknüpfte Rolle für Amazon EMR erst löschen, nachdem Sie die zugehörigen Ressourcen gelöscht und alle EMR-Cluster im Konto beendet haben. Dadurch werden Ihre Amazon EMR-Ressourcen geschützt, sodass Sie nicht versehentlich die Zugriffsberechtigung für die Ressourcen entziehen können.

Servicebezogene Rollenberechtigungen für Write-Ahead Logging (WAL)

Amazon EMR verwendet die serviceverknüpfte Rolle AWSServiceRoleForEMRWAL, um einen Cluster-Status abzurufen.

Die AWSServiceRoleForEMRWAL serviceverknüpfte Rolle vertraut darauf, dass die folgenden Services die Rolle übernehmen:

  • emrwal.amazonaws.com

Die EMRDescribeClusterPolicyForEMRWALBerechtigungsrichtlinie für die serviceverknüpfte Rolle ermöglicht es Amazon EMR, die folgenden Aktionen für die angegebenen Ressourcen durchzuführen:

  • Aktion: DescribeCluster für *

Sie müssen Berechtigungen konfigurieren, damit eine IAM-Entität (in diesem Fall Amazon EMR WAL) eine serviceverknüpfte Rolle erstellen, bearbeiten oder löschen kann. Fügen Sie der Berechtigungsrichtlinie für Ihr Instance-Profil nach Bedarf die folgenden Anweisungen hinzu:

Um einer IAM-Entität zu ermöglichen, die AWSServiceRoleForEMRWAL serviceverknüpfte Rolle zu erstellen

Fügen Sie die folgende Anweisung der Berechtigungsrichtlinie für die IAM-Entität hinzu, die die serviceverknüpfte Rolle erstellen soll:

{ "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole", "iam:PutRolePolicy" ], "Resource": "arn:aws:iam::*:role/aws-service-role/emrwal.amazonaws.com*/AWSServiceRoleForEMRWAL*", "Condition": { "StringLike": { "iam:AWSServiceName": [ "emrwal.amazonaws.com", "elasticmapreduce.amazonaws.com.cn" ] } } }

Um einer IAM-Entität zu ermöglichen, die Beschreibung der serviceverknüpften Rolle zu bearbeiten AWSServiceRoleForEMRWAL

Fügen Sie die folgende Anweisung der Berechtigungsrichtlinie für die IAM-Entität hinzu, die die Beschreibung einer serviceverknüpften Rolle bearbeiten soll:

{ "Effect": "Allow", "Action": [ "iam:UpdateRoleDescription" ], "Resource": "arn:aws:iam::*:role/aws-service-role/emrwal.amazonaws.com*/AWSServiceRoleForEMRWAL*", "Condition": { "StringLike": { "iam:AWSServiceName": [ "emrwal.amazonaws.com", "elasticmapreduce.amazonaws.com.cn" ] } } }

Um einer IAM-Entität zu ermöglichen, die dienstverknüpfte Rolle zu löschen AWSServiceRoleForEMRWAL

Fügen Sie die folgende Anweisung der Berechtigungsrichtlinie für die IAM-Entität hinzu, die eine serviceverknüpfte Rolle löschen soll:

{ "Effect": "Allow", "Action": [ "iam:DeleteServiceLinkedRole", "iam:GetServiceLinkedRoleDeletionStatus" ], "Resource": "arn:aws:iam::*:role/aws-service-role/elasticmapreduce.amazonaws.com*/AWSServiceRoleForEMRCleanup*", "Condition": { "StringLike": { "iam:AWSServiceName": [ "emrwal.amazonaws.com", "elasticmapreduce.amazonaws.com.cn" ] } } }

Erstellen einer serviceverknüpften Rolle für Amazon EMR

Sie müssen die Rolle nicht manuell erstellen. AWSServiceRoleForEMRWAL Amazon EMR erstellt diese serviceverknüpfte Rolle automatisch, wenn Sie einen WAL-Workspace mit der EMRWAL-CLI oder von aus erstellen AWS CloudFormation, oder HBase erstellt die serviceverknüpfte Rolle, wenn Sie einen Workspace für Amazon EMR WAL konfigurieren und die serviceverknüpfte Rolle noch nicht existiert. Sie müssen über die erforderlichen Berechtigungen verfügen, um eine serviceverknüpfte Rolle zu erstellen. Anweisungen, mit denen diese Funktion zur Berechtigungsrichtlinie einer IAM-Entität (z. B. eines Benutzers, einer Gruppe oder einer Rolle) hinzugefügt wird, finden Sie beispielsweise im vorherigen Abschnitt. Servicebezogene Rollenberechtigungen für Write-Ahead Logging (WAL)

Bearbeiten einer serviceverknüpften Rolle für Amazon EMR

Amazon EMR erlaubt es Ihnen nicht, die AWSServiceRoleForEMRWAL serviceverknüpfte Rolle zu bearbeiten. Nachdem Sie eine serviceverknüpfte Rolle erstellt haben, können Sie den Namen der serviceverknüpften Rolle nicht mehr ändern, da verschiedene Entitäten möglicherweise auf die serviceverknüpfte Rolle verweisen. Sie können die Beschreibung der dienstbezogenen Rolle jedoch mithilfe von IAM bearbeiten.

Bearbeiten der Beschreibung einer serviceverknüpften Rolle (IAM-Konsole)

Sie können die IAM-Konsole für das Bearbeiten der Beschreibung einer serviceverknüpften Rolle verwenden.

So bearbeiten Sie die Beschreibung einer serviceverknüpften Rolle (Konsole)
  1. Wählen Sie im Navigationsbereich der IAM Console Roles (Rollen) aus.

  2. Wählen Sie den Namen der zu ändernden Rolle.

  3. Wählen Sie neben Rollenbeschreibung rechts Bearbeiten aus.

  4. Geben Sie eine neue Beschreibung im Dialogfeld ein und wählen Sie Save changes (Änderungen speichern).

Bearbeiten der Beschreibung einer serviceverknüpften Rolle (IAM-CLI)

Sie können IAM-Befehle aus dem verwenden, AWS Command Line Interface um die Beschreibung einer serviceverknüpften Rolle zu bearbeiten.

So ändern Sie die Beschreibung einer serviceverknüpften Rolle (CLI)
  1. (Optional) Um die aktuelle Beschreibung einer Rolle anzuzeigen, verwenden Sie die folgenden Befehle:

    $ aws iam get-role --role-name role-name

    Verwenden Sie den Rollennamen, nicht den ARN, um sich auf Rollen mit den CLI-Befehlen zu beziehen. Wenn eine Rolle zum Beispiel folgenden ARN hat: arn:aws:iam::123456789012:role/myrole, verweisen Sie auf die Rolle als myrole.

  2. Um die Beschreibung einer serviceverknüpften Rolle zu aktualisieren, verwenden Sie einen der folgenden Befehle:

    $ aws iam update-role-description --role-name role-name --description description

Bearbeiten der Beschreibung einer serviceverknüpften Rolle (IAM-API)

Sie können die IAM-API für das Bearbeiten der Beschreibung einer serviceverknüpften Rolle verwenden.

So ändern Sie die Beschreibung einer serviceverknüpften Rolle (API)
  1. (Optional) Um die aktuelle Beschreibung einer Rolle anzuzeigen, verwenden Sie den folgenden Befehl:

    IAM-API: GetRole

  2. Um die Beschreibung einer Rolle zu aktualisieren, verwenden Sie den folgenden Befehl:

    IAM-API: UpdateRoleDescription

Löschen einer serviceverknüpften Rolle für Amazon EMR

Wenn Sie eine Funktion oder einen Dienst, für den eine dienstverknüpfte Rolle erforderlich ist, nicht mehr verwenden müssen, empfehlen wir, diese dienstverknüpfte Rolle zu löschen. Auf diese Weise haben Sie keine ungenutzte Entität, die nicht aktiv überwacht oder verwaltet wird. Sie müssen jedoch Ihre serviceverknüpfte Rolle zunächst bereinigen, bevor Sie sie löschen können.

Anmerkung

Der Write-Ahead-Protokollierungsvorgang ist nicht betroffen, wenn Sie die AWSServiceRoleForEMRWAL Rolle löschen, aber Amazon EMR löscht die erstellten Protokolle nicht automatisch, sobald Ihr EMR-Cluster beendet wird. Daher müssen Sie die Amazon EMR WAL-Protokolle manuell löschen, wenn Sie die serviceverknüpfte Rolle löschen.

Bereinigen einer serviceverknüpften Rolle

Bevor Sie mit IAM eine serviceverknüpfte Rolle löschen können, müssen Sie sich zunächst vergewissern, dass die Rolle über keine aktiven Sitzungen verfügt, und alle Ressourcen entfernen, die von der Rolle verwendet werden.

So überprüfen Sie in der IAM-Konsole, ob die serviceverknüpfte Rolle über eine aktive Sitzung verfügt
  1. Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

  2. Wählen Sie im Navigationsbereich Rollen aus. Wählen Sie den Namen (nicht das Kontrollkästchen) der AWSServiceRoleForEMRWAL Rolle aus.

  3. Wählen Sie auf der Seite Summary (Übersicht) für die ausgewählte Rolle die Option Access Advisor (Advisor aufrufen) aus.

  4. Überprüfen Sie auf der Registerkarte Access Advisor (Advisor aufrufen) die jüngsten Aktivitäten für die serviceverknüpfte Rolle.

    Anmerkung

    Wenn Sie sich nicht sicher sind, ob Amazon EMR die AWSServiceRoleForEMRWAL Rolle verwendet, können Sie versuchen, die serviceverknüpfte Rolle zu löschen. Wenn der Service die Rolle verwendet, schlägt das Löschen fehl und Sie können die Regionen anzeigen, in denen die mit dem Service verknüpfte Rolle verwendet wird. Wenn die dienstverknüpfte Rolle verwendet wird, müssen Sie warten, bis die Sitzung beendet ist, bevor Sie die dienstverknüpfte Rolle löschen können. Die Sitzung für eine serviceverknüpfte Rolle können Sie nicht widerrufen.

Um Amazon EMR-Ressourcen zu entfernen, die verwendet werden von AWSServiceRoleForEMRWAL

Löschen einer serviceverknüpften Rolle (IAM-Konsole)

Sie können die IAM-Konsole für das Löschen einer serviceverknüpften Rolle verwenden.

So löschen Sie eine serviceverknüpfte Rolle (Konsole)
  1. Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

  2. Wählen Sie im Navigationsbereich Rollen aus. Aktivieren Sie das Kontrollkästchen neben AWSServiceRoleForEMRWAL, nicht den Namen oder die Zeile selbst.

  3. Wählen Sie für Role actions oben auf der Seite Delete role aus.

  4. Überprüfen Sie im Bestätigungsdialogfeld die Daten, auf die der Dienst zuletzt zugegriffen hat. Aus diesen Daten geht hervor, wann jede der ausgewählten Rollen zuletzt auf einen AWS Dienst zugegriffen hat. Auf diese Weise können Sie leichter bestätigen, ob die Rolle derzeit aktiv ist. Wählen Sie Yes, Delete, um fortzufahren.

  5. Sehen Sie sich die Benachrichtigungen in der IAM-Konsole an, um den Fortschritt der Löschung der serviceverknüpften Rolle zu überwachen. Da die Löschung der serviceverknüpften IAM-Rolle asynchron erfolgt, kann die Löschung nach dem Übermitteln der Rolle für die Löschung erfolgreich sein oder fehlschlagen. Wenn der Vorgang fehlschlägt, können Sie in den Benachrichtigungen View details oder View Resources auswählen, um zu erfahren, warum die Löschung fehlgeschlagen ist. Wenn das Löschen fehlschlägt, weil der Service Ressourcen enthält, die von der Rolle verwendet werden, enthält die Angabe des Fehlergrundes eine Liste der Ressourcen.

Löschen einer serviceverknüpften Rolle (IAM-CLI)

Sie können IAM-Befehle von verwenden, AWS Command Line Interface um eine dienstverknüpfte Rolle zu löschen. Da eine serviceverknüpfte Rolle nicht gelöscht werden kann, wenn sie verwendet wird oder ihr Ressourcen zugeordnet sind, müssen Sie eine Löschungsanforderung übermitteln. Wenn diese Bedingungen nicht erfüllt sind, kann diese Anforderung verweigert werden.

So löschen Sie eine serviceverknüpfte Rolle (CLI)
  1. Sie benötigen die deletion-task-id aus der Antwort, um den Status der Löschaufgabe zu überprüfen. Geben Sie den folgenden Befehl ein, um eine Löschanforderung für eine serviceverknüpfte Rolle zu übermitteln:

    $ aws iam delete-service-linked-role --role-name AWSServiceRoleForEMRWAL
  2. Geben Sie den folgenden Befehl ein, um den Status der Löschaufgabe zu überprüfen:

    $ aws iam get-service-linked-role-deletion-status --deletion-task-id deletion-task-id

    Der Status der Löschaufgabe kann NOT_STARTED, IN_PROGRESS, SUCCEEDED oder FAILED lauten. Wenn die Löschung fehlschlägt, gibt der Aufruf den Grund zurück, sodass Sie das Problem beheben können.

Löschen einer serviceverknüpften Rolle (IAM-API)

Sie können die IAM-API zum Löschen einer serviceverknüpften Rolle verwenden. Da eine serviceverknüpfte Rolle nicht gelöscht werden kann, wenn sie verwendet wird oder ihr Ressourcen zugeordnet sind, müssen Sie eine Löschungsanforderung übermitteln. Wenn diese Bedingungen nicht erfüllt sind, kann diese Anforderung verweigert werden.

So löschen Sie eine serviceverknüpfte Rolle (API)
  1. Rufen Sie an, um eine Löschanfrage für eine dienstverknüpfte Rolle einzureichen. DeleteServiceLinkedRole Geben Sie in der Anfrage den AWSServiceRoleForEMRWAL Rollennamen an.

    Sie benötigen die DeletionTaskId aus der Antwort, um den Status der Löschaufgabe zu überprüfen.

  2. Rufen Sie an, um den Status des Löschvorgangs zu überprüfen GetServiceLinkedRoleDeletionStatus. Geben Sie in der Anforderung die DeletionTaskId an.

    Der Status der Löschaufgabe kann NOT_STARTED, IN_PROGRESS, SUCCEEDED oder FAILED lauten. Wenn die Löschung fehlschlägt, gibt der Aufruf den Grund zurück, sodass Sie das Problem beheben können.

Unterstützte Regionen für AWSServiceRoleForEMRWAL

Amazon EMR unterstützt die Verwendung der AWSServiceRoleForEMRWAL serviceverknüpften Rolle in den folgenden Regionen.

Name der Region Regions-ID Amazon EMR Support
USA Ost (Nord-Virginia) us-east-1 Ja
USA Ost (Ohio) us-east-2 Ja
USA West (Nordkalifornien) us-west-1 Ja
USA West (Oregon) us-west-2 Ja
Asien-Pazifik (Mumbai) ap-south-1 Ja
Asien-Pazifik (Singapore) ap-southeast-1 Ja
Asien-Pazifik (Sydney) ap-southeast-2 Ja
Asien-Pazifik (Tokyo) ap-northeast-1 Ja
Europa (Frankfurt) eu-central-1 Ja
Europa (Ireland) eu-west-1 Ja