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.
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 an
MyCustomServiceRoleForClusterEC2Instances
, 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-roleMyCustomServiceRoleForEMR
\ --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