Comment puis-je résoudre les erreurs lorsque j'importe des données dans mon Amazon SageMaker Studio à l'aide de SageMaker Data Wrangler ?

Dernière mise à jour : 25/10/2022

Je reçois des erreurs lorsque j'essaie d'importer des données depuis Amazon Simple Storage Service (Amazon S3) ou Amazon Athena à l'aide d'Amazon SageMaker Data Wrangler.

Solution

Erreur d'autorisation du cycle de vie

Lorsque vous essayez d'importer des données depuis Amazon Athena vers Data Wrangler, le message d'erreur suivant peut s'afficher :

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

Cette erreur se produit parce que le rôle d'exécution SageMaker associé au profil utilisateur ne dispose pas des autorisations requises pour accéder aux configurations Amazon S3 Lifecycle afin de gérer la conservation et l'expiration des données.

Pour résoudre cette erreur, ajoutez la stratégie AWS Identity and Access Management (IAM) suivante au rôle d'exécution de SageMaker (exemple : AmazonSageMaker-ExecutionRole-xxxxxxxxxxxxxxx) :

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

Pour Resource (Ressource), vous ne pouvez inclure que les compartiments spécifiques à la région auxquels vous devez accéder. GetBucketLifecycleConfiguration renvoie les informations de configuration du cycle de vie définies sur le compartiment, tandis que PutBucketLifecycleConfiguration crée une nouvelle configuration de cycle de vie pour le compartiment.

Erreur d'accès refusé

L'erreur suivante peut s'afficher lorsque vous exécutez une tâche de traitement avec des paramètres de sortie non chiffrés.

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

Cette erreur peut survenir pour les raisons suivantes :

  • Le rôle d'exécution de SageMaker ne dispose pas des autorisations requises pour effectuer des opérations S3.
  • La politique de compartiment S3 ou la politique de point de terminaison Amazon Virtual Private Cloud (Amazon VPC) a explicitement refusé les autorisations pour PutObject. Cela peut être le cas si vous n'avez appliqué que des connexions chiffrées au compartiment S3 en fournissant une clé AWS Key Management Service (AWS KMS) spécifique.

Afin de corriger cette erreur, procédez comme suit :

  • Vérifiez si le rôle d'exécution de SageMaker dispose d'autorisations minimales pour les opérations du compartiment 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/*"
      ]
    }
  ]
}
  • Assurez-vous que la politique de compartiment S3 ou la politique de point de terminaison du VPC ne refuse pas explicitement les autorisations requises pour les opérations S3.
  • Envisagez de transmettre la clé AWS KMS à la tâche de traitement qui permet de déchiffrer les objets du compartiment S3 à partir duquel les données sont importées.
  • Envisagez d'utiliser un compartiment S3 différent pour importer vos données chiffrées au repos à l'aide du chiffrement côté serveur Amazon S3.

Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?