Direkt zum Inhalt

Warum erhalte ich Fehler, wenn ich eine vorsignierte URL auf SageMaker-KI-Notebook-Instances oder SageMaker Studio-Domains starte?

Lesedauer: 3 Minute
0

Ich möchte eine vorsignierte URL auf einer Amazon SageMaker-KI-Notebook-Instance oder Amazon SageMaker Studio-Domain starten, erhalte aber eine Fehlermeldung.

Behebung

Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version von AWS CLI verwendest.

Wenn du eine vorsignierte URL auf einer SageMaker AI-Notebook-Instance oder einer SageMaker Studio-Domain startest, erhältst du möglicherweise die folgenden Fehlermeldungen:

  • „Ungültiges oder abgelaufenes Auth-Token. Fordere eine neue vorsignierte URL an, um SageMaker weiterhin verwenden zu können.“
  • „User: arn:aws:sts::account id:assumed-role/IAM role/IAM user is not authorized to perform: sagemaker:CreatePresignedNotebookInstanceUrl on resource: arn:aws:sagemaker:Region:account id:notebook-instance/notebook instance because no identity-based policy allows the sagemaker:CreatePresignedNotebookInstanceUrl action“
  • „User: arn:aws:sts::account id:assumed-role/IAM role/SageMaker is not authorized to perform: sagemaker:CreatePresignedDomainUrl on resource: arn:aws:sagemaker:Region:account id:user-profile/domain id/user profile name because no identity-based policy allows the sagemaker:CreatePresignedDomainUrl action“

Um diese Probleme zu beheben, schließe die Lösung für die Fehlermeldung ab, die du erhalten hast.

Fehler „Ungültiges oder abgelaufenes Auth-Token“

Wenn der Parameter SessionExpirationDurationInSeconds in CreatePresignedNotebookInstanceUrl oder CreatePresignedDomainUrl die maximale Dauer von 12 Stunden überschreitet, wird der Fehler Ungültiges oder abgelaufenes Auth-Token angezeigt. Um dieses Problem zu beheben, lösche die Cookies und Sitzungsdaten aus dem Webbrowser. Verwende dann die SageMaker-KI-Konsole, die AWS-CLI oder das Python-SDK, um eine neue vorsignierte URL zu generieren.

SageMaker-KI-Notebook-Instance

Gehe wie folgt vor, um die Konsole zu verwenden:

  1. Öffne die SageMaker-KI-Konsole.
  2. Wähle im Navigationsbereich unter **Anwendungen und IDEs ** die Option Notebooks.
  3. Wähle die Notebook-Instance aus.
  4. Wähle Jupyter öffnen oder JupyterLab öffnen.

Um die AWS-CLI zu verwenden, führe den Befehl create-presigned-notebook-instance-url aus:

aws sagemaker create-presigned-notebook-instance-url --notebook-instance-name example-notebook-instance-name --session-expiration-duration-in-seconds example-session-expiration-duration

Hinweis: Ersetze example-notebook-instance-name und example-session-expiration-duration durch deine Werte.

Um das Python SDK Boto3 zu verwenden, führe den Befehl create-presigned-notebook-instance-url aus:

import boto3

client = boto3.client('sagemaker')

response = client.create_presigned_notebook_instance_url(
    NotebookInstanceName=example-notebook-name,
    SessionExpirationDurationInSeconds=example-session-expiration-duration
)

Hinweis: Ersetze example-notebook-name und example-session-expiration-duration durch deine Werte.

Die vorsignierte URL, die die AWS-CLI oder das Python-SDK generiert, ist nur für 5 Minuten gültig. Nach 5 Minuten musst du eine neue vorsignierte URL generieren.

SageMaker Studio-Domain

Gehe wie folgt vor, um die Konsole zu verwenden:

  1. Öffne die SageMaker-KI-Konsole.
  2. Wähle im Navigationsbereich unter Admin-Konfigurationen die Option Domains.
  3. Wähle die Domain aus.
  4. Wähle Benutzerprofile und dann den Namen des Benutzerprofils aus.
  5. Wähle Starten und dann Studio.

Um die AWS-CLI zu verwenden, führe den Befehl create-presigned-domain-url aus:

aws sagemaker create-presigned-domain-url --domain-id example-domain-id --user-profile-name example-user-profile-name --session-expiration-duration-in-seconds example-session-expiration-duration

Hinweis: Ersetze example-domain-id, example-user-profile-name und example-session-expiration-duration durch deine Werte.

Um das Python-SDK Boto3 zu verwenden, führe den Befehl create-presigned-domain-url aus:

import boto3

client = boto3.client('sagemaker')

response = client.create_presigned_domain_url(
    DomainId=example-domain-id,
    UserProfileName=example-user-profile-name,
    SessionExpirationDurationInSeconds=example-session-expiration-duration,
)

Hinweis: Ersetze example-domain-id, example-user-profile-name und example-session-expiration-duration durch deine Werte.

Die vorsignierte URL, die die AWS-CLI oder das Python-SDK generiert, ist nur für 5 Minuten gültig. Nach 5 Minuten musst du eine neue vorsignierte URL generieren.

Fehler „Nicht zur Ausführung autorisiert“

Um ein SageMaker-KI-Notebook oder eine SageMaker Studio-Domain zu starten, muss die AWS Identity and Access Management (IAM)-Rolle die Berechtigung haben, eine vorsignierte URL zu erstellen.

Füge für eine SageMaker-KI-Notebook-Instance die Aktion sageMaker:createPresignedNotebookInstanceUrl zur identitätsbasierten Richtlinie der IAM-Rolle hinzu. Füge für eine SageMaker Studio-Domain die Aktion sageMaker:createPresignedDomainUrl zur IAM-Richtlinie hinzu.

Ähnliche Informationen

Stelle über einen Amazon Virtual Private Cloud (Amazon VPC)-Schnittstellenendpunkt eine Verbindung zu einer Notebook-Instance her

AWS OFFICIALAktualisiert vor 6 Monaten