IAM-Rollen anpassen - 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.

IAM-Rollen anpassen

Sie können die IAM-Servicerollen und -Berechtigungen anpassen, um Rechte entsprechend Ihren Sicherheitsanforderungen zu beschränken. Zum Anpassen von Berechtigungen empfehlen wir, dass Sie neue Rollen und Richtlinien erstellen. Beginnen Sie mit den Berechtigungen in den verwalteten Richtlinien für die Standardrollen (beispielsweise AmazonElasticMapReduceforEC2Role und AmazonElasticMapReduceRole). Kopieren Sie anschließend die Inhalte in die neuen Richtlinienanweisungen, modifizieren Sie die Berechtigungen entsprechend und fügen Sie die geänderten Richtlinien zu den von Ihnen erstellten Rollen hinzu. Sie müssen über die entsprechenden IAM-Berechtigungen für die Arbeit mit Rollen und Richtlinien verfügen. Weitere Informationen finden Sie unter Benutzern und Gruppen gestatten, Rollen zu erstellen und zu ändern.

Wenn Sie eine benutzerdefinierte EMR-Rolle für EC2 erstellen, folgen Sie dem grundlegenden Workflow, der automatisch ein Instance-Profil mit demselben Namen erstellt. Amazon EC2 ermöglicht es Ihnen, Instance-Profile und Rollen mit unterschiedlichen Namen zu erstellen, aber Amazon EMR unterstützt diese Konfiguration nicht und führt zu einem Fehler „Ungültiges Instance-Profil“, wenn Sie den Cluster erstellen.

Wichtig

Eingebundene Richtlinien werden nicht automatisch aktualisiert, wenn sich Serviceanforderungen ändern. Beachten Sie beim Erstellen und Anhängen von Inline-Richtlinien, dass es zu Serviceaktualisierungen kommen kann, die plötzlich zu Berechtigungsfehlern führen. Weitere Informationen hierzu finden Sie unter Verwaltete Richtlinien und eingebundene Richtlinien im IAM-Benutzerhandbuch und Angabe benutzerdefinierter IAM-Rollen beim Erstellen eines Clusters.

Weitere Informationen über die Arbeit mit IAM-Rollen finden Sie in den folgenden Themen im IAM-Benutzerhandbuch:

Angabe benutzerdefinierter IAM-Rollen beim Erstellen eines Clusters

Sie geben die Servicerolle für Amazon EMR und die Rolle für das Amazon-EC2-Instance-Profil an, wenn Sie einen Cluster erstellen. Der Benutzer, der Cluster erstellt, benötigt Berechtigungen, um Rollen abzurufen und sie Amazon EMR und den EC2-Instances zuzuweisen. Andernfalls tritt der Fehler Benutzerkonto ist nicht zum Aufruf von EC2 autorisiert auf. Weitere Informationen finden Sie unter Benutzern und Gruppen gestatten, Rollen zu erstellen und zu ändern.

Mit der Konsole benutzerdefinierte Rollen angeben

Beim Erstellen eines Clusters können Sie eine benutzerdefinierte Servicerolle für Amazon EMR, eine benutzerdefinierte Rolle für das EC2-Instance-Profil und eine benutzerdefinierte Auto-Scaling-Rolle in Erweiterte Optionen angeben. Wenn Sie Quick options (Schnelloptionen) verwenden, werden die Service-Standardrolle und die Standardrolle für das EC2-Instance-Profil angegeben. Weitere Informationen finden Sie unter Von Amazon EMR verwendete IAM-Servicerollen.

Anmerkung

Wir haben die Amazon-EMR-Konsole neu gestaltet, um sie benutzerfreundlicher zu gestalten. Unter Amazon EMR-Konsole erfahren Sie mehr über die Unterschiede zwischen der alten und der neuen Konsolenerfahrung.

New console
So geben Sie benutzerdefinierte IAM-Rollen mithilfe der Konsole an

Sie geben die Servicerolle für Amazon EMR und die Rolle für das Amazon-EC2-Instance-Profil an, wenn Sie einen Cluster erstellen. Weitere Informationen finden Sie unter Von Amazon EMR verwendete IAM-Servicerollen.

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

  2. Wählen Sie im linken Navigationsbereich unter EMR in EC2 die Option Cluster und dann Cluster erstellen aus.

  3. Suchen Sie unter Sicherheitskonfiguration und Berechtigungen die Felder IAM-Rolle für Instance-Profil und Servicerolle für Amazon EMR. Wählen Sie für jeden Rollentyp eine Rolle aus der Liste aus. Nur Rollen innerhalb Ihres Kontos, die die entsprechende Vertrauensstellungen für diesen Rollentyp besitzen, sind aufgeführt.

  4. Wählen Sie alle anderen Optionen aus, die für Ihren Cluster gelten.

  5. Um Ihren Cluster jetzt zu starten, wählen Sie Cluster erstellen aus.

