Passen Sie IAM-Rollen mit Amazon EMR an - 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.

Passen Sie IAM-Rollen mit Amazon EMR an

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 erstellen EC2, folgen Sie dem grundlegenden Arbeitsablauf, der automatisch ein Instanzprofil 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 EC2 Amazon-Instance-Profil an, wenn Sie einen Cluster erstellen. Der Benutzer, der Cluster erstellt, benötigt Berechtigungen zum Abrufen und Zuweisen von Rollen zu Amazon EMR und EC2 Instances. Andernfalls tritt der EC2 Fehler „Ein Konto ist nicht zum Anrufen autorisiert“ auf. Weitere Informationen finden Sie unter Benutzern und Gruppen gestatten, Rollen zu erstellen und zu ändern.

Mit der Konsole benutzerdefinierte Rollen angeben

Wenn Sie 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 Scaling-Rolle angeben. Wenn Sie Quick Options verwenden, werden die Standard-Servicerolle und die Standardrolle für das EC2 Instance-Profil angegeben. Weitere Informationen finden Sie unter Von Amazon EMR verwendete IAM-Servicerollen.

Console
Um benutzerdefinierte IAM-Rollen mit der Konsole anzugeben

Wenn Sie mit der Konsole einen Cluster erstellen, müssen Sie eine benutzerdefinierte Servicerolle für Amazon EMR und eine benutzerdefinierte Rolle für das EC2 Instance-Profil angeben. 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 EC2 im linken Navigationsbereich unter EMR on die Option Clusters und dann Create cluster 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.

Verwenden Sie die AWS CLI , um benutzerdefinierte Rollen anzugeben

Sie können eine Servicerolle für Amazon EMR und eine Servicerolle für EC2 Cluster-Instances explizit mithilfe von Optionen mit dem create-cluster Befehl von angeben. AWS CLI Verwenden Sie die Option --service-role, um die Servicerolle anzugeben. Verwenden Sie das InstanceProfile Argument der --ec2-attributes Option, 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 Instanzgruppen in Amazon EMR.

Um benutzerdefinierte IAM-Rollen mit dem zu spezifizieren AWS CLI
  • Der folgende Befehl gibt die benutzerdefinierte Servicerolle und eine benutzerdefinierte Rolle für das EC2 Instanzprofil anMyCustomServiceRoleForClusterEC2Instances, wenn ein Cluster gestartet wird. MyCustomServiceRoleForEMR 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.6.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 und die Rolle für das EC2 Instanzprofil an, die in der config Datei für definiert sind AWS CLI.

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