EMR CloudFormationAmazon-Vorlagen im Service Catalog konfigurieren - 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.

EMR CloudFormationAmazon-Vorlagen im Service Catalog konfigurieren

Bei diesem Thema wird davon ausgegangen, dass Administratoren mit folgenden Themen vertraut sind AWS CloudFormation, Portfolios und Produkte in AWS Service Catalog, sowie Amazon EMR.

Um die Erstellung von EMR Amazon-Clustern in Studio zu vereinfachen, können Administratoren eine EMR CloudFormation Amazon-Vorlage als Produkt in einem registrieren AWS Service CatalogPortfolio. Um die Vorlage Datenwissenschaftlern zur Verfügung zu stellen, müssen sie das Portfolio der in Studio oder Studio Classic verwendeten SageMaker Ausführungsrolle zuordnen. Schließlich müssen Administratoren die entsprechenden Zugriffsberechtigungen einrichten, damit Benutzer Vorlagen finden, EMR Cluster bereitstellen und von Studio Classic aus eine Verbindung zu Amazon-Clustern herstellen können.

Der Amazon EMR AWS CloudFormation Mithilfe von Vorlagen können Endbenutzer verschiedene Cluster-Aspekte anpassen. Administratoren können beispielsweise eine Liste mit genehmigten Instanztypen definieren, aus denen Benutzer bei der Erstellung eines Clusters auswählen können.

In den folgenden Anweisungen werden end-to-end CloudFormation Stacks verwendet, um eine Studio- oder Studio Classic-Domain, ein Benutzerprofil und ein Service Catalog-Portfolio einzurichten und eine EMR Amazon-Startvorlage auszufüllen. In den folgenden Schritten werden die spezifischen Einstellungen hervorgehoben, die Administratoren in ihrem end-to-end Stack vornehmen müssen, damit Studio oder Studio Classic auf Service Catalog-Produkte zugreifen und EMR Amazon-Cluster bereitstellen können.

Anmerkung

Das GitHub Repository aws-samples/ sagemaker-studio-emr enthält end-to-end CloudFormation Beispiel-Stacks, die die erforderlichen IAM Rollen, Netzwerke, SageMaker Domänen, das Benutzerprofil und das Service Catalog-Portfolio bereitstellen und eine Amazon-Startvorlage hinzufügen. EMR CloudFormation Die Vorlagen bieten unterschiedliche Authentifizierungsoptionen zwischen Studio oder Studio Classic und dem EMR Amazon-Cluster. In diesen Beispielvorlagen übergibt SageMaker VPC der übergeordnete CloudFormation Stack die Sicherheitsgruppen- und Subnetzparameter an die EMR Amazon-Cluster-Vorlage.

Das Repository sagemaker-studio-emr/cloudformation/emr_servicecatalog_templates enthält verschiedene EMR CloudFormation Amazon-Startvorlagen, darunter Optionen für Einzelkonten und kontoübergreifende Bereitstellungen.

Stellen Sie von SageMaker Studio oder Studio Classic aus eine Connect zu einem EMR Amazon-Cluster herEinzelheiten zu den Authentifizierungsmethoden, mit denen Sie eine Verbindung zu einem EMR Amazon-Cluster herstellen können, finden Sie unter.

Gehen Sie wie folgt vor, damit Datenwissenschaftler EMR CloudFormation Amazon-Vorlagen entdecken und Cluster aus Studio oder Studio Classic bereitstellen können.

Schritt 0: Überprüfen Sie Ihr Netzwerk und bereiten Sie Ihren CloudFormation Stack vor

Bevor Sie beginnen:

  • Stellen Sie sicher, dass Sie die Netzwerk- und Sicherheitsanforderungen in gelesen habenNetzwerk konfigurieren.

  • Sie müssen über einen vorhandenen end-to-end CloudFormation Stack verfügen, der die Authentifizierungsmethode Ihrer Wahl unterstützt. Beispiele für solche CloudFormation Vorlagen finden Sie im sagemaker-studio-emr GitHub aws-samples/ Repository. In den folgenden Schritten werden die spezifischen Konfigurationen in Ihrem end-to-end Stack hervorgehoben, um die Verwendung von EMR Amazon-Vorlagen in Studio oder Studio Classic zu ermöglichen.

Schritt 1: Verknüpfen Sie Ihr Service Catalog-Portfolio mit SageMaker

Ordnen Sie in Ihrem Servicekatalog-Portfolio Ihre Portfolio-ID der SageMaker Ausführungsrolle zu, die auf Ihren Cluster zugreift.

