Quero iniciar um URL pré-assinado em uma instância do notebook Amazon SageMaker AI ou no domínio do Amazon SageMaker Studio, mas recebo erros.
Resolução
Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de problemas da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.
Ao iniciar um URL pré-assinado em uma instância do notebook SageMaker AI ou no domínio do SageMaker Studio, você pode receber as seguintes mensagens de erro:
- “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 esses problemas, conclua a resolução da mensagem de erro que você recebeu.
Erro “Invalid or Expired Auth Token”
Você recebe o erro Invalid of Expired Auth Token quando o parâmetro SessionExpirationDurationInSeconds em CreatePresignedNotebookInstanceUrl ou CreatePresignedDomainUrl excede a duração máxima de 12 horas. Para resolver esse problema, limpe os cookies e os dados da sessão do seu navegador da web. Em seguida, use o console do SageMaker AI, o AWS CLI ou o SDK do Python para gerar um novo URL pré-assinado.
Instância do notebook SageMaker AI
Para usar o console, conclua as seguintes etapas:
- Abra o console do SageMaker AI.
- No painel de navegação, em Aplicações e IDEs, escolha Notebooks.
- Selecione sua instância de notebook.
- Escolha Abrir Jupyter ou Abrir JupyterLab.
Para usar a AWS CLI, execute o 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
Observação: substitua example-notebook-instance-name e example-session-expiration-duration por seus valores.
Para usar o SDK do Python Boto3, execute o 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
)
Observação: substitua example-notebook-name e example-session-expiration-duration por seus valores.
O URL pré-assinado que o AWS CLI ou o Python SDK gera é válido somente por 5 minutos. Após 5 minutos, você deve gerar um novo URL pré-assinado.
Domínio do SageMaker Studio
Para usar o console, conclua as seguintes etapas:
- Abra o console do SageMaker AI.
- No painel de navegação, em Configurações do administrador, escolha Domínios.
- Selecione seu domínio.
- Escolha Perfis de usuário e, em seguida, selecione o nome do seu perfil de usuário.
- Escolha Iniciar e, em seguida, escolha Studio.
Para usar a AWS CLI, execute o 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
Observação: substitua example-domain-id, example-user-profile-name e example-session-expiration-duration por seus valores.
Para usar o SDK do Python Boto3, execute o comando create-presigned-domain-ur:
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,
)
Observação: substitua example-domain-id, example-user-profile-name e example-session-expiration-duration por seus valores.
O URL pré-assinado que o AWS CLI ou o Python SDK gera é válido somente por 5 minutos. Após 5 minutos, você deve gerar um novo URL pré-assinado.
Erro “Not authorized to perform”
Para iniciar um notebook do SageMaker AI ou um domínio do SageMaker Studio, seu perfil do AWS Identity and Access Management (AWS IAM) deve ter permissão para criar um URL pré-assinado.
Para uma instância de notebook SageMaker AI, adicione a ação sagemaker:CreatePresignedNotebookInstanceUrl à política baseada em identidade do seu perfil do IAM. Para um domínio do SageMaker Studio, adicione a ação sagemaker:CreatePresignedDomainUrl à política do IAM.
Informações relacionadas
Conecte-se a uma instância de notebook por meio de um endpoint de interface Amazon Virtual Private Cloud (Amazon VPC)