Old console
So geben Sie benutzerdefinierte IAM-Rollen mithilfe der Konsole an

Wenn Sie mit der alten Konsole einen Cluster erstellen, können Sie mithilfe der erweiterten Optionen eine benutzerdefinierte Servicerolle für Amazon EMR, eine benutzerdefinierte Rolle für das EC2-Instance-Profil und eine benutzerdefinierte Auto-Scaling-Rolle angeben. Wenn Sie Quick options (Schnelloptionen) verwenden, werden die Service-Standardrolle und die Standardrolle für das EC2-Instance-Profil angegeben. Weitere Informationen finden Sie unter Von Amazon EMR verwendete IAM-Servicerollen.

  1. Navigieren Sie zur neuen Amazon-EMR-Konsole und wählen Sie in der Seitennavigation die Option Zur alten Konsole wechseln aus. Weitere Informationen darüber, was Sie erwartet, wenn Sie zur alten Konsole wechseln, finden Sie unter Verwenden der alten Konsole.

  2. Wählen Sie Create Cluster (Cluster erstellen) und Go to advanced options (Zu erweiterten Optionen) aus.

  3. Wählen Sie die Cluster-Einstellungen für Ihre Anwendung aus, bis Sie Security Options (Sicherheitsoptionen) erreichen. Unter Permissions sind die Default-Rollen für Amazon EMR ausgewählt.

  4. Wählen Sie Custom (Benutzerdefiniert) aus.

  5. Wählen Sie für jeden Rollentyp eine Rolle aus der Liste aus. Nur Rollen innerhalb Ihres Kontos, die die entsprechende Vertrauensstellungen für diesen Rollentyp besitzen, sind aufgeführt.

  6. Wählen Sie weitere Optionen wie für Ihren Cluster erforderlich aus. Wählen Sie dann Create Cluster (Cluster erstellen) aus.

Verwenden Sie die AWS CLI , um benutzerdefinierte Rollen anzugeben

Sie können eine Servicerolle für Amazon EMR und eine create-cluster Servicerolle für EC2 Instance Cluster explizit mithilfe von Optionen mit dem -Befehl in der AWS CLI angeben. Verwenden Sie die Option --service-role, um die Servicerolle anzugeben. Verwenden Sie das Argument InstanceProfile der Option --ec2-attributes, um die Rolle für das EC2-Instance-Profil anzugeben.

Die Auto Scaling-Rolle wird einer separaten Option angegeben, --auto-scaling-role. Weitere Informationen finden Sie unter Verwenden der automatischen Skalierung mit einer benutzerdefinierten Richtlinie für Instance-Gruppen.

Um benutzerdefinierte IAM-Rollen anzugeben, verwenden Sie AWS CLI
  • Der folgende Befehl gibt die benutzerdefinierte Servicerolle an, MyCustomServiceRoleForEMR, und eine benutzerdefinierte Rolle für das EC2-Instance-Profil, MyCustomServiceRoleForClusterEC2Instances, wenn Sie einen Cluster starten. Dieses Beispiel verwendet die Amazon-EMR-Standardrolle.

    Anmerkung

    Linux-Zeilenfortsetzungszeichen (\) sind aus Gründen der Lesbarkeit enthalten. Sie können entfernt oder in Linux-Befehlen verwendet werden. Entfernen Sie sie unter Windows oder ersetzen Sie sie durch ein Caret-Zeichen (^).

    aws emr create-cluster --name "Test cluster" --release-label emr-7.1.0 \ --applications Name=Hive Name=Pig --service-role MyCustomServiceRoleForEMR \ --ec2-attributes InstanceProfile=MyCustomServiceRoleForClusterEC2Instances,\ KeyName=myKey --instance-type m5.xlarge --instance-count 3

Sie können diese Optionen verwenden, um Standardrollen explizit anzugeben, statt die Option --use-default-roles zu verwenden. Die --use-default-roles-Option gibt die Servicerolle an sowie die Rolle für das EC2-Instance-Profil, das in der config-Datei für die AWS CLI definiert ist.

Das folgende Beispiel zeigt den Inhalt einer config Datei für AWS CLI die spezifizierten benutzerdefinierten Rollen für Amazon EMR. Mit dieser Konfigurationsdatei wird der Cluster, wenn die --use-default-roles-Option angegeben ist, mit dem MyCustomServiceRoleForEMR und MyCustomServiceRoleForClusterEC2Instances erstellt. Standardmäßig gibt die config-Datei die standardmäßige service_role als AmazonElasticMapReduceRole und das standardmäßige instance_profile als EMR_EC2_DefaultRole an.

[default] output = json region = us-west-1 aws_access_key_id = myAccessKeyID aws_secret_access_key = mySecretAccessKey emr = service_role = MyCustomServiceRoleForEMR instance_profile = MyCustomServiceRoleForClusterEC2Instances