Fügen Sie dazu den folgenden Abschnitt (hier im YAML Format) zu Ihrem Stack hinzu. Dadurch erhält die SageMaker Ausführungsrolle Zugriff auf das angegebene Service Catalog-Portfolio, das Produkte wie EMR Amazon-Vorlagen enthält. Es ermöglicht Rollen, die von übernommen wurden SageMaker , um diese Produkte auf den Markt zu bringen.

Ersetzen SageMakerExecutionRole.Arn and SageMakerStudioEMRProductPortfolio.ID mit ihren tatsächlichen Werten.

SageMakerStudioEMRProductPortfolioPrincipalAssociation: Type: AWS::ServiceCatalog::PortfolioPrincipalAssociation Properties: PrincipalARN: SageMakerExecutionRole.Arn PortfolioId: SageMakerStudioEMRProductPortfolio.ID PrincipalType: IAM

Einzelheiten zu den erforderlichen IAM Berechtigungen finden Sie im Abschnitt Berechtigungen.

Schritt 2: Verweisen Sie in einem Service Catalog-Produkt auf eine EMR Amazon-Vorlage

Verweisen Sie in einem Service Catalog-Produkt Ihres Portfolios auf eine EMR Amazon-Vorlagenressource und stellen Sie sicher, dass sie in Studio oder Studio Classic sichtbar ist.

Verweisen Sie dazu in der Service Catalog-Produktdefinition auf die EMR Amazon-Vorlagenressource und fügen Sie dann dem Wert den folgenden "sagemaker:studio-visibility:emr" Tag-Schlüsselsatz hinzu "true" (siehe das Beispiel im YAML Format).

In der Service Catalog-Produktdefinition ist der AWS CloudFormation Auf die Vorlage des Clusters wird über verwiesenURL. Das zusätzliche Tag, das auf true gesetzt ist, gewährleistet die Sichtbarkeit der EMR Amazon-Vorlagen in Studio oder Studio Classic.

Anmerkung

Die EMR Amazon-Vorlage, auf die URL im Beispiel verwiesen wird, erzwingt beim Start keine Authentifizierungsanforderungen. Diese Option ist zu Demonstrations- und Lernzwecken vorgesehen. In einer Produktionsumgebung wird sie nicht empfohlen.

SMStudioEMRNoAuthProduct: Type: AWS::ServiceCatalog::CloudFormationProduct Properties: Owner: AWS Name: SageMaker Studio Domain No Auth EMR ProvisioningArtifactParameters: - Name: SageMaker Studio Domain No Auth EMR Description: Provisions a SageMaker domain and No Auth EMR Cluster Info: LoadTemplateFromURL: Link to your CloudFormation template. For example, https://aws-blogs-artifacts-public.s3.amazonaws.com/artifacts/astra-m4-sagemaker/end-to-end/CFN-EMR-NoStudioNoAuthTemplate-v3.yaml Tags: - Key: "sagemaker:studio-visibility:emr" Value: "true"

Schritt 3: Die Amazon-Vorlage parametrisieren EMR CloudFormation

Die CloudFormation Vorlage, die zur Definition des EMR Amazon-Clusters innerhalb des Service Catalog-Produkts verwendet wird, ermöglicht es Administratoren, konfigurierbare Parameter anzugeben. Administratoren können Default Werte und AllowedValues Bereiche für diese Parameter im Parameters Abschnitt der Vorlage definieren. Während des Cluster-Startvorgangs können Datenwissenschaftler benutzerdefinierte Eingaben bereitstellen oder aus diesen vordefinierten Optionen eine Auswahl treffen, um bestimmte Aspekte ihres EMR Amazon-Clusters anzupassen.

Das folgende Beispiel zeigt zusätzliche Eingabeparameter, die Administratoren bei der Erstellung einer EMR Amazon-Vorlage festlegen können.

"Parameters": { "EmrClusterName": { "Type": "String", "Description": "EMR cluster Name." }, "MasterInstanceType": { "Type": "String", "Description": "Instance type of the EMR master node.", "Default": "m5.xlarge", "AllowedValues": [ "m5.xlarge", "m5.2xlarge", "m5.4xlarge" ] }, "CoreInstanceType": { "Type": "String", "Description": "Instance type of the EMR core nodes.", "Default": "m5.xlarge", "AllowedValues": [ "m5.xlarge", "m5.2xlarge", "m5.4xlarge", "m3.medium", "m3.large", "m3.xlarge", "m3.2xlarge" ] }, "CoreInstanceCount": { "Type": "String", "Description": "Number of core instances in the EMR cluster.", "Default": "2", "AllowedValues": [ "2", "5", "10" ] }, "EmrReleaseVersion": { "Type": "String", "Description": "The release version of EMR to launch.", "Default": "emr-5.33.1", "AllowedValues": [ "emr-5.33.1", "emr-6.4.0" ] } }

