Permisos de IAM para Calidad de datos de AWS Glue - AWS Glue

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 Glue de AWS.

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.

Acciones de Calidad de datos de AWS Glue
Acción 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:
  • BatchGetDataQualityQualityResult

  • ListDataQualityStatistics

  • ListDataQualityStatisticAnnotations

::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:
  • BatchPutDataQualityStatisticAnnotation

::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.

Permisos necesarios para AWS EventBridge Scheduler
Acción 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.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "glue.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Effect": "Allow", "Principal": { "Service": "scheduler.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

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.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowGlueRuleRecommendationRunActions", "Effect": "Allow", "Action": [ "glue:GetDataQualityRuleRecommendationRun", "glue:PublishDataQuality", "glue:CreateDataQualityRuleset" ], "Resource": "arn:aws:glue:us-east-1:111122223333:dataQualityRuleset/*" }, { "Sid": "AllowCatalogPermissions", "Effect": "Allow", "Action": [ "glue:GetPartitions", "glue:GetTable" ], "Resource": [ "*" ] }, { "Sid": "AllowS3GetObjectToRunRuleRecommendationTask", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:::aws-glue-*" }, { // Optional for Logs "Sid": "AllowPublishingCloudwatchLogs", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:CreateLogGroup", "logs:PutLogEvents" ], "Resource": "*" }, ] }

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.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowGlueGetDataQualityRuleset", "Effect": "Allow", "Action": [ "glue:GetDataQualityRuleset" ], "Resource": "arn:aws:glue:us-east-1:111122223333:dataQualityRuleset/<YOUR-RULESET-NAME>" }, { "Sid": "AllowGlueRulesetEvaluationRunActions", "Effect": "Allow", "Action": [ "glue:GetDataQualityRulesetEvaluationRun", "glue:PublishDataQuality" ], "Resource": "arn:aws:glue:us-east-1:111122223333:dataQualityRuleset/*" }, { "Sid": "AllowCatalogPermissions", "Effect": "Allow", "Action": [ "glue:GetPartitions", "glue:GetTable" ], "Resource": [ "*" ] }, { "Sid": "AllowS3GetObjectForRulesetEvaluationRun", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:::aws-glue-*" }, { "Sid": "AllowCloudWatchPutMetricDataToPublishTaskMetrics", "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData" ], "Resource": "*", "Condition": { "StringEquals": { "cloudwatch:namespace": "Glue Data Quality" } } }, { "Sid": "AllowS3PutObjectToWriteTaskResults", "Effect": "Allow", "Action": [ "s3:PutObject*" ], "Resource": "arn:aws:s3:::<YOUR-BUCKET-NAME>/*" } ] }

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.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowGluePublishDataQualityResult", "Effect": "Allow", "Action": [ "glue:PublishDataQuality" ], "Resource": "arn:aws:glue:us-east-1:111122223333:dataQualityRuleset/*" }, //Optional to retrieve results, observation generation, //dynamic rules and DetectAnomalies { "Sid": "AllowGlueGetDataQualityResult", "Effect": "Allow", "Action": [ "glue:GetDataQualityResult" ], "Resource": "arn:aws:glue:us-east-1:111122223333:dataQualityRuleset/*" }, //Optional to allow annotating statistics { "Sid": "AllowGlueDataQualityStatisticAnnotation", "Effect": "Allow", "Action": [ "glue:PutDataQualityStatisticAnnotation" ], "Resource": [ "arn:aws:glue:us-east-1:111122223333:dataQualityRuleset/*", "arn:aws:glue:us-east-1:111122223333::job/{JobName}" ] }, //Optional to allow annotating all statistics in a profile { "Sid": "AllowGlueDataQualityProfileAnnotation", "Effect": "Allow", "Action": [ "glue:PutDataQualityProfileAnnotation" ], "Resource": [ "arn:aws:glue:us-east-1:111122223333:dataQualityRuleset/*", "arn:aws:glue:us-east-1:111122223333::job/{JobName}" ] } }