Permisos de IAM para Calidad de datos de AWS Glue
En este tema se proporciona información para comprender las acciones y los recursos que usted, un administrador de IAM, puede utilizar en una política (de IAM) de AWS Identity and Access Management para Calidad de datos de AWS Glue. También incluye ejemplos de políticas de IAM con los permisos mínimos que necesita para usar Calidad de los datos de AWS Glue con el Catálogo de datos de AWS Glue.
Para obtener más información sobre la seguridad en Glue de AWS, consulte Seguridad en AWS Glue.
Permisos de IAM para Calidad de los datos de AWS Glue
En la siguiente tabla, se enumeran los permisos necesita un usuario para poder llevar a cabo operaciones específicas de la Calidad de datos de AWS Glue. Para establecer una autorización detallada para Calidad de datos de AWS Glue, puede especificar estas acciones en el elemento Action de una instrucción de política de IAM.
| Action | Descripción | Tipos de recurso |
|---|---|---|
glue:CreateDataQualityRuleset |
Concede permiso para crear un conjunto de reglas de calidad de datos. | ::dataQualityRuleset/<name> |
glue:DeleteDataQualityRuleset |
Concede permiso para eliminar un conjunto de reglas de calidad de datos. | ::dataQualityRuleset/<name> |
glue:GetDataQualityRuleset |
Concede permiso para recuperar un conjunto de reglas de calidad de datos. | ::dataQualityRuleset/<name> |
glue:ListDataQualityRulesets |
Concede permiso para recuperar todos los conjuntos de reglas de calidad de datos. | ::dataQualityRuleset/* |
glue:UpdateDataQualityRuleset |
Concede permiso para actualizar un conjunto de reglas de calidad de datos. | ::dataQualityRuleset/<name> |
glue:GetDataQualityResult |
Concede permiso para recuperar un resultado de la ejecución de tareas de calidad de datos. Esta acción de IAM también proporciona permisos a las siguientes API:
|
::dataQualityRuleset/<name> |
glue:ListDataQualityResults |
Concede permiso para recuperar todos los resultados de la ejecución de tareas de calidad de datos. | ::dataQualityRuleset/* |
glue:CancelDataQualityRuleRecommendationRun |
Concede permiso para detener una ejecución en curso de tareas de recomendación de calidad de datos. | ::dataQualityRuleset/* |
glue:GetDataQualityRuleRecommendationRun |
Concede permiso para recuperar una ejecución de tareas de recomendación de calidad de datos. | ::dataQualityRuleset/* |
glue:ListDataQualityRuleRecommendationRuns |
Concede permiso para recuperar todas las ejecuciones de tareas de recomendación de calidad de datos. | ::dataQualityRuleset/* |
glue:StartDataQualityRuleRecommendationRun |
Concede permiso para iniciar una ejecución de tareas de recomendación de calidad de datos. | ::dataQualityRuleset/* |
glue:CancelDataQualityRulesetEvaluationRun |
Concede permiso para detener una ejecución en curso de tareas de calidad de datos. | ::dataQualityRuleset/* |
glue:GetDataQualityRulesetEvaluationRun |
Concede permiso para recuperar una ejecución de tareas de calidad de datos. | ::dataQualityRuleset/* |
glue:ListDataQualityRulesetEvaluationRuns |
Concede permiso para recuperar todas las ejecuciones de tareas de calidad de datos. | ::dataQualityRuleset/* |
glue:StartDataQualityRulesetEvaluationRun |
Concede permiso para iniciar una ejecución de tareas de calidad de datos. | ::dataQualityRuleset/<name> |
glue:PublishDataQuality |
Concede permiso para publicar los resultados de calidad de datos | ::dataQualityRuleset/<name> |
glue:GetDataQualityModel |
Concede permiso para recuperar un modelo de calidad de datos | ::dataQualityRuleset/<name>,
::job/<name>
|
glue:GetDataQualityModelResult |
Concede permiso para recuperar un resultado de modelo de calidad de datos | ::dataQualityRuleset/<name>,
::job/<name>
|
glue:PutDataQualityStatisticAnnotation |
Concede permiso para agregar anotaciones a Estadísticas. Esta acción de IAM también proporciona permisos a las siguientes API:
|
::dataQualityRuleset/<name>,
::job/<name>
|
glue:PutDataQualityProfileAnnotation |
Concede permiso para incluir anotaciones en todas las estadísticas de un perfil. | ::dataQualityRuleset/<name>,
::job/<name>
|
Se requiere una configuración de IAM para programar las ejecuciones de evaluación
Permisos de IAM
Para realizar ejecuciones programadas de evaluación de Calidad de los datos, debe agregar la acción IAM:PassRole a la política de permisos.
| Action | Descripción | Tipos de recurso |
|---|---|---|
iam:PassRole |
Otorga permiso a IAM para que el usuario pueda pasar las funciones aprobadas. | ARN del rol utilizado para llamar StartDataQualityRulesetEvaluationRun |
Sin estos permisos, se produce el siguiente error:
"errorCode": "AccessDenied" "errorMessage": "User: arn:aws:sts::account_id:assumed-role/AWSGlueServiceRole is not authorized to perform: iam:PassRole on resource: arn:aws:iam::account_id:role/service-role/AWSGlueServiceRole because no identity-based policy allows the iam:PassRole action"
Entidades de confianza de IAM
Los servicios de AWS Glue y AWS EventBridge Scheduler deben figurar en las entidades de confianza para poder crear y ejecutar una StartDataQualityEvaluationRun programada.
Ejemplos de políticas de IAM
Un rol de IAM para Calidad de los datos de AWS Glue necesita los siguientes tipos de permisos:
-
Permisos para las operaciones de Calidad de los datos de AWS Glue, de modo que pueda obtener las reglas de calidad de datos recomendadas y ejecutar una tarea de calidad de datos en una tabla del Catálogo de datos de AWS Glue. Los ejemplos de políticas de IAM de esta sección incluyen los permisos mínimos necesarios para las operaciones de Calidad de los datos de AWS Glue.
-
Permisos que otorgan acceso a la tabla del Catálogo de datos y a los datos subyacentes. Estos permisos varían en función de su caso de uso. Por ejemplo, para los datos que cataloga en Amazon S3, los permisos deben incluir el acceso a Amazon S3.
nota
Debe configurar los permisos de Amazon S3 además de los permisos descritos en esta sección.
Permisos mínimos para obtener las reglas de calidad de datos recomendadas
Esta política de ejemplo incluye los permisos que necesita para generar las reglas de calidad de datos recomendadas.
Permisos mínimos para obtener recomendaciones avanzadas sobre reglas de calidad de datos
Debe tener el permiso iam:PassRole para el rol de recomendación. El rol no necesita permisos de Amazon Bedrock.
Política de confianza
Utilice esta política de confianza para permitir que AWS Glue asuma el rol de recomendación para su tabla de origen.
Establezca aws:SourceArn en el ARN completo de la tabla de origen. Utilice el ID de cuenta de ese ARN para aws:SourceAccount.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "glue.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnEquals": { "aws:SourceArn": "arn:aws:glue:us-east-1:111122223333:table/database-name/table-name" } } } ] }
Política de permisos
En la primera ejecución ADVANCED, AWS Glue crea los siguientes recursos en su cuenta:
-
El grupo de trabajo de Athena
glue-dataquality-samplingpara ejecutar consultas sobre recomendaciones de reglas. -
El bucket de Amazon S3
aws-glue-dataquality-sampling-para almacenar los resultados de las consultas.account-id-region
Para las siguientes ejecuciones, AWS Glue reutiliza el grupo de trabajo y el bucket existentes. Para obtener más información, consulte Protección de datos para recomendaciones avanzadas sobre reglas de calidad de datos.
Asocie la siguiente política de permisos con su rol de recomendación.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCatalogRead", "Effect": "Allow", "Action": [ "glue:GetDatabase", "glue:GetPartitions", "glue:GetTable" ], "Resource": [ "arn:aws:glue:us-east-1:111122223333:catalog", "arn:aws:glue:us-east-1:111122223333:database/database-name", "arn:aws:glue:us-east-1:111122223333:table/database-name/table-name" ] }, { "Sid": "AllowDataQualityRecommendationResults", "Effect": "Allow", "Action": "glue:PublishDataQuality", "Resource": "arn:aws:glue:us-east-1:111122223333:dataQualityRuleset/*" }, { "Sid": "AllowDataAccess", "Effect": "Allow", "Action": [ "athena:CreateWorkGroup", "athena:GetQueryExecution", "athena:GetQueryResults", "athena:StartQueryExecution" ], "Resource": "arn:aws:athena:us-east-1:111122223333:workgroup/glue-dataquality-sampling" }, { "Sid": "AllowSourceRead", "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::source-bucket", "arn:aws:s3:::source-bucket/*" ] }, { "Sid": "AllowSamplingBucket", "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:CreateBucket", "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:PutLifecycleConfiguration", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::aws-glue-dataquality-sampling-111122223333-us-east-1", "arn:aws:s3:::aws-glue-dataquality-sampling-111122223333-us-east-1/athena-results/*" ] } ] }
nota
Si el bucket existe, puede eliminar s3:CreateBucket de esta política. Si elimina el bucket, AWS Glue volverá a necesitar este permiso. Todos los demás permisos de esta política siguen siendo necesarios para las siguientes ejecuciones.
Permisos adicionales
Si se aplica una condición de esta lista, agregue los permisos relacionados con su rol de recomendación.
-
Si Lake Formation controla el acceso a la tabla, agregue
lakeformation:GetDataAccess. Otorgue el rolDESCRIBEen la base de datos yDESCRIBEySELECTen la tabla. -
Si especifica una configuración de seguridad de calidad de datos, agregue el permiso
glue:GetSecurityConfiguration. -
Si especifica
CreatedRulesetName, agregue el permisoglue:CreateDataQualityRuleset. -
Si especifica una configuración de seguridad de calidad de datos con una clave administrada por el cliente, agregue la siguiente instrucción para esa clave.
{ "Sid": "AllowDataQualityEncryption", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:DescribeKey", "kms:GenerateDataKey", "kms:GenerateDataKeyWithoutPlaintext", "kms:ReEncrypt*" ], "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id" }Su rol de recomendación necesita estas acciones para el cifrado de los resultados de las consultas y el cifrado de activos de Calidad de datos de AWS Glue. La política de claves también debe permitir estas acciones para su rol. Para obtener más información, consulte Política de claves.
-
Si los objetos de origen utilizan SSE-KMS, agregue la siguiente instrucción.
{ "Sid": "AllowSourceDataDecryption", "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-east-1:111122223333:key/source-key-id" }La política de claves de origen también debe permitir que el rol de recomendación descifre los objetos de origen.
Permisos mínimos para ejecutar una tarea de calidad de datos
Esta política de ejemplo incluye los permisos que necesita para ejecutar una tarea de evaluación de calidad de los datos.
Las siguientes instrucciones de políticas son opcionales en función de su caso de uso:
-
AllowCloudWatchPutMetricDataToPublishTaskMetrics- es obligatoria para publicar las métricas de ejecución de calidad de datos en Amazon CloudWatch. -
AllowS3PutObjectToWriteTaskResults: es obligatoria para escribir los resultados de ejecución de calidad de datos en Amazon S3.
Permisos mínimos para ejecutar un trabajo de ETL de calidad de datos
Esta política de ejemplo incluye los permisos que necesita para ejecutar un trabajo de ETL de calidad de los datos.