¿Cómo puedo solucionar problemas de permisos al crear un grupo de características de SageMaker?

4 minutos de lectura
0

Intento crear un grupo de características de Amazon SageMaker, pero aparece el error “AccessDenied”.

Descripción breve

Los errores “AccessDenied” de SageMaker indican que el rol de AWS Identity and Access Management (IAM) no tiene los permisos suficientes para llevar a cabo la operación de creación de un grupo de características. Es posible que aparezca el error “AccessDenied” cuando faltan los permisos del rol de ejecución o están mal configurados de la siguiente manera:

  • Faltan la política AmazonSageMakerFeatureStoreAccess y los requisitos de nomenclatura de bucket de Amazon Simple Storage Service (Amazon S3)
  • Faltan permisos de Lake Formation
  • Falta la política de AWS Key Management Service (AWS KMS)
  • Política de bucket de Amazon S3

Resolución

Nota: Si se producen errores al ejecutar los comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), asegúrese de que utiliza la versión más reciente de AWS CLI.

Para ver un mensaje de error detallado al crear un grupo de características, ejecute el siguiente comando desde la terminal y compruebe el error FailureReason:

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

Faltan la política AmazonSageMakerfeatureStoreAccess y los requisitos de nomenclatura de bucket de Amazon S3

Es posible que el rol de ejecución que usa actualmente no esté en la política AmazonSageMakerFeatureStore administrada por Amazon. Revise las políticas adjuntas al rol de ejecución. A continuación, adjunte la política AmazonSageMakerFeatureStoreAccess si falta:

{
  "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*"
      ]
    }
  ]
}

Se puede producir un error en la creación del grupo de características incluso después de agregar la política AmazonSageMakerFeatureStoreAccess. Dado que la política está administrada por Amazon y se almacena en un bucket de S3, el bucket debe incluir la palabra “sagemaker” en el nombre.

Faltan permisos de Lake Formation

Se puede producir un error en la creación del grupo de características debido a la falta de permisos de AWS Lake Formation. Cuando se crea un grupo de características, se crea automáticamente una base de datos de AWS Glue. Todos los grupos de características creados con SageMaker se crean como tablas en dicha base de datos de AWS Glue.

Confirme que el rol de ejecución usado tenga permiso para crear una base de datos de AWS Glue. Si el rol de ejecución no tiene permiso, haga lo siguiente:

Nota: AWS Lake Formation exige que cada entidad principal (usuario o rol) tenga autorización para llevar a cabo acciones en los recursos administrados de Lake Formation.

  1. Abra la consola de LakeFormation
  2. En la barra lateral izquierda, elija Permissions (Permisos) y, a continuación, Data Permissions (Permisos de datos)
  3. Elija Grant (Otorgar)
  4. Elija el rol de ejecución de IAM en el menú desplegable de entidades principales y, a continuación, conceda los permisos necesarios

Para obtener más información sobre la concesión de permisos de base de datos, consulte Granting permissions on a database or table shared with your account (Concesión de permisos en una base de datos o tabla compartida con su cuenta).

Falta la política de AWS KMS

La llamada a la API CreateFeatureGroup puede presentar errores debido a la falta de políticas de AWS KMS. Para comprobarlo, revise las políticas de IAM del rol de ejecución y, a continuación, confirme que tenga las siguientes políticas adjuntas:

kms:GenerateDataKey
kms:Decrypt
kms: Encrypt

Si las políticas anteriores no se muestran después de ejecutar el comando de la CLI, adjunte las políticas y vuelva a intentarlo.

Política de bucket de S3

Los errores “AccessDenied” también pueden producirse debido a una política de bucket de Amazon S3 que impide el acceso al este. Revise la política de bucket de S3 y, a continuación, compruebe si el rol de ejecución usado para crear el grupo de funciones tiene acceso al bucket.


Información relacionada

Granting permissions on a database or table shared with your account (Concesión de permisos en una base de datos o tabla compartida con su cuenta)

Granting resource link permissions (Concesión de permisos de enlace de recursos)

Uso de políticas de bucket

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año