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

Lecture de 3 minute(s)
0

J'obtiens 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.

Résolution

Erreur d'autorisation de Lifecycle

Lorsque vous essayez d'importer des données depuis Amazon Athena dans 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 car 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 politique 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, 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

Vous pouvez obtenir cette erreur pour les raisons suivantes :

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

Pour résoudre 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",
      ],
      "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 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 autre compartiment S3 pour importer vos données qui sont chiffrés au repos à l'aide du chiffrement côté serveur d'Amazon S3.

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an