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.
Richten Sie die Berechtigungen ein, um das Auflisten und Starten von EMR Amazon-Anwendungen von SageMaker Studio aus zu ermöglichen
In diesem Abschnitt beschreiben wir detailliert die Rollen und Berechtigungen, die erforderlich sind, um EMR serverlose Anwendungen von SageMaker Studio aus aufzulisten und eine Verbindung zu ihnen herzustellen. Dabei werden Szenarien berücksichtigt, in denen Studio und die EMR serverlosen Anwendungen im selben AWS Konto oder in verschiedenen Konten bereitgestellt werden.
Die Rollen, denen Sie die erforderlichen Berechtigungen hinzufügen müssen, hängen davon ab, ob sich Studio und Ihre EMR serverlosen Anwendungen in demselben AWS Konto (Einzelkonto) oder in separaten Konten (kontoübergreifendes Konto) befinden. Es gibt zwei Arten von Rollen:
-
Ausführungsrollen:
-
Runtime-Ausführungsrollen (Role-Based Access Control-Rollen), die von EMR Serverless verwendet werden: Dies sind die IAM Rollen, die von den EMR serverlosen Jobausführungsumgebungen verwendet werden, um auf andere AWS Dienste und Ressourcen zuzugreifen, die während der Laufzeit benötigt werden, wie Amazon S3 für den Datenzugriff, CloudWatch für die Protokollierung, den Zugriff auf den AWS Glue Datenkatalog oder andere Dienste, die Ihren Workload-Anforderungen entsprechen. Wir empfehlen, diese Rollen in dem Konto zu erstellen, auf dem die EMR serverlosen Anwendungen ausgeführt werden.
Weitere Informationen zu Runtime-Rollen finden Sie unter Job Runtime Roles im EMRServerless User Guide.
Anmerkung
Sie können mehrere RBAC Rollen für Ihre EMR serverlose Anwendung definieren. Diese Rollen können auf den Zuständigkeiten und Zugriffsebenen basieren, die von verschiedenen Benutzern oder Gruppen innerhalb Ihrer Organisation benötigt werden. Weitere Informationen zu RBAC Berechtigungen finden Sie unter Bewährte Sicherheitsmethoden für Amazon Amazon EMR Serverless.
-
SageMaker Ausführungsrolle: Die Ausführungsrolle, mit der Sie bestimmte Aufgaben ausführen können SageMaker , z. B. das Lesen von Daten aus Amazon S3 S3-Buckets, das Schreiben von Protokollen in und den Zugriff auf andere AWS Dienste, die Ihr Workflow möglicherweise benötigt. CloudWatch Der SageMaker Ausführungsrolle wird auch die spezielle Berechtigung zugewiesen
iam:PassRole
, die es ermöglicht, temporäre Ausführungsrollen SageMaker zur Laufzeit an die EMR serverlosen Anwendungen zu übergeben. Diese Rollen geben den EMR serverlosen Anwendungen die Berechtigungen, die sie benötigen, um mit anderen AWS Ressourcen zu interagieren, während sie ausgeführt werden.
-
-
Voraussichtliche Rollen (auch als Dienstzugriffsrollen bezeichnet):
-
Dies sind die IAM Rollen, die die SageMaker Ausführungsrolle annehmen kann, um Vorgänge im Zusammenhang mit der Verwaltung EMR serverloser Anwendungen auszuführen. Diese Rollen definieren die Berechtigungen und Zugriffsrichtlinien, die für das Auflisten, Herstellen einer Verbindung zu oder die Verwaltung EMR serverloser Anwendungen erforderlich sind. Sie werden in der Regel in kontenübergreifenden Szenarien verwendet, in denen sich die EMR serverlosen Anwendungen in einem anderen AWS Konto als der Domäne befinden. SageMaker Eine eigene IAM Rolle für Ihre EMR serverlosen Anwendungen hilft dabei, dem Prinzip der geringsten Rechte zu folgen und stellt sicher, dass Amazon nur EMR über die erforderlichen Berechtigungen verfügt, um Ihre Jobs auszuführen und gleichzeitig andere Ressourcen in Ihrem AWS Konto zu schützen.
-
Wenn Sie diese Rollen richtig verstehen und konfigurieren, können Sie sicherstellen, dass SageMaker Studio über die erforderlichen Berechtigungen für die Interaktion mit EMR serverlosen Anwendungen verfügt, unabhängig davon, ob sie im selben Konto oder für verschiedene Konten bereitgestellt werden.
Einzelnes Konto
Die folgenden Diagramme veranschaulichen die Rollen und Berechtigungen, die erforderlich sind, um EMR serverlose Anwendungen von Studio aus aufzulisten und eine Verbindung zu ihnen herzustellen, wenn Studio und die Anwendungen im selben AWS Konto bereitgestellt werden.
Wenn Ihre EMR Amazon-Anwendungen und Studio auf demselben AWS Konto bereitgestellt werden, gehen Sie wie folgt vor:
-
Schritt 1: Rufen Sie den ARN Amazon S3 S3-Bucket ab, den Sie für Datenquellen verwenden, und geben Sie Daten in der Amazon S3 S3-Konsole
aus. Informationen darüber, wie Sie einen Bucket anhand seines Namens finden, finden Sie unter Zugreifen auf einen Amazon S3 S3-Bucket und Auflisten. Informationen zum Erstellen eines Amazon S3 S3-Buckets finden Sie unter Bucket erstellen.
-
Schritt 2: Erstellen Sie in Ihrem Konto mindestens eine Rolle zur Ausführung von Job Runtime EMR für Ihre Serverless-Anwendung (siehe Abbildung mit dem Anwendungsfall „Einzelkonto“ oben).
EMRServerlessRuntimeExecutionRoleA
Wählen Sie Benutzerdefinierte Vertrauensrichtlinie als vertrauenswürdige Entität aus. Fügen Sie die für Ihren Job erforderlichen Berechtigungen hinzu. Sie benötigen mindestens vollen Zugriff auf einen Amazon S3 S3-Bucket sowie Erstellungs- und Lesezugriff auf den AWS Glue Datenkatalog.Gehen Sie wie folgt vor, um detaillierte Anweisungen zum Erstellen einer neuen Runtime-Ausführungsrolle für Ihre EMR serverlosen Anwendungen zu erhalten:
-
Navigieren Sie zur IAM-Konsole
. -
Wählen Sie im linken Navigationsbereich Richtlinie und dann Richtlinie erstellen aus.
-
Fügen Sie die für Ihre Runtime-Rolle erforderlichen Berechtigungen hinzu, geben Sie der Richtlinie einen Namen und wählen Sie dann Richtlinie erstellen aus.
Unter Job-Runtime-Rollen für EMR Serverless finden Sie Beispiele für Laufzeitrichtlinien für eine EMR serverlose Runtime-Rolle.
-
Wählen Sie im linken Navigationsbereich Rollen und anschließend Rolle erstellen aus.
-
Wählen Sie auf der Seite Rolle erstellen die Option Benutzerdefinierte Vertrauensrichtlinie als vertrauenswürdige Entität aus.
-
Fügen Sie das folgende JSON Dokument in den Abschnitt Benutzerdefinierte Vertrauensrichtlinie ein und wählen Sie dann Weiter.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "emr-serverless.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
Fügen Sie auf der Seite „Berechtigungen hinzufügen“ die Richtlinie hinzu, die Sie erstellt haben, und wählen Sie dann Weiter aus.
-
Geben Sie auf der Seite „Überprüfen“ einen Namen für die Rolle ein, z. B.
EMRServerlessAppRuntimeRoleA
und eine optionale Beschreibung. -
Prüfen Sie die Rollendetails und wählen Sie Create Role (Rolle erstellen).
Mit diesen Rollen können Sie und Ihre Teamkollegen eine Verbindung zu derselben Anwendung herstellen, wobei jeweils eine Runtime-Rolle verwendet wird, deren Umfang über Berechtigungen verfügt, die Ihrer individuellen Zugriffsebene auf Daten entsprechen.
Anmerkung
Die Spark-Sitzungen funktionieren unterschiedlich. Spark-Sitzungen werden auf der Grundlage der in Studio verwendeten Ausführungsrolle isoliert, sodass Benutzer mit unterschiedlichen Ausführungsrollen separate, isolierte Spark-Sitzungen haben. Wenn Sie die Quellidentität für Ihre Domain aktiviert haben, erfolgt darüber hinaus eine weitere Isolierung von Spark-Sitzungen über verschiedene Quellidentitäten hinweg.
-
-
Schritt 3: Rufen Sie die SageMaker Ausführungsrolle ab, die ARN von Ihrem privaten Bereich verwendet wird.
Informationen zu Spaces und Ausführungsrollen in SageMaker finden Sie unterGrundlegendes zu Domänenbereichsberechtigungen und Ausführungsrollen.
Weitere Hinweise zum Abrufen der Ausführungsrolle ARN SageMaker von finden Sie unterHolen Sie sich Ihre Ausführungsrolle.
Anmerkung
Alternativ SageMaker können Benutzer, die noch nicht damit vertraut sind, ihren Einrichtungsprozess vereinfachen, indem sie automatisch eine neue SageMaker Ausführungsrolle mit den entsprechenden Berechtigungen erstellen. Überspringen Sie in diesem Fall die Schritte 3 und 4. Stattdessen können Benutzer entweder:
-
Wählen Sie beim Erstellen einer neuen Domain im Domain-Menü im linken Navigationsbereich der SageMakerKonsole
die Option Für Organisationen einrichten. -
Erstellen Sie im Rollenmanager-Menü der Konsole eine neue Ausführungsrolle und fügen Sie die Rolle dann einer vorhandenen Domäne oder einem vorhandenen Benutzerprofil hinzu.
Wählen Sie beim Erstellen der Rolle unter Welche ML-Aktivitäten werden Benutzer ausführen? die Option EMR Serverlose Studio-Anwendungen ausführen aus. Geben Sie dann den Namen Ihres Amazon S3 S3-Buckets und die Job-Runtime-Ausführungsrolle an, die Ihre EMR serverlose Anwendung verwenden soll (Schritt 2).
Der SageMaker Rollenmanager fügt der neuen Ausführungsrolle automatisch die erforderlichen Berechtigungen zum Ausführen und Herstellen einer Verbindung zu EMR serverlosen Anwendungen hinzu. Mit dem SageMaker Rollenmanager können Sie Ihrer EMR serverlosen Anwendung nur eine Runtime-Rolle zuweisen, und die Anwendung muss in demselben Konto ausgeführt werden, in dem Studio bereitgestellt wird, wobei eine Runtime-Rolle verwendet wird, die innerhalb desselben Kontos erstellt wurde.
-
-
Schritt 4: Ordnen Sie der SageMaker Ausführungsrolle, die auf Ihre serverlose Anwendung zugreift, die folgenden Berechtigungen zu. EMR
-
Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/sagemaker/
. -
Wählen Sie Rollen und suchen Sie dann anhand des Namens im Suchfeld nach Ihrer Ausführungsrolle. Der Rollenname ist der letzte Teil vonARN, nach dem letzten Schrägstrich (/).
-
Folgen Sie dem Link zu Ihrer Rolle.
-
Wählen Sie Berechtigungen hinzufügen und dann Inline-Richtlinie erstellen aus.
-
Fügen Sie auf der JSONRegisterkarte die Amazon EMR Serverless-Berechtigungen hinzu, die EMR serverlosen Zugriff und Betrieb ermöglichen. Einzelheiten zum Richtliniendokument finden Sie unter EMRServerlose Richtlinien unter. Referenzrichtlinien Ersetzen Sie das
region
,accountID
, und hat bestandenEMRServerlessAppRuntimeRole
(s) mit ihren tatsächlichen Werten, bevor Sie die Liste der Anweisungen in die Inline-Richtlinie Ihrer Rolle kopieren.Anmerkung
Sie können beliebig viele ARN Zeichenfolgen von Runtime-Rollen in die Berechtigung aufnehmen und diese durch Kommas trennen.
-
Wählen Sie Weiter und geben Sie dann einen Richtliniennamen ein.
-
Wählen Sie Create Policy (Richtlinie erstellen) aus.
-
Wiederholen Sie den Schritt Inline-Richtlinie erstellen, um eine weitere Inline-Richtlinie hinzuzufügen, die der Rolle Berechtigungen zur Aktualisierung der Domänen, Benutzerprofile und Bereiche gewährt. Einzelheiten zum
SageMakerUpdateResourcesPolicy
Richtliniendokument finden Sie unter Richtlinie für Aktionen zur Aktualisierung von Domänen, Benutzerprofilen und Bereichen unterReferenzrichtlinien. Ersetzen Sie denregion
andaccountID
durch ihre tatsächlichen Werte, bevor Sie die Liste der Anweisungen in die Inline-Richtlinie Ihrer Rolle kopieren.
-
-
Schritt 5:
Ordnen Sie die Liste der Runtime-Rollen Ihrem Benutzerprofil oder Ihrer Domain zu, sodass Sie die Rollenliste visuell durchsuchen und die Rolle auswählen können, die Sie verwenden möchten, wenn Sie eine Verbindung zu einer EMR serverlosen Anwendung herstellen. JupyterLab Sie können die SageMaker Konsole oder das folgende Skript verwenden. Anschließend greifen alle Ihre Apache Spark- oder Apache Hive-Jobs, die von Ihrem Notebook aus erstellt wurden, nur auf die Daten und Ressourcen zu, die den Richtlinien entsprechen, die der ausgewählten Runtime-Rolle zugeordnet sind.
Wichtig
Wenn Sie diesen Schritt nicht abschließen, können Sie ein JupyterLab Notebook nicht mit einer EMR serverlosen Anwendung verbinden.
Kontoübergreifend
Die folgenden Diagramme veranschaulichen die Rollen und Berechtigungen, die erforderlich sind, um EMR serverlose Anwendungen von Studio aus aufzulisten und eine Verbindung zu ihnen herzustellen, wenn Studio und die Anwendungen in unterschiedlichen AWS Konten bereitgestellt werden.
Weitere Informationen zum Erstellen einer Rolle für ein AWS Konto finden Sie unter https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html Erstellen einer IAM Rolle (Konsole).
Bevor Sie loslegen:
-
Rufen Sie die ARN SageMaker Ausführungsrolle ab, die von Ihrem privaten Bereich verwendet wird. Informationen zu Spaces und Ausführungsrollen in SageMaker finden Sie unterGrundlegendes zu Domänenbereichsberechtigungen und Ausführungsrollen. Weitere Hinweise zum Abrufen der Ausführungsrolle ARN SageMaker von finden Sie unterHolen Sie sich Ihre Ausführungsrolle.
-
Rufen Sie den ARN Amazon S3 S3-Bucket ab, den Sie für Datenquellen verwenden möchten, und geben Sie Daten in der Amazon S3 S3-Konsole
aus. Informationen zum Erstellen eines Amazon S3 S3-Buckets finden Sie unter Bucket erstellen. Informationen darüber, wie Sie einen Bucket anhand seines Namens finden, finden Sie unter Zugreifen auf einen Amazon S3 S3-Bucket und Auflisten.
Wenn Ihre EMR serverlosen Anwendungen und Studio in separaten AWS Konten bereitgestellt werden, konfigurieren Sie die Berechtigungen für beide Konten.
Auf dem EMR Serverless-Konto
Gehen Sie wie folgt vor, um die erforderlichen Rollen und Richtlinien für das Konto zu erstellen, auf dem Ihre EMR serverlose Anwendung ausgeführt wird, das auch als vertrauenswürdiges Konto bezeichnet wird:
-
Schritt 1: Erstellen Sie mindestens eine Rolle für die Ausführung von Jobs zur Runtime-Ausführung für Ihre EMR serverlose Anwendung in Ihrem Konto (die
EMRServerlessRuntimeExecutionRoleB
im obigen kontoübergreifenden Diagramm). Wählen Sie Benutzerdefinierte Vertrauensrichtlinie als vertrauenswürdige Entität aus. Fügen Sie die für Ihren Job erforderlichen Berechtigungen hinzu. Sie benötigen mindestens vollen Zugriff auf einen Amazon S3 S3-Bucket sowie Erstellungs- und Lesezugriff auf den AWS Glue Datenkatalog.Gehen Sie wie folgt vor, um detaillierte Anweisungen zum Erstellen einer neuen Runtime-Ausführungsrolle für Ihre EMR serverlosen Anwendungen zu erhalten:
-
Navigieren Sie zur IAM-Konsole
. -
Wählen Sie im linken Navigationsbereich Richtlinie und dann Richtlinie erstellen aus.
-
Fügen Sie die für Ihre Runtime-Rolle erforderlichen Berechtigungen hinzu, geben Sie der Richtlinie einen Namen und wählen Sie dann Richtlinie erstellen aus.
Beispiel-Laufzeitrichtlinien für eine EMR serverlose Runtime-Rolle finden Sie unter Job runtime roles for Amazon EMR Serverless.
-
Wählen Sie im linken Navigationsbereich Rollen und dann Rolle erstellen aus.
-
Wählen Sie auf der Seite Rolle erstellen die Option Benutzerdefinierte Vertrauensrichtlinie als vertrauenswürdige Entität aus.
-
Fügen Sie das folgende JSON Dokument in den Abschnitt Benutzerdefinierte Vertrauensrichtlinie ein und wählen Sie dann Weiter.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "emr-serverless.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
Fügen Sie auf der Seite „Berechtigungen hinzufügen“ die Richtlinie hinzu, die Sie erstellt haben, und wählen Sie dann Weiter aus.
-
Geben Sie auf der Seite „Überprüfen“ einen Namen für die Rolle ein, z. B.
EMRServerlessAppRuntimeRoleB
und eine optionale Beschreibung. -
Prüfen Sie die Rollendetails und wählen Sie Create Role (Rolle erstellen).
Mit diesen Rollen können Sie und Ihre Teamkollegen eine Verbindung zu derselben Anwendung herstellen, wobei jeweils eine Runtime-Rolle verwendet wird, deren Umfang über Berechtigungen verfügt, die Ihrer individuellen Zugriffsebene auf Daten entsprechen.
Anmerkung
Die Spark-Sitzungen funktionieren unterschiedlich. Spark-Sitzungen sind auf der Grundlage der in Studio verwendeten Ausführungsrolle isoliert, sodass Benutzer mit unterschiedlichen Ausführungsrollen separate, isolierte Spark-Sitzungen haben. Wenn Sie die Quellidentität für Ihre Domain aktiviert haben, erfolgt darüber hinaus eine weitere Isolierung der Spark-Sitzungen über verschiedene Quellidentitäten hinweg.
-
-
Schritt 2: Erstellen Sie eine benutzerdefinierte IAM Rolle
AssumableRole
mit dem Namen der folgenden Konfiguration:-
Berechtigungen: Erteilen Sie den die erforderlichen Berechtigungen (Amazon EMR Serverless-Richtlinien),
AssumableRole
um den Zugriff auf EMR serverlose Ressourcen zu ermöglichen. Diese Rolle wird auch als Access-Rolle bezeichnet. -
Vertrauensstellung: Konfigurieren Sie die Vertrauensrichtlinie so
AssumableRole
, dass die Ausführungsrolle (DieSageMakerExecutionRole
im kontoübergreifenden Diagramm) von dem Studio-Konto aus übernommen werden kann, für das Zugriff erforderlich ist.
Durch die Übernahme der Rolle kann Studio temporären Zugriff auf die erforderlichen Berechtigungen für das EMR Serverless-Konto erhalten.
Gehen Sie wie folgt vor, um detaillierte Anweisungen zum Erstellen eines neuen Kontos
AssumableRole
in EMR Ihrem AWS Serverless-Konto zu erhalten:-
Navigieren Sie zur IAM-Konsole
. -
Wählen Sie im linken Navigationsbereich Richtlinie und dann Richtlinie erstellen aus.
-
Fügen Sie auf der JSONRegisterkarte die Amazon EMR Serverless-Berechtigungen hinzu, die EMR serverlosen Zugriff und Betrieb ermöglichen. Einzelheiten zum Richtliniendokument finden Sie unter EMRServerlose Richtlinien unter. Referenzrichtlinien Ersetzen Sie die Werte
region
accountID
,, und übergebenEMRServerlessAppRuntimeRole
(s) durch ihre tatsächlichen Werte, bevor Sie die Liste der Anweisungen in die Inline-Richtlinie Ihrer Rolle kopieren.Anmerkung
EMRServerlessAppRuntimeRole
Hier ist die in Schritt 1 erstellte Rolle für die Ausführung der Job-Runtime (die RolleEMRServerlessAppRuntimeRoleB
im Cross-Account-Diagramm oben). Sie können beliebig viele ARN Zeichenfolgen von Runtime-Rollen in die Berechtigung aufnehmen und diese durch Kommas trennen. -
Wählen Sie Weiter und geben Sie dann einen Richtliniennamen ein.
-
Wählen Sie Create Policy (Richtlinie erstellen) aus.
-
Wählen Sie im linken Navigationsbereich Rollen und dann Rolle erstellen aus.
-
Wählen Sie auf der Seite Rolle erstellen die Option Benutzerdefinierte Vertrauensrichtlinie als vertrauenswürdige Entität aus.
-
Fügen Sie das folgende JSON Dokument in den Abschnitt Benutzerdefinierte Vertrauensrichtlinie ein und wählen Sie dann Weiter.
studio-account
Ersetzen Sie es durch die Studio-Konto-ID undAmazonSageMaker-ExecutionRole
durch die Ausführungsrolle, die von Ihrem JupyterLab Bereich verwendet wird.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
studio-account
:role/service-role/AmazonSageMaker-ExecutionRole
" }, "Action": "sts:AssumeRole" } ] } -
Fügen Sie auf der Seite „Berechtigungen hinzufügen“ die Berechtigung hinzu, die
EMRServerlessAppRuntimeRoleB
Sie in Schritt 2 erstellt haben, und wählen Sie dann Weiter aus. -
Geben Sie auf der Seite „Überprüfen“ einen Namen für die Rolle ein, z. B.
AssumableRole
und eine optionale Beschreibung. -
Prüfen Sie die Rollendetails und wählen Sie Create Role (Rolle erstellen).
Weitere Informationen zum Erstellen einer Rolle für ein AWS Konto finden Sie unter IAMRolle erstellen (Konsole).
-
Auf dem Studio-Konto
Aktualisieren Sie auf dem Konto, auf dem Studio bereitgestellt wird, das auch als vertrauenswürdiges Konto bezeichnet wird, die SageMaker Ausführungsrolle, die auf Ihre EMR serverlosen Anwendungen zugreift, mit den erforderlichen Berechtigungen für den Zugriff auf Ressourcen im vertrauenswürdigen Konto.
-
Schritt 1: Rufen Sie die SageMaker Ausführungsrolle ab, die ARN von Ihrem Bereich verwendet wird.
Informationen zu Spaces und Ausführungsrollen in SageMaker finden Sie unterGrundlegendes zu Domänenbereichsberechtigungen und Ausführungsrollen.
Weitere Hinweise zum Abrufen der Ausführungsrolle ARN SageMaker von finden Sie unterHolen Sie sich Ihre Ausführungsrolle.
-
Schritt 2: Ordnen Sie der SageMaker Ausführungsrolle, die auf Ihre EMR serverlose Anwendung zugreift, die folgenden Berechtigungen zu.
-
Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/
. -
Wählen Sie Rollen und suchen Sie dann anhand des Namens im Suchfeld nach Ihrer Ausführungsrolle. Der Rollenname ist der letzte Teil vonARN, nach dem letzten Schrägstrich (/).
-
Folgen Sie dem Link zu Ihrer Rolle.
-
Wählen Sie Berechtigungen hinzufügen und dann Inline-Richtlinie erstellen aus.
-
Fügen Sie auf der JSONRegisterkarte die Inline-Richtlinie hinzu, die der Rolle Berechtigungen zum Aktualisieren der Domänen, Benutzerprofile und Bereiche gewährt. Einzelheiten zum
SageMakerUpdateResourcesPolicy
Richtliniendokument finden Sie unter Richtlinie für Aktionen zur Aktualisierung von Domänen, Benutzerprofilen und Bereichen unterReferenzrichtlinien. Ersetzen Sie dieregion
undaccountID
durch ihre tatsächlichen Werte, bevor Sie die Liste der Anweisungen in die Inline-Richtlinie Ihrer Rolle kopieren. -
Wählen Sie Weiter und geben Sie dann einen Richtliniennamen ein.
-
Wählen Sie Create Policy (Richtlinie erstellen) aus.
-
Wiederholen Sie den Schritt Inline-Richtlinie erstellen, um eine weitere Richtlinie hinzuzufügen, die der Ausführungsrolle die Rechte erteilt, die Aktionen anzunehmen
AssumableRole
und dann auszuführen, die gemäß der Zugriffsrichtlinie der Rolle zulässig sind.emr-account
Ersetzen Sie es durch die Amazon EMR Serverless-Konto-ID undAssumableRole
durch den Namen der angenommenen Rolle, die im Amazon EMR Serverless-Konto erstellt wurde.{ "Version": "2012-10-17", "Statement": { "Sid": "AllowSTSToAssumeAssumableRole", "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::
emr-account
:role/AssumableRole
" } }
-
-
Schritt 3:
Ordnen Sie die Liste der Runtime-Rollen Ihrer Domäne oder Ihrem Benutzerprofil zu, sodass Sie die Rollenliste visuell durchsuchen und die Rolle auswählen können, die Sie verwenden möchten, wenn Sie eine Verbindung zu einer EMR serverlosen Anwendung herstellen. JupyterLab Sie können die SageMaker Konsole oder das folgende Skript verwenden. Anschließend greifen alle Ihre Apache Spark- oder Apache Hive-Jobs, die von Ihrem Notebook aus erstellt wurden, nur auf die Daten und Ressourcen zu, die den Richtlinien entsprechen, die der ausgewählten Runtime-Rolle zugeordnet sind.
Wichtig
Wenn Sie diesen Schritt nicht abschließen, können Sie ein JupyterLab Notebook nicht mit einer EMR serverlosen Anwendung verbinden.
Referenzrichtlinien
-
EMRServerlose Richtlinien: Diese Richtlinie ermöglicht die Verwaltung EMR serverloser Anwendungen, einschließlich Auflisten, Erstellen (mit den erforderlichen SageMaker Tags), Starten, Beenden, Abrufen von Details, Löschen, Zugreifen auf Livy-Endpunkte und Abrufen von Dashboards zur Auftragsausführung. Sie ermöglicht auch die Übergabe der erforderlichen Runtime-Rolle für EMR serverlose Anwendungen an den Dienst.
-
EMRServerlessListApplications
: Ermöglicht die ListApplications Aktion für alle EMR serverlosen Ressourcen in der angegebenen Region und AWS dem angegebenen Konto. -
EMRServerlessPassRole
: Ermöglicht die Übergabe der angegebenen Runtime-Rolle (n) im angegebenen AWS Konto, jedoch nur, wenn die Rolle an denemr-serverless.amazonaws.com service
übergeben wird. -
EMRServerlessCreateApplicationAction
: Erlaubt die CreateApplication TagResource Endaktionen für EMR serverlose Ressourcen in der angegebenen Region und dem angegebenen AWS Konto. Es erfordert jedoch, dass die Ressourcen, die erstellt oder markiert werden, über bestimmte Tag-Schlüssel (sagemaker:domain-arn
, undsagemaker:space-arn
) verfügensagemaker:user-profile-arn
, deren Werte ungleich Null sind. -
EMRServerlessDenyTaggingAction
: Die UntagResource Aktionen TagResource und für EMR serverlose Ressourcen in der angegebenen Region und dem angegebenen AWS Konto, falls für die Ressourcen keiner der angegebenen Tag-Schlüssel (sagemaker:domain-arn
sagemaker:user-profile-arn
, undsagemaker:space-arn
) gesetzt ist. -
EMRServerlessActions
: Erlaubt verschiedene Aktionen (StartApplication
StopApplication
,,GetApplication
DeleteApplication
AccessLivyEndpoints
, undGetDashboardForJobRun
) für EMR serverlose Ressourcen, aber nur, wenn für die Ressourcen die angegebenen Tag-Schlüssel (sagemaker:domain-arn
sagemaker:user-profile-arn
, undsagemaker:space-arn
) auf Werte ungleich Null gesetzt sind.
Die im bereitgestellten JSON Dokument definierte IAM Richtlinie gewährt diese Berechtigungen, beschränkt diesen Zugriff jedoch auf das Vorhandensein bestimmter SageMaker Tags in den EMR serverlosen Anwendungen, um sicherzustellen, dass nur Amazon EMR Serverless-Ressourcen verwaltet werden können, die einer bestimmten SageMaker Domain, einem bestimmten Benutzerprofil und einem bestimmten Bereich zugeordnet sind.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EMRServerlessListApplications", "Effect": "Allow", "Action": [ "emr-serverless:ListApplications" ], "Resource": "arn:aws:emr-serverless:
region
:accountID
:/*" }, { "Sid": "EMRServerlessPassRole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::accountID
:EMRServerlessAppRuntimeRole
", "Condition": { "StringLike": { "iam:PassedToService": "emr-serverless.amazonaws.com" } } }, { "Sid": "EMRServerlessCreateApplicationAction", "Effect": "Allow", "Action": [ "emr-serverless:CreateApplication", "emr-serverless:TagResource" ], "Resource": "arn:aws:emr-serverless:region
:accountID
:/*", "Condition": { "ForAllValues:StringEquals": { "aws:TagKeys": [ "sagemaker:domain-arn", "sagemaker:user-profile-arn", "sagemaker:space-arn" ] }, "Null": { "aws:RequestTag/sagemaker:domain-arn": "false", "aws:RequestTag/sagemaker:user-profile-arn": "false", "aws:RequestTag/sagemaker:space-arn": "false" } } }, { "Sid": "EMRServerlessDenyTaggingAction", "Effect": "Deny", "Action": [ "emr-serverless:TagResource", "emr-serverless:UntagResource" ], "Resource": "arn:aws:emr-serverless:region
:accountID
:/*", "Condition": { "Null": { "aws:ResourceTag/sagemaker:domain-arn": "true", "aws:ResourceTag/sagemaker:user-profile-arn": "true", "aws:ResourceTag/sagemaker:space-arn": "true" } } }, { "Sid": "EMRServerlessActions", "Effect": "Allow", "Action": [ "emr-serverless:StartApplication", "emr-serverless:StopApplication", "emr-serverless:GetApplication", "emr-serverless:DeleteApplication", "emr-serverless:AccessLivyEndpoints", "emr-serverless:GetDashboardForJobRun" ], "Resource": "arn:aws:emr-serverless:region
:accountID
:/applications/*", "Condition": { "Null": { "aws:ResourceTag/sagemaker:domain-arn": "false", "aws:ResourceTag/sagemaker:user-profile-arn": "false", "aws:ResourceTag/sagemaker:space-arn": "false" } } } ] } -
-
Richtlinie für Aktionen zur Aktualisierung von Domänen, Benutzerprofilen und Bereichen: Die folgende Richtlinie gewährt Berechtigungen zur Aktualisierung von SageMaker Domänen, Benutzerprofilen und Bereichen innerhalb der angegebenen Region und AWS des angegebenen Kontos.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "SageMakerUpdateResourcesPolicy", "Effect": "Allow", "Action": [ "sagemaker:UpdateDomain", "sagemaker:UpdateUserprofile", "sagemaker:UpdateSpace" ], "Resource": [ "arn:aws:sagemaker:
region>
:accountID
:domain/*", "arn:aws:sagemaker:region
:accountID
:user-profile/*" ] } ] }