Saltar al contenido

¿Por qué recibo errores cuando inicio una URL prefirmada en instancias de cuadernos de SageMaker AI o dominios de SageMaker Studio?

4 minutos de lectura
0

Quiero iniciar una URL prefirmada en una instancia de cuaderno de Amazon SageMaker AI o en un dominio de Amazon SageMaker Studio, pero recibo errores.

Solución

Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulta Solución de problemas de AWS CLI. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.

Al iniciar una URL prefirmada en una instancia de cuaderno de SageMaker AI o en un dominio de SageMaker Studio, es posible que recibas los siguientes mensajes de error:

  • «Invalid or Expired Auth Token. Request a new presigned URL to continue using SageMaker».
  • «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»

Para solucionar estos problemas, completa la resolución del mensaje de error que has recibido.

Error «Invalid or Expired Auth Token»

Se muestra el error Invalid of Expired Auth Token cuando el parámetro SessionExpirationDurationInSeconds de CreatePresignedNotebookInstanceUrl o CreatePresignedDomainUrl supera la duración máxima de 12 horas. Para resolver este problema, borra las cookies y los datos de sesión de tu navegador web. A continuación, utiliza la consola de SageMaker AI, la AWS CLI o el SDK de Python para generar una nueva URL prefirmada.

Instancia de cuaderno de SageMaker AI

Para utilizar la consola, sigue estos pasos:

  1. Abre la consola de SageMaker AI.
  2. En el panel de navegación, en Aplicaciones e IDE, elige Cuadernos.
  3. Selecciona la instancia de tu cuaderno.
  4. Elige Open Jupyter o Open JupyterLab.

Para usar la AWS CLI, ejecuta el comando create-presigned-notebook-instance-url:

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

Nota: Sustituye example-notebook-instance-name y example-session-expiration-duration por tus valores.

Para usar el Boto3 del SDK de Python, ejecuta el comando create-presigned-notebook-instance-url:

import boto3

client = boto3.client('sagemaker')

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

Nota: Sustituye example-notebook-name y example-session-expiration-duration por tus valores.

La URL prefirmada que genera la AWS CLI o el SDK de Python solo es válida durante 5 minutos. Transcurridos 5 minutos, debes generar una nueva URL prefirmada.

Dominio de SageMaker Studio

Para utilizar la consola, sigue estos pasos:

  1. Abre la consola de SageMaker AI.
  2. En el panel de navegación, en Configuraciones de administración, elige Dominios.
  3. Selecciona tu dominio.
  4. Elige Perfiles de usuario y, a continuación, selecciona el nombre de tu perfil de usuario.
  5. Selecciona Iniciar y, a continuación, Studio.

Para usar la AWS CLI, ejecuta el comando create-presigned-domain-url:

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

Nota: Sustituye example-domain-id, example-user-profile-name y example-session-expiration-duration por tus valores.

Para usar el Boto3 del SDK de Python, ejecuta el comando create-presigned-domain-url:

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,
)

Nota: Sustituye example-domain-id, example-user-profile-name y example-session-expiration-duration por tus valores.

La URL prefirmada que genera la AWS CLI o el SDK de Python solo es válida durante 5 minutos. Transcurridos 5 minutos, debes generar una nueva URL prefirmada.

Error «Not authorized to perform»

Para iniciar un cuaderno de SageMaker AI o un dominio de SageMaker Studio, tu rol de AWS Identity and Access Management (IAM) debe tener permiso para crear una URL prefirmada.

Para una instancia de cuaderno de SageMaker AI, agrega la acción sagemaker:CreatePresignedNotebookInstanceUrl a la política basada en la identidad de tu rol de IAM. Para un dominio de SageMaker Studio, agrega la acción sagemaker:CreatePresignedDomainUrl a la política de IAM.

Información relacionada

Conéctate a una instancia de cuaderno a través de un punto de enlace de interfaz de Amazon Virtual Private Cloud (Amazon VPC)

OFICIAL DE AWSActualizada hace 7 meses