Nachdem Administratoren die EMR CloudFormation Amazon-Vorlagen in Studio verfügbar gemacht haben, können Datenwissenschaftler sie verwenden, um EMR Amazon-Cluster selbst bereitzustellen. Der in der Vorlage definierte Parameters Abschnitt wird in Eingabefelder im Formular zur Cluster-Erstellung in Studio oder Studio Classic übersetzt. Für jeden Parameter können Datenwissenschaftler entweder einen benutzerdefinierten Wert in das Eingabefeld eingeben oder aus den in einem Dropdownmenü aufgeführten vordefinierten Optionen auswählen, die den in der Vorlage AllowedValues angegebenen Optionen entsprechen.

Die folgende Abbildung zeigt das dynamische Formular, das aus einer CloudFormation EMR Amazon-Vorlage zusammengestellt wurde, um einen EMR Amazon-Cluster in Studio oder Studio Classic zu erstellen.

Abbildung eines dynamischen Formulars, das aus einer CloudFormation EMR Amazon-Vorlage zusammengestellt wurde, um einen EMR Amazon-Cluster aus Studio oder Studio Classic zu erstellen.

Besuchen SieStarten Sie einen EMR Amazon-Cluster von Studio oder Studio Classic aus, um zu erfahren, wie Sie mithilfe dieser EMR Amazon-Vorlagen einen Cluster von Studio oder Studio Classic aus starten können.

Schritt 4: Richten Sie die Berechtigungen ein, um das Auflisten und Starten von EMR Amazon-Clustern von Studio aus zu ermöglichen

Fügen Sie abschließend die erforderlichen IAM Berechtigungen hinzu, um die Auflistung vorhandener laufender EMR Amazon-Cluster und die Selbstbereitstellung neuer Cluster aus Studio oder Studio Classic zu ermöglichen.

Die Rollen, denen Sie diese Berechtigungen hinzufügen müssen, hängen davon ab, ob Studio oder Studio Classic und Amazon in demselben Konto (wählen Sie Einzelkonto) oder in unterschiedlichen Konten (wählen Sie Kontoübergreifend) bereitgestellt EMR werden.

Wichtig

Sie können nur EMR Amazon-Cluster für und Studio Classic-Anwendungen erkennen JupyterLab und eine Verbindung zu diesen herstellen, die von privaten Bereichen aus gestartet werden. Stellen Sie sicher, dass sich die EMR Amazon-Cluster im selben befinden AWS Region wie Ihre Studio-Umgebung.

Wenn Ihre EMR Amazon-Cluster und Studio oder Studio Classic in derselben Umgebung bereitgestellt werden AWS Konto, fügen Sie der SageMaker Ausführungsrolle, die auf Ihren Cluster zugreift, die folgenden Berechtigungen zu.

  1. Schritt 1: 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.

  2. Schritt 2: Ordnen Sie der SageMaker Ausführungsrolle, die auf Ihre EMR Amazon-Cluster zugreift, die folgenden Berechtigungen zu.

    1. Navigieren Sie zur IAM-Konsole.

    2. 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 (/).

    3. Folgen Sie dem Link zu Ihrer Rolle.

    4. Wählen Sie Berechtigungen hinzufügen und dann Inline-Richtlinie erstellen aus.

    5. Fügen Sie auf der JSONRegisterkarte die EMR Amazon-Berechtigungen hinzu, die den EMR Zugriff und den Betrieb von Amazon ermöglichen. Einzelheiten zum Richtliniendokument finden Sie unter EMRAmazon-Richtlinien auflisten unterReferenzrichtlinien. Ersetzen Sie die und accountID durch ihre tatsächlichen Werteregion, bevor Sie die Liste der Aussagen in die Inline-Richtlinie Ihrer Rolle kopieren.

    6. Wählen Sie Weiter und geben Sie dann einen Richtliniennamen ein.

    7. Wählen Sie Create Policy (Richtlinie erstellen) aus.

    8. Wiederholen Sie den Schritt Inline-Richtlinie erstellen, um eine weitere Richtlinie hinzuzufügen, die der Ausführungsrolle die Berechtigungen zur Bereitstellung neuer EMR Amazon-Cluster erteilt, indem AWS CloudFormation Vorlagen. Einzelheiten zum Richtliniendokument finden Sie unter EMRclustersAmazon-Richtlinien erstellen unterReferenzrichtlinien. Ersetzen Sie die region Zeichen und accountID durch ihre tatsächlichen Werte, bevor Sie die Liste der Aussagen in die Inline-Richtlinie Ihrer Rolle kopieren.

Anmerkung

Benutzer von Verbindungen mit rollenbasierter Zugriffskontrolle (RBAC) zu EMR Amazon-Clustern sollten sich auch über Folgendes informieren: Konfigurieren Sie die Runtime-Rollenauthentifizierung, wenn sich Ihr EMR Amazon-Cluster und Studio im selben Konto befinden

Bevor Sie beginnen, 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.

Wenn Ihre EMR Amazon-Cluster und Studio oder Studio Classic getrennt bereitgestellt werden AWS Konten, Sie konfigurieren die Berechtigungen für beide Konten.

Anmerkung

Benutzer von Verbindungen mit rollenbasierter Zugriffskontrolle (RBAC) zu EMR Amazon-Clustern sollten sich auch über Folgendes informieren: Konfigurieren Sie die Laufzeit-Rollenauthentifizierung, wenn sich Ihr Cluster und Studio in verschiedenen Konten befinden

Auf dem EMR Amazon-Cluster-Konto

Gehen Sie wie folgt vor, um die erforderlichen Rollen und Richtlinien für das Konto zu erstellen, auf dem Amazon bereitgestellt EMR wird, das auch als vertrauenswürdiges Konto bezeichnet wird:

  1. Schritt 1: Rufen Sie ARN die Servicerolle Ihres EMR Amazon-Clusters ab.

    Informationen darüber, wie Sie die ARN Servicerolle eines Clusters ermitteln, finden Sie unter Konfigurieren von IAM Servicerollen für EMR Amazon-Berechtigungen für AWS Dienste und Ressourcen.

  2. Schritt 2: Erstellen Sie eine benutzerdefinierte IAM Rolle AssumableRole mit dem Namen der folgenden Konfiguration:

    • Berechtigungen: Erteilen Sie die erforderlichen Berechtigungen, AssumableRole um den Zugriff auf EMR Amazon-Ressourcen zu ermöglichen. Diese Rolle wird in Szenarien mit kontenübergreifendem Zugriff auch als Access-Rolle bezeichnet.

    • Vertrauensverhältnis: Konfigurieren Sie die Vertrauensrichtlinie soAssumableRole, dass die Ausführungsrolle (die SageMakerExecutionRole im kontoübergreifenden Diagramm) von dem Studio-Konto aus übernommen werden kann, für das Zugriff erforderlich ist.

    Durch die Übernahme der Rolle erhalten Studio oder Studio Classic temporären Zugriff auf die erforderlichen Berechtigungen in AmazonEMR.

    Für detaillierte Anweisungen, wie Sie ein neues AssumableRole in Ihrem Amazon erstellen EMR AWS Gehen Sie wie folgt vor:

    1. Navigieren Sie zur IAM-Konsole.

    2. Wählen Sie im linken Navigationsbereich Richtlinie und dann Richtlinie erstellen aus.

    3. Fügen Sie auf der JSONRegisterkarte die EMR Amazon-Berechtigungen hinzu, die den EMR Zugriff und den Betrieb von Amazon ermöglichen. Einzelheiten zum Richtliniendokument finden Sie unter EMRAmazon-Richtlinien auflisten unterReferenzrichtlinien. Ersetzen Sie die und accountID durch ihre tatsächlichen Werteregion, bevor Sie die Liste der Aussagen in die Inline-Richtlinie Ihrer Rolle kopieren.

    4. Wählen Sie Weiter und geben Sie dann einen Richtliniennamen ein.

    5. Wählen Sie Create Policy (Richtlinie erstellen) aus.

    6. Wählen Sie im linken Navigationsbereich Rollen und dann Rolle erstellen aus.

    7. Wählen Sie auf der Seite Rolle erstellen die Option Benutzerdefinierte Vertrauensrichtlinie als vertrauenswürdige Entität aus.

    8. Fügen Sie das folgende JSON Dokument in den Abschnitt Benutzerdefinierte Vertrauensrichtlinie ein und wählen Sie dann Weiter.

      For users of Studio and JupyterLab

      studio-accountErsetzen Sie es durch die Studio-Konto-ID und AmazonSageMaker-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" } ] }
      For users of Studio Classic

      studio-accountErsetzen Sie es durch die Studio Classic-Konto-ID.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::studio-account:root" }, "Action": "sts:AssumeRole" } ] }
    9. Fügen Sie auf der Seite „Berechtigungen hinzufügen“ die soeben erstellte Berechtigung hinzu und wählen Sie dann Weiter aus.

    10. Geben Sie auf der Seite „Überprüfen“ einen Namen für die Rolle ein, z. B. AssumableRole und eine optionale Beschreibung.

    11. Prüfen Sie die Rollendetails und wählen Sie Create Role (Rolle erstellen).

    Weitere Informationen zum Erstellen einer Rolle auf einem 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 Cluster zugreift, mit den erforderlichen Berechtigungen für den Zugriff auf Ressourcen im vertrauenswürdigen Konto.

  1. Schritt 1: 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.

  2. Schritt 2: Ordnen Sie der SageMaker Ausführungsrolle, die auf Ihre EMR Amazon-Cluster zugreift, die folgenden Berechtigungen zu.

    1. Navigieren Sie zur IAM-Konsole.

    2. 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 (/).

    3. Folgen Sie dem Link zu Ihrer Rolle.

    4. Wählen Sie Berechtigungen hinzufügen und dann Inline-Richtlinie erstellen aus.

    5. 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 Richtliniendokument finden Sie unter Richtlinie für Aktionen zur Aktualisierung von Domänen, Benutzerprofilen und Bereichen unterReferenzrichtlinien. Ersetzen Sie die region und accountID durch ihre tatsächlichen Werte, bevor Sie die Liste der Anweisungen in die Inline-Richtlinie Ihrer Rolle kopieren.

    6. Wählen Sie Weiter und geben Sie dann einen Richtliniennamen ein.

    7. Wählen Sie Create Policy (Richtlinie erstellen) aus.

    8. 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-accountErsetzen Sie es durch die EMR Amazon-Konto-ID und AssumableRole durch den Namen der angenommenen Rolle, die im EMR Amazon-Konto erstellt wurde.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRoleAssumptionForCrossAccountDiscovery", "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": ["arn:aws:iam::emr-account:role/AssumableRole" ] }] }
    9. Wiederholen Sie den Schritt Inline-Richtlinie erstellen, um eine weitere Richtlinie hinzuzufügen, die der Ausführungsrolle die Berechtigungen zur Bereitstellung neuer EMR Amazon-Cluster erteilt, indem AWS CloudFormation Vorlagen. Einzelheiten zum Richtliniendokument finden Sie unter EMRclustersAmazon-Richtlinien erstellen unterReferenzrichtlinien. Ersetzen Sie die region Zeichen und accountID durch ihre tatsächlichen Werte, bevor Sie die Liste der Aussagen in die Inline-Richtlinie Ihrer Rolle kopieren.

    10. (Optional) Um das Auflisten von EMR Amazon-Clustern zu ermöglichen, die in demselben Konto wie Studio bereitgestellt werden, fügen Sie Ihrer Studio-Ausführungsrolle eine zusätzliche Inline-Richtlinie hinzu, wie unter EMRAmazon-Richtlinien auflisten unter definiertReferenzrichtlinien.

  3. Schritt 3: Ordnen Sie Ihre angenommene (n) Rolle (n) (Zugriffsrolle) Ihrer Domain oder Ihrem Benutzerprofil zu. JupyterLab Benutzer in Studio können die SageMaker Konsole oder das bereitgestellte Skript verwenden.

    Wählen Sie die Registerkarte, die Ihrem Anwendungsfall entspricht.

    Associate your assumable roles in JupyterLab using the SageMaker console

    So ordnen Sie mithilfe der SageMaker Konsole Ihre angenommenen Rollen Ihrem Benutzerprofil oder Ihrer Domain zu:

    1. Navigieren Sie zur SageMaker Konsole unter. https://console.aws.amazon.com/sagemaker/

    2. Wählen Sie im linken Navigationsbereich die Domäne aus und wählen Sie dann die Domäne mit der SageMaker Ausführungsrolle aus, deren Berechtigungen Sie aktualisiert haben.

      • So fügen Sie Ihrer Domain Ihre angenommene (n) Rolle (n) (Zugriffsrolle) hinzu: Navigieren Sie auf der Registerkarte „App-Konfigurationen“ der Seite mit den Domain-Details zu dem JupyterLabAbschnitt.

      • So fügen Sie Ihrem Benutzerprofil Ihre angenommene (n) Rolle (n) (Zugriffsrolle) hinzu: Wählen Sie auf der Seite mit den Domänendetails den Tab Benutzerprofile aus und wählen Sie das Benutzerprofil mit der SageMaker Ausführungsrolle aus, deren Berechtigungen Sie aktualisiert haben. Navigieren Sie auf der Registerkarte App-Konfigurationen zum JupyterLabAbschnitt.

    3. Wählen Sie Bearbeiten und fügen Sie die ARNs Ihrer angenommenen Rolle (Zugriffsrolle) hinzu.

    4. Wählen Sie Absenden aus.

    Associate your assumable roles in JupyterLab using a Python script

    Führen Sie in einer JupyterLab Anwendung, die von einem Space aus gestartet wurde und die SageMaker Ausführungsrolle verwendet, deren Berechtigungen Sie aktualisiert haben, den folgenden Befehl in einem Terminal aus. Ersetzen SiedomainID, user-profile-nameemr-accountID, und AssumableRole (EMRServiceRolefür RBACRuntime-Rollen) durch die entsprechenden Werte. Dieser Codeausschnitt aktualisiert die Benutzerprofileinstellungen für ein bestimmtes Benutzerprofil (Verwendungclient.update_userprofile) oder Domäneneinstellungen (Verwendungclient.update_domain) innerhalb einer SageMaker Domäne. Insbesondere ermöglicht es der JupyterLab Anwendung, eine bestimmte IAM Rolle (AssumableRole) für die Ausführung von EMR Amazon-Clustern innerhalb des EMR Amazon-Kontos einzunehmen.

    import botocore.session import json sess = botocore.session.get_session() client = sess.create_client('sagemaker') client.update_userprofile( DomainId="domainID", UserProfileName="user-profile-name", DefaultUserSettings={ 'JupyterLabAppSettings': { 'EmrSettings': { 'AssumableRoleArns': ["arn:aws:iam::emr-accountID:role/AssumableRole"], 'ExecutionRoleArns': ["arn:aws:iam::emr-accountID:role/EMRServiceRole", "arn:aws:iam::emr-accountID:role/AnotherServiceRole"] } } }) resp = client.describe_user_profile(DomainId="domainID", UserProfileName=user-profile-name") resp['CreationTime'] = str(resp['CreationTime']) resp['LastModifiedTime'] = str(resp['LastModifiedTime']) print(json.dumps(resp, indent=2))
    For users of Studio Classic

    Geben Sie den ARN Namen der AssumableRole für Ihre Studio Classic-Ausführungsrolle ein. Das ARN wird beim Start vom Jupyter-Server geladen. Die von Studio verwendete Ausführungsrolle übernimmt diese kontoübergreifende Rolle, um EMR Amazon-Cluster im vertrauenswürdigen Konto zu erkennen und eine Verbindung zu diesen herzustellen.

    Sie können diese Informationen mithilfe von Lifecycle Configuration (LCC) -Skripts angeben. Sie können das LCC an Ihre Domain oder ein bestimmtes Benutzerprofil anhängen. Das von Ihnen verwendete LCC Skript muss eine JupyterServer Konfiguration sein. Weitere Informationen zum Erstellen eines LCC Skripts finden Sie unter Verwenden von Lebenszykluskonfigurationen mit Studio Classic.

    Im Folgenden finden Sie ein LCC Beispielskript. Um das Skript zu ändern, ersetzen Sie AssumableRole und emr-account durch die entsprechenden Werte. Die Anzahl der Cros-Accounts ist auf fünf begrenzt.

    # This script creates the file that informs Studio Classic that the role "arn:aws:iam::emr-account:role/AssumableRole" in remote account "emr-account" must be assumed to list and describe Amazon EMR clusters in the remote account. #!/bin/bash set -eux 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 > "$FILE" <<- "EOF" { emr-cross-account1: "arn:aws:iam::emr-cross-account1:role/AssumableRole", emr-cross-account2: "arn:aws:iam::emr-cross-account2:role/AssumableRole" } EOF

    Nachdem die LCC Läufe und das Schreiben der Dateien abgeschlossen sind, liest der Server die Datei /home/sagemaker-user/.cross-account-configuration-DO_NOT_DELETE/emr-discovery-iam-role-arns-DO_NOT_DELETE.json und speichert das ARN Cros-Account-Konto.