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.
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:
|
::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.
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}" ] } }