View a markdown version of this page

Configurare le autorizzazioni IAM per AWS Glue Data Quality - AWS Aderenza

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurare le autorizzazioni IAM per AWS Glue Data Quality

Questo argomento fornisce informazioni per aiutarti a comprendere le azioni e le risorse che un amministratore IAM può utilizzare in una policy AWS Identity and Access Management (IAM) per AWS Glue Data Quality. Include anche esempi di policy IAM con le autorizzazioni minime necessarie per utilizzare AWS Glue Data Quality con il AWS Glue Data Catalog.

Per ulteriori informazioni sulla sicurezza in AWS Glue, consultaSicurezza in AWS Glue.

Autorizzazioni IAM per AWS Glue Data Quality

La tabella seguente elenca le autorizzazioni richieste a un utente per eseguire operazioni di Qualità dei dati di AWS Glue specifiche. Per impostare un'autorizzazione dettagliata per AWS Glue Data Quality, puoi specificare queste azioni nell'Actionelemento di una dichiarazione politica IAM.

AWS Azioni Glue Data Quality
Azione Description Tipi di risorse
glue:CreateDataQualityRuleset Concede l'autorizzazione per creare un set di regole di qualità dei dati. ::dataQualityRuleset/<name>
glue:DeleteDataQualityRuleset Concede l'autorizzazione per eliminare un set di regole di qualità dei dati. ::dataQualityRuleset/<name>
glue:GetDataQualityRuleset Concede l'autorizzazione per recuperare un set di regole di qualità dei dati. ::dataQualityRuleset/<name>
glue:ListDataQualityRulesets Concede l'autorizzazione per recuperare tutti i set di regole di qualità dei dati. ::dataQualityRuleset/*
glue:UpdateDataQualityRuleset Concede l'autorizzazione per aggiornare un set di regole di qualità dei dati. ::dataQualityRuleset/<name>
glue:GetDataQualityResult Concede l'autorizzazione per recuperare un risultato di esecuzione dell'attività di qualità dei dati. Questa azione IAM fornisce anche le autorizzazioni per le seguenti API:
  • BatchGetDataQualityQualityResult

  • ListDataQualityStatistics

  • ListDataQualityStatisticAnnotations

::dataQualityRuleset/<name>
glue:ListDataQualityResults Concede l'autorizzazione per recuperare i risultati di tutte le esecuzioni delle attività di qualità dei dati. ::dataQualityRuleset/*
glue:CancelDataQualityRuleRecommendationRun Concede l'autorizzazione per interrompere l'esecuzione dell'attività di raccomandazione di qualità dei dati in corso. ::dataQualityRuleset/*
glue:GetDataQualityRuleRecommendationRun Concede l'autorizzazione per recuperare l'esecuzione di un'attività di raccomandazione di qualità dei dati. ::dataQualityRuleset/*
glue:ListDataQualityRuleRecommendationRuns Concede l'autorizzazione per recuperare tutte le esecuzioni dell'attività di raccomandazione di qualità dei dati. ::dataQualityRuleset/*
glue:StartDataQualityRuleRecommendationRun Concede l'autorizzazione per iniziare l'esecuzione di un'attività di raccomandazione di qualità dei dati. ::dataQualityRuleset/*
glue:CancelDataQualityRulesetEvaluationRun Concede l'autorizzazione per interrompere l'esecuzione dell'attività di qualità dei dati in corso. ::dataQualityRuleset/*
glue:GetDataQualityRulesetEvaluationRun Concede l'autorizzazione per recuperare una esecuzione dell'attività di qualità dei dati. ::dataQualityRuleset/*
glue:ListDataQualityRulesetEvaluationRuns Concede l'autorizzazione per recuperare tutte le esecuzioni dell'attività di qualità dei dati. ::dataQualityRuleset/*
glue:StartDataQualityRulesetEvaluationRun Concede l'autorizzazione per iniziare l'esecuzione di un'attività di qualità dei dati. ::dataQualityRuleset/<name>
glue:PublishDataQuality Concede l'autorizzazione per pubblicare i risultati di qualità dei dati. ::dataQualityRuleset/<name>
glue:GetDataQualityModel Concede l'autorizzazione per recuperare il modello di qualità dei dati. ::dataQualityRuleset/<name>, ::job/<name>
glue:GetDataQualityModelResult Concede l'autorizzazione per recuperare i risultati del modello di qualità dei dati. ::dataQualityRuleset/<name>, ::job/<name>
glue:PutDataQualityStatisticAnnotation Concede l'autorizzazione per aggiungere annotazioni alle statistiche. Questa azione IAM fornisce anche le autorizzazioni per le seguenti API:
  • BatchPutDataQualityStatisticAnnotation

::dataQualityRuleset/<name>, ::job/<name>
glue:PutDataQualityProfileAnnotation Concede l'autorizzazione per aggiungere annotazioni a tutte le statistiche di un profilo. ::dataQualityRuleset/<name>, ::job/<name>

Configurazione IAM richiesta per la pianificazione delle esecuzioni di valutazione

autorizzazioni IAM

Per eseguire esecuzioni di valutazione pianificate della qualità dei dati, devi aggiungere l'operazione IAM:PassRole alla policy delle autorizzazioni.

AWS EventBridge Autorizzazioni richieste dallo Scheduler
Azione Description Tipi di risorse
iam:PassRole Concede a IAM l'autorizzazione per consentire all'utente di trasmettere i ruoli approvati. ARN del ruolo utilizzato per chiamare StartDataQualityRulesetEvaluationRun

Senza queste autorizzazioni si verifica il seguente errore:

"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"

Entità attendibili di IAM

I servizi AWS Glue e AWS EventBridge Scheduler devono essere elencati nelle entità attendibili per creare ed eseguire una pianificazione. StartDataQualityEvaluationRun

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

Policy IAM di esempio

Un ruolo IAM per AWS Glue Data Quality richiede i seguenti tipi di autorizzazioni:

  • Autorizzazioni per le operazioni di AWS Glue Data Quality in modo da poter ottenere regole di qualità dei dati consigliate ed eseguire un'attività di qualità dei dati su una tabella nel AWS Glue Data Catalog. Le politiche IAM di esempio in questa sezione includono le autorizzazioni minime richieste per le operazioni di AWS Glue Data Quality.

  • Autorizzazioni che concedono l'accesso alla tabella del catalogo dati e ai dati sottostanti. Queste autorizzazioni sono diverse a seconda del caso d'uso. Ad esempio, per i dati che cataloghi in Amazon S3, le autorizzazioni devono includere l'accesso ad Amazon S3.

    Nota

    È necessario configurare le autorizzazioni Amazon S3 oltre alle autorizzazioni descritte in questa sezione.

Autorizzazioni minime per ottenere le regole di qualità dei dati consigliate

Questa policy di esempio include le autorizzazioni necessarie per generare regole di qualità dei dati consigliate.

JSON
{ "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-*" }, { "Sid": "AllowPublishingCloudwatchLogs", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:CreateLogGroup", "logs:PutLogEvents" ], "Resource": "*" } ] }

Autorizzazioni minime per ottenere raccomandazioni avanzate sulle regole di qualità dei dati

È necessario disporre iam:PassRole dell'autorizzazione per il ruolo di raccomandazione. Il ruolo non richiede Amazon Bedrock autorizzazioni.

Policy di attendibilità

Usa questa politica di fiducia per consentire a AWS Glue di assumere il ruolo di raccomandazione per la tua tabella di origine.

Imposta aws: SourceArn sull'ARN completo della tabella sorgente. Usa l'ID dell'account di quell'ARN per 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" } } } ] }

Policy delle autorizzazioni

Alla prima ADVANCED esecuzione, AWS Glue crea le seguenti risorse nel tuo account:

  • Il gruppo di lavoro glue-dataquality-sampling Athena per eseguire le query per i consigli sulle regole.

  • Il bucket aws-glue-dataquality-sampling-account-id-region Amazon S3 per archiviare i risultati delle query.

Per le esecuzioni successive, AWS Glue riutilizza il gruppo di lavoro e il bucket esistenti. Per informazioni dettagliate, vedi Protezione dei dati per raccomandazioni avanzate sulle regole di qualità dei dati.

Allega la seguente politica di autorizzazioni al tuo ruolo di raccomandazione.

{ "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

Se il bucket esiste, puoi rimuoverlo s3:CreateBucket da questa politica. Se elimini il bucket, AWS Glue necessita nuovamente di questa autorizzazione. Tutte le altre autorizzazioni di questa policy rimangono necessarie per le esecuzioni successive.

Autorizzazioni aggiuntive

Se si applica una condizione in questo elenco, aggiungi le autorizzazioni correlate al tuo ruolo di raccomandazione.

  • Se Lake Formation controlla l'accesso alle tabelle, aggiungilakeformation:GetDataAccess. Assegna DESCRIBE il ruolo nel database DESCRIBE e SELECT nella tabella.

  • Se specifichi una configurazione di sicurezza della qualità dei dati, aggiungi glue:GetSecurityConfiguration l'autorizzazione.

  • Se specifichiCreatedRulesetName, aggiungi glue:CreateDataQualityRuleset l'autorizzazione.

  • Se specifichi una configurazione di sicurezza della qualità dei dati con una chiave gestita dal cliente, aggiungi la seguente dichiarazione per tale chiave.

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

    Il tuo ruolo di raccomandazione richiede queste azioni per la crittografia dei risultati delle query e la crittografia degli asset di AWS Glue Data Quality. La politica chiave deve consentire anche queste azioni per il tuo ruolo. Per informazioni dettagliate, vedi Policy della chiave.

  • Se gli oggetti di origine utilizzano SSE-KMS, aggiungi la seguente dichiarazione.

    { "Sid": "AllowSourceDataDecryption", "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-east-1:111122223333:key/source-key-id" }

    La politica della chiave di origine deve inoltre consentire al ruolo di raccomandazione di decrittografare gli oggetti di origine.

Autorizzazioni minime per l'esecuzione di un'attività di qualità dei dati

Questa policy di esempio include le autorizzazioni necessarie per eseguire un'attività di valutazione della qualità dei dati.

Le seguenti dichiarazioni di policy sono facoltative, a seconda del caso d'uso:

  • AllowCloudWatchPutMetricDataToPublishTaskMetrics - Obbligatorio se desideri pubblicare i parametri di esecuzione della qualità dei dati in Amazon CloudWatch.

  • AllowS3PutObjectToWriteTaskResults - Obbligatorio se desideri scrivere i risultati di esecuzione della qualità dei dati su Amazon S3.

JSON
{ "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:::amzn-s3-demo-bucket/*" } ] }

Autorizzazioni minime per eseguire un processo ETL relativo alla qualità dei dati

Questa policy di esempio include le autorizzazioni necessarie per eseguire un processo ETL relativo alla qualità dei dati.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowGluePublishDataQualityResult", "Effect": "Allow", "Action": [ "glue:PublishDataQuality" ], "Resource": "arn:aws:glue:us-east-1:111122223333:dataQualityRuleset/*" }, { "Sid": "AllowGlueGetDataQualityResult", "Effect": "Allow", "Action": [ "glue:GetDataQualityResult" ], "Resource": "arn:aws:glue:us-east-1:111122223333:dataQualityRuleset/*" }, { "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}" ] }, { "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}" ] } ] }