Stellen Sie von Studio Classic aus mithilfe von IAM Runtime-Rollen eine Connect zu einem EMR Amazon-Cluster her - Amazon SageMaker

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.

Stellen Sie von Studio Classic aus mithilfe von IAM Runtime-Rollen eine Connect zu einem EMR Amazon-Cluster her

Wenn Sie von Ihrem Amazon SageMaker Studio Classic-Notizbuch aus eine Verbindung zu einem EMR Amazon-Cluster herstellen, können Sie visuell eine Liste von IAM Rollen, so genannten Runtime-Rollen, durchsuchen und spontan eine auswählen. Anschließend greifen all Ihre Apache Spark-, Apache Hive- oder Presto-Jobs, die von Ihrem Studio Classic-Notebook aus erstellt wurden, nur auf die Daten und Ressourcen zu, die gemäß den Richtlinien zulässig sind, die der Runtime-Rolle zugeordnet sind. Außerdem können Sie beim Zugriff auf Daten aus Data Lakes AWS Lake Formation, mit denen verwaltet wird, mithilfe von Richtlinien, die der Runtime-Rolle zugeordnet sind, den Zugriff auf Tabellen- und Spaltenebene erzwingen.

Mit dieser Funktion können Sie und Ihre Teamkollegen eine Verbindung zu demselben Cluster herstellen und dabei jeweils eine Laufzeit-Rolle verwenden, deren Umfang über Berechtigungen verfügt, die Ihrer individuellen Zugriffsebene auf Daten entsprechen. Ihre Sitzungen sind auf dem gemeinsam genutzten Cluster auch voneinander isoliert. Mit dieser Möglichkeit, den detaillierten Zugriff auf Daten auf demselben gemeinsam genutzten Cluster zu kontrollieren, können Sie die Bereitstellung von EMR Amazon-Clustern vereinfachen, den Betriebsaufwand reduzieren und Kosten sparen.

Informationen zum Ausprobieren dieser neuen Funktion finden Sie unter Anwenden detaillierter Datenzugriffskontrollen mit Amazon SageMaker Studio EMR Classic AWS Lake Formation und Amazon. Dieser Blogbeitrag hilft Ihnen beim Einrichten einer Demo-Umgebung, in der Sie versuchen können, mithilfe vorkonfigurierter Runtime-Rollen eine Verbindung zu EMR Amazon-Clustern herzustellen.

Voraussetzungen

Bevor Sie beginnen, sollten Sie sicherstellen, dass Sie die folgenden Voraussetzungen erfüllen:

  • Verwenden Sie Amazon EMR Version 6.9 oder höher.

  • Verwenden Sie JupyterLab Version 3 in der Konfiguration der Studio Classic Jupyter-Serveranwendung. Diese Version unterstützt Studio Classic-Verbindungen zu EMR Amazon-Clustern mithilfe von Runtime-Rollen.

  • Erlauben Sie die Verwendung von Laufzeit-Rollen in der Sicherheitskonfiguration Ihres Clusters. Weitere Informationen finden Sie unter EMRSchritte zu Runtime-Rollen für Amazon.

  • Erstellen Sie ein Notebook mit einem der in Benutzerhandbuch aufgeführten Kernel.

  • Lesen Sie unbedingt die Anweisungen unter Richten Sie Studio Classic für die Verwendung von IAM Runtime-Rollen ein So konfigurieren Sie Runtime-Rollen mit Studio Classic.

Kontoübergreifende Verbindungsszenarien

Die Runtime-Rollenauthentifizierung unterstützt eine Vielzahl von kontoübergreifenden Verbindungsszenarien, wenn sich Ihre Daten außerhalb Ihres Studio Classic-Kontos befinden. Die folgende Abbildung zeigt drei verschiedene Möglichkeiten, wie Sie Ihren EMR Amazon-Cluster, Ihre Daten und sogar Ihre EMR Amazon-Ausführungsrolle zwischen Ihren Studio Classic- und Datenkonten zuweisen können:

Kontoübergreifende Szenarien, die von der IAM Runtime-Rollenauthentifizierung unterstützt werden.

In Option 1 befinden sich Ihr EMR Amazon-Cluster und Ihre EMR Amazon-Ausführungsrolle in einem von Ihrem Studio Classic-Konto getrennten Datenkonto. Sie definieren eine separate Autorisierungsrichtlinie für EMR Amazon-Zugriffsrollen, die Ihrer Studio Classic-Ausführungsrolle die Erlaubnis erteilt, die EMR Amazon-Zugriffsrolle zu übernehmen. Die EMR Amazon-Zugriffsrolle ruft dann Amazon im Namen Ihrer Studio Classic-Ausführungsrolle EMR API GetClusterSessionCredentials auf, sodass Sie Zugriff auf den Cluster erhalten.

In Option 2 befinden sich Ihr EMR Amazon-Cluster und Ihre EMR Amazon-Ausführungsrolle in Ihrem Studio Classic-Konto. Ihre Studio Classic-Ausführungsrolle ist berechtigt, Amazon zu verwenden EMR APIGetClusterSessionCredentials, um Zugriff auf Ihren Cluster zu erhalten. Um auf den Amazon S3 S3-Bucket zuzugreifen, erteilen Sie der EMR Amazon-Ausführungsrolle kontoübergreifende Amazon S3-Bucket-Zugriffsberechtigungen — diese Berechtigungen gewähren Sie im Rahmen Ihrer Amazon S3 S3-Bucket-Richtlinie.

In Option 3 befinden sich Ihre EMR Amazon-Cluster in Ihrem Studio Classic-Konto und die EMR Amazon-Ausführungsrolle befindet sich im Datenkonto. Ihre Studio Classic-Ausführungsrolle ist berechtigt, Amazon zu verwenden EMR APIGetClusterSessionCredentials, um Zugriff auf Ihren Cluster zu erhalten. Fügen Sie die EMR Amazon-Ausführungsrolle zur Konfiguration der Ausführungsrolle hinzuJSON. Anschließend können Sie die Rolle in der Benutzeroberfläche auswählen, wenn Sie Ihren Cluster auswählen. Einzelheiten zur Einrichtung Ihrer JSON Ausführungsrollen-Konfigurationsdatei finden Sie unterLaden Sie Ihre Ausführungsrollen vorab in Studio Classic.

Richten Sie Studio Classic für die Verwendung von IAM Runtime-Rollen ein

Um die Runtime-Rollenauthentifizierung für Ihre EMR Amazon-Cluster einzurichten, konfigurieren Sie die erforderlichen IAM Richtlinien, Netzwerk- und Benutzerfreundlichkeitsverbesserungen. Ihre Einrichtung hängt davon ab, ob Sie kontenübergreifende Vereinbarungen treffen, wenn sich Ihre EMR Amazon-Cluster, Ihre EMR Amazon-Ausführungsrolle oder beide außerhalb Ihres Amazon SageMaker Studio Classic-Kontos befinden. Die folgende Erläuterung führt Sie durch die zu installierenden Richtlinien, die Konfiguration des Netzwerks, um den Datenverkehr zwischen kontenübergreifenden Konten zuzulassen, und die lokale Konfigurationsdatei, die Sie zur Automatisierung Ihrer EMR Amazon-Verbindung einrichten müssen.

Konfigurieren Sie die Runtime-Rollenauthentifizierung, wenn sich Ihr EMR Amazon-Cluster und Studio Classic im selben Konto befinden

Wenn sich Ihr EMR Amazon-Cluster in Ihrem Studio Classic-Konto befindet, fügen Sie die grundlegende Richtlinie hinzu, um eine Verbindung zu Ihrem EMR Amazon-Cluster herzustellen, und legen Sie Berechtigungen für den Anruf bei Amazon fest EMR APIGetClusterSessionCredentials, wodurch Sie Zugriff auf den Cluster erhalten. Gehen Sie wie folgt vor, um Ihrer Studio Classic-Ausführungsrichtlinie die erforderlichen Berechtigungen hinzuzufügen:

  1. Fügen Sie die erforderliche IAM Richtlinie hinzu, um eine Verbindung zu EMR Amazon-Clustern herzustellen. Details hierzu finden Sie unter EMRAmazon-Cluster von Studio oder Studio Classic auflisten.

  2. Erteilen Sie die Erlaubnis, Amazon anzurufen EMR APIGetClusterSessionCredentials, wenn Sie eine oder mehrere zulässige EMR Amazon-Ausführungsrollen bestehen, die in der Richtlinie angegeben sind.

  3. (Optional) Erteilen Sie die Erlaubnis, IAM Rollen weiterzugeben, die beliebigen benutzerdefinierten Benennungskonventionen entsprechen.

  4. (Optional) Erteilen Sie die Erlaubnis, auf EMR Amazon-Cluster zuzugreifen, die mit bestimmten benutzerdefinierten Zeichenketten gekennzeichnet sind.

  5. Wenn Sie den EMR Amazon-Verbindungsbefehl nicht manuell aufrufen möchten, installieren Sie eine SageMaker Konfigurationsdatei in Ihrem lokalen Amazon EFS und wählen Sie die Rolle aus, die Sie bei der Auswahl Ihres EMR Amazon-Clusters verwenden möchten. Einzelheiten darüber, wie Sie Ihre IAM Rollen vorab laden, finden Sie unterLaden Sie Ihre Ausführungsrollen vorab in Studio Classic.

Die folgende Beispielrichtlinie ermöglicht das Aufrufen von EMR Amazon-Ausführungsrollen, die zu den Modellierungs- und Trainingsgruppen gehörenGetClusterSessionCredentials. Darüber hinaus kann der Versicherungsnehmer auf EMR Amazon-Cluster zugreifen, die mit den Zeichenketten modeling oder training gekennzeichnet sind.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "elasticmapreduce:GetClusterSessionCredentials", "Resource": "*", "Condition": { "StringLike": { "elasticmapreduce:ExecutionRoleArn": [ "arn:aws:iam::123456780910:role/emr-execution-role-ml-modeling*", "arn:aws:iam::123456780910:role/emr-execution-role-ml-training*" ], "elasticmapreduce:ResourceTag/group": [ "*modeling*", "*training*" ] } } } ] }

Konfigurieren Sie die Runtime-Rollenauthentifizierung, wenn sich Ihr Cluster und Studio Classic in unterschiedlichen Konten befinden

Wenn sich Ihr EMR Amazon-Cluster nicht in Ihrem Studio Classic-Konto befindet, erlauben Sie Ihrer Studio Classic-Ausführungsrolle, die kontoübergreifende EMR Amazon-Zugriffsrolle anzunehmen, damit Sie eine Verbindung zum Cluster herstellen können. Führen Sie die folgenden Schritte aus, um Ihre Kontoübergreifende Konfiguration einzurichten:

  1. Erstellen Sie Ihre Berechtigungsrichtlinie für Studio Classic-Ausführungsrollen, sodass die Ausführungsrolle die EMR Amazon-Zugriffsrolle annehmen kann. Folgendes ist eine Beispielrichtlinie:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAssumeCrossAccountEMRAccessRole", "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::emr_account_id:role/emr-access-role-name" } ] }
  2. Erstellen Sie die Vertrauensrichtlinie, um anzugeben, welchen Studio Classic-Konten IDs vertraut wird, um die EMR Amazon-Zugriffsrolle zu übernehmen. Folgendes ist eine Beispielrichtlinie:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCrossAccountSageMakerExecutionRoleToAssumeThisRole", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::studio_account_id:role/studio_execution_role" }, "Action": "sts:AssumeRole" } }
  3. Erstellen Sie die EMR Autorisierungsrichtlinie für Amazon-Zugriffsrollen, die der EMR Amazon-Ausführungsrolle die erforderlichen Berechtigungen für die Ausführung der vorgesehenen Aufgaben auf dem Cluster gewährt. Konfigurieren Sie die EMR Amazon-Zugriffsrolle so, dass sie API GetClusterSessionCredentials mit den EMR Amazon-Ausführungsrollen aufgerufen wird, die in der Berechtigungsrichtlinie für Zugriffsrollen angegeben sind. Folgendes ist eine Beispielrichtlinie:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCallingEmrGetClusterSessionCredentialsAPI", "Effect": "Allow", "Action": "elasticmapreduce:GetClusterSessionCredentials", "Resource": "", "Condition": { "StringLike": { "elasticmapreduce:ExecutionRoleArn": [ "arn:aws:iam::emr_account_id:role/emr-execution-role-name" ] } } } ] }
  4. Richten Sie das kontenübergreifende Netzwerk so ein, dass der Datenverkehr zwischen Ihren Konten hin und her fließen kann. Eine Anleitung finden Sie unter Netzwerk einrichten im Blogbeitrag EMRAmazon-Cluster aus SageMaker Studio Classic erstellen und verwalten, um interaktive Spark- und ML-Workloads auszuführen — Teil 2. Die Schritte in diesem Blogbeitrag helfen Ihnen bei der Ausführung der folgenden Aufgaben:

    1. VPC-Peering zwischen Ihrem Studio Classic-Konto und Ihrem EMR Amazon-Konto, um eine Verbindung herzustellen.

    2. Fügen Sie den Routing-Tabellen für private Subnetze in beiden Konten manuell Routen hinzu. Dies ermöglicht die Erstellung und Verbindung von EMR Amazon-Clustern vom Studio Classic-Konto aus mit dem privaten Subnetz des Remote-Kontos.

    3. Richten Sie die an Ihre Studio Classic-Domain angehängte Sicherheitsgruppe ein, um ausgehenden Datenverkehr zuzulassen, und die Sicherheitsgruppe des EMR primären Amazon-Nodes, um eingehenden TCP Datenverkehr von der Studio Classic-Instance-Sicherheitsgruppe zuzulassen.

  5. Wenn Sie den EMR Amazon-Verbindungsbefehl nicht manuell aufrufen möchten, installieren Sie eine SageMaker Konfigurationsdatei in Ihrem lokalen Amazon, EFS damit Sie die Rolle auswählen können, die Sie bei der Auswahl Ihres EMR Amazon-Clusters verwenden möchten. Einzelheiten darüber, wie Sie Ihre IAM Rollen vorab laden, finden Sie unterLaden Sie Ihre Ausführungsrollen vorab in Studio Classic.

Lake Formation-Zugriff konfigurieren

Wenn Sie auf Daten aus Data Lakes zugreifen, die von verwaltet werden AWS Lake Formation, können Sie mithilfe von Richtlinien, die Ihrer Runtime-Rolle zugeordnet sind, den Zugriff auf Tabellen- und Spaltenebene erzwingen. Informationen zur Konfiguration der Zugriffsberechtigungen für Lake Formation finden Sie unter Amazon integrieren EMR mit AWS Lake Formation.

Laden Sie Ihre Ausführungsrollen vorab in Studio Classic

Wenn Sie den EMR Amazon-Verbindungsbefehl nicht manuell aufrufen möchten, können Sie eine SageMaker Konfigurationsdatei in Ihrem lokalen Amazon installieren, EFS sodass Sie die Ausführungsrolle auswählen können, die Sie bei der Auswahl Ihres EMR Amazon-Clusters verwenden möchten.

Um eine Konfigurationsdatei für die EMR Amazon-Ausführungsrollen zu schreiben, ordnen Sie der Jupyter-Serveranwendung a Verwenden Sie Lebenszykluskonfigurationen, um Studio Classic anzupassen (LCC) zu. Alternativ können Sie die Konfigurationsdatei schreiben oder aktualisieren und den Jupyter-Server mit dem folgenden Befehl neu starten: restart-jupyter-server.

Der folgende Ausschnitt ist ein LCC Bash-Beispielskript, das Sie anwenden können, wenn sich Ihre Studio Classic-Anwendung und Ihr Cluster im selben Konto befinden:

#!/bin/bash set -eux FILE_DIRECTORY="/home/sagemaker-user/.sagemaker-analytics-configuration-DO_NOT_DELETE" FILE_NAME="emr-configurations-DO_NOT_DELETE.json" FILE="$FILE_DIRECTORY/$FILE_NAME" mkdir -p $FILE_DIRECTORY cat << 'EOF' > "$FILE" { "emr-execution-role-arns": { "123456789012": [ "arn:aws:iam::123456789012:role/emr-execution-role-1", "arn:aws:iam::123456789012:role/emr-execution-role-2" ] } } EOF

Wenn sich Ihre Studio Classic-Anwendung und Ihre Cluster in unterschiedlichen Konten befinden, geben Sie die EMR Amazon-Zugriffsrollen an, die den Cluster verwenden können. In der folgenden Beispielrichtlinie ist 123456789012 ARN für das EMR Amazon-Cluster-Konto und 212121212121 und 434343434343 für die erlaubten Amazon-Zugriffsrollen. ARNs EMR

#!/bin/bash set -eux FILE_DIRECTORY="/home/sagemaker-user/.sagemaker-analytics-configuration-DO_NOT_DELETE" FILE_NAME="emr-configurations-DO_NOT_DELETE.json" FILE="$FILE_DIRECTORY/$FILE_NAME" mkdir -p $FILE_DIRECTORY cat << 'EOF' > "$FILE" { "emr-execution-role-arns": { "123456789012": [ "arn:aws:iam::212121212121:role/emr-execution-role-1", "arn:aws:iam::434343434343:role/emr-execution-role-2" ] } } EOF # add your cross-account EMR access role FILE_DIRECTORY="/home/sagemaker-user/.cross-account-configuration-DO_NOT_DELETE" FILE_NAME="emr-discovery-iam-role-arns-DO_NOT_DELETE.json" FILE="$FILE_DIRECTORY/$FILE_NAME" mkdir -p $FILE_DIRECTORY cat << 'EOF' > "$FILE" { "123456789012": "arn:aws:iam::123456789012:role/cross-account-emr-access-role" } EOF