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

3 minuto de leitura
0

Estou recebendo erros ao tentar 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, você pode receber o seguinte erro:

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

Esse erro ocorre porque a função de execução do SageMaker associada 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 do AWS Identity and Access Management (IAM) à função de execução do SageMaker (exemplo: AmazonSageMaker-ExecutionRole-xxxxxxxxxxxxxxx):

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

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

Erro de acesso negado

Você pode receber o seguinte erro ao executar um trabalho de processamento com configurações de saída não criptografadas.

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

Você pode receber esse erro pelos seguintes motivos:

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

Para resolver esse erro, faça o seguinte:

  • Verifique se a função 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",
      ],
      "Resource": [
        "arn:aws:s3:::sagemaker-us-east-1-1111222233334444",
        "arn:aws:s3:::sagemaker-us-east-1-1111222233334444/*"
      ]
    }
  ]
}
  • Verifique se a política de bucket do S3 ou a política de endpoint da VPC não negam explicitamente as permissões necessárias para as operações do S3.
  • Considere passar a chave do AWS KMS para a tarefa de processamento que permite descriptografar objetos no bucket do S3 de onde os dados sã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.

AWS OFICIAL
AWS OFICIALAtualizada há um ano