Comment puis-je résoudre les problèmes d'autorisations lorsque je crée un groupe de fonctionnalités SageMaker ?

Lecture de 4 minute(s)
0

Je souhaite créer un groupe de fonctionnalités Amazon SageMaker et le message d'erreur « AccessDenied » s'affiche.

Brève description

Les erreurs « AccessDenied » de SageMaker indiquent que le rôle AWS Identity and Access Management (IAM) ne dispose pas d’autorisations suffisantes pour effectuer l'opération Créer un groupe de fonctionnalités.

Le message d'erreur « AccessDenied » s'affiche lorsque les autorisations du rôle d'exécution comportent les informations suivantes manquantes ou mal configurées :

  • Politique AmazonSageMakerFeatureStoreAccess et exigences en matière de dénomination du compartiment Amazon Simple Storage Service (Amazon S3)
  • Autorisations d'AWS Lake Formation
  • Créer une politique AWS KMS (Key Management Service)
  • Politique de compartiment Amazon S3

Résolution

Remarque : si des erreurs surviennent lorsque vous exécutez des commandes de l’interface de la ligne de commande AWS (AWS CLI), consultez la page Résoudre les erreurs liées à AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'interface de ligne de commande AWS.

Pour afficher un message d'erreur détaillé lorsque vous créez un groupe de fonctionnalités, exécutez la commande suivante depuis votre point de terminaison, puis vérifiez le paramètre FailureReason :

$ aws sagemaker describe-feature-group --feature-group-name nameofthefeaturegroup

Politique AmazonSageMakerFeatureStoreAccess et exigences de dénomination du compartiment Amazon S3 manquantes

Si la politique AmazonSageMakerFeatureStore est manquante dans votre rôle d'exécution, examinez d'abord les politiques associées au rôle d'exécution. Puis, associez la politique AmazonSageMakerFeatureStoreAccess :

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetBucketAcl",
        "s3:PutObjectAcl"
      ],
      "Resource": [
        "arn:aws:s3:::*SageMaker*",
        "arn:aws:s3:::*Sagemaker*",
        "arn:aws:s3:::*sagemaker*"
      ]
    }
  ]
}

Si la création du groupe de fonctionnalités échoue après avoir ajouté la politique AmazonSageMakerFeatureStoreAccess, vérifiez que le nom du compartiment contient le mot « sagemaker ». Cette convention de dénomination est requise pour une politique gérée par Amazon stockée dans un compartiment S3.

Autorisations de Lake Formation manquantes

La création du groupe de fonctionnalités échoue en raison d’autorisations AWS Lake Formation insuffisantes. Lorsque vous créez un groupe de fonctionnalités, une base de données AWS Glue est automatiquement créée. Tous les groupes de fonctionnalités que vous avez créés à l'aide de SageMaker sont créés sous forme de tables dans cette base de données AWS Glue.

Vérifiez que le rôle d'exécution est autorisé à créer une base de données AWS Glue. Si le rôle d'exécution ne dispose pas d’autorisations, procédez comme suit :

  1. Ouvrez la console LakeFormation.
  2. Dans la barre latérale gauche, sélectionnez Autorisations, puis Autorisations de données.
  3. Sélectionnez Accorder.
  4. Choisissez le rôle d’exécution IAM dans la liste déroulante Principaux, puis accordez les autorisations requises.

Remarque : AWS Lake Formation exige que chaque responsable (utilisateur ou rôle) soit autorisé à effectuer des actions sur les ressources gérées de Lake Formation.

Pour plus d'informations sur l'octroi d'autorisations de base de données, consultez la section Octroi d'autorisations sur une base de données ou une table partagée avec votre compte.

Politique AWS KMS manquante

L'appel d'API CreateFeatureGroup échoue en raison de politiques AWS KMS manquantes. Pour vérifier ce problème, examinez les politiques IAM du rôle d'exécution, puis vérifiez que les politiques suivantes sont associées à ce rôle :

kms:GenerateDataKeykms:Decrypt
kms: Encrypt

Si les politiques précédentes ne sont pas visibles après que vous ayez exécuté la commande AWS CLI, associez-les, puis réessayez.

Politique de compartiment S3

Les erreurs « AccessDenied » se produisent en raison d'une politique de compartiment Amazon S3 empêchant l'accès au compartiment. Examinez la politique de compartiment S3, puis vérifiez si le rôle d'exécution utilisé pour créer le groupe de fonctionnalités a accès au compartiment.

Informations connexes

Octroi d'autorisations relatives aux liens de ressource