Como solucionar erros ao importar dados para o meu Amazon SageMaker Studio usando o SageMaker Data Wrangler?

Última atualização: 25/10/2022

Estou recebendo erros quando tento importar dados do Amazon Simple Storage Service (Amazon S3) ou do Amazon Athena usando o Amazon SageMaker Data Wrangler.

Resolução

Erro de permissão do ciclo de vida

Ao tentar importar dados do Amazon Athena para o Data Wrangler, é possível receber o seguinte erro:

S3LifecyclePermissionError: You don't have permission to read expiration rules from the bucket that you specified.

Esse erro ocorre porque o perfil de execução do SageMaker associado ao perfil do usuário não tem as permissões necessárias para acessar as configurações do ciclo de vida do Amazon S3 para gerenciar a retenção e a expiração de dados.

Para resolver esse erro, adicione a seguinte política de gerenciamento de identidade e acesso (IAM) da AWS ao perfil de execução do SageMaker (exemplo: AmazonSageMaker-ExecutionRole-xxxxxxxxxxxxxxx):

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "LifecycleConfig",
      "Effect": "Allow",
      "Action": [
        "s3:GetLifecycleConfiguration",
        "s3:PutLifecycleConfiguration"
      ],
      "Resource": "*"
    }
  ]
}

Em Resource (Recurso), você pode incluir somente os buckets específicos da região que precisam ser acessados. GetBucketLifecycleConfiguration retorna as informações de configuração do ciclo de vida definidas no bucket, enquanto PutBucketLifecycleConfiguration cria uma nova configuração do ciclo de vida para o bucket.

Erro de acesso negado

É possível receber o erro a seguir ao executar um trabalho de processamento com configurações de saída não criptografadas.

com.amazonaws.services.s3.model.AmazonS3Exception: Access Denied

Esse erro pode ocorrer por estes motivos:

  • O perfil de execução do SageMaker não tem as permissões necessárias para realizar operações do S3.
  • A política de bucket do S3 ou a política de endpoint da Amazon Virtual Private Cloud (Amazon VPC) negou explicitamente as permissões para PutObject. Esse pode ser o caso se você aplicou somente conexões criptografadas ao bucket do S3 fornecendo uma chave específica do AWS Key Management Service (AWS KMS).

Para resolver esse erro, faça o seguinte:

  • Verifique se o perfil de execução do SageMaker tem permissões mínimas para operações de bucket do S3:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:PutObject",
        "s3:ListBucket",
        "s3:CreateBucket",
        "s3:PutObject"
      ],
      "Resource": [
        "arn:aws:s3:::sagemaker-us-east-1-1111222233334444",
        "arn:aws:s3:::sagemaker-us-east-1-1111222233334444/*"
      ]
    }
  ]
}
  • Confirme se a política de bucket do S3 ou a política de endpoint da VPC não nega explicitamente as permissões necessárias para as operações do S3.
  • Considere passar a chave do AWS KMS para o trabalho de processamento que permite descriptografar objetos no bucket do S3 de onde os dados serão importados.
  • Considere usar um bucket do S3 diferente para importar seus dados criptografados em repouso usando a criptografia do lado do servidor do Amazon S3.

Este artigo foi útil?


Precisa de ajuda com faturamento ou suporte técnico?