View a markdown version of this page

Konfigurieren Sie IAM-Berechtigungen für AWS Datenqualität in Glue - AWS Glue

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Konfigurieren Sie IAM-Berechtigungen für AWS Datenqualität in Glue

Dieses Thema enthält Informationen, die Ihnen helfen, die Aktionen und Ressourcen zu verstehen, die Sie als IAM-Administrator in einer AWS Identity and Access Management (IAM-) Richtlinie für AWS Glue Data Quality verwenden können. Es enthält auch IAM-Beispielrichtlinien mit den Mindestberechtigungen, die Sie benötigen, um AWS Glue Data Quality mit dem AWS Glue Data Catalog zu verwenden.

Weitere Informationen zur Sicherheit in AWS Glue finden Sie unterSicherheit in AWS Glue.

IAM-Berechtigungen für AWS Datenqualität von Glue

Die folgende Tabelle listet die Berechtigungen auf, die ein Benutzer benötigt, um bestimmte Vorgänge für AWS Glue Data Quality auszuführen. Um eine detaillierte Autorisierung für AWS Glue Data Quality festzulegen, können Sie diese Aktionen im Action Element einer IAM-Richtlinienerklärung angeben.

AWS Maßnahmen im Bereich Glue Data Quality
Action Description Ressourcentypen
glue:CreateDataQualityRuleset Gewährt die Berechtigung zum Erstellen eines Datenqualitätsregelsatzes. ::dataQualityRuleset/<name>
glue:DeleteDataQualityRuleset Gewährt die Berechtigung zum Löschen eines Datenqualitätsregelsatzes. ::dataQualityRuleset/<name>
glue:GetDataQualityRuleset Gewährt die Berechtigung zum Abrufen eines Datenqualitätsregelsatzes. ::dataQualityRuleset/<name>
glue:ListDataQualityRulesets Gewährt die Berechtigung zum Abrufen aller Datenqualitätsregelsätze. ::dataQualityRuleset/*
glue:UpdateDataQualityRuleset Gewährt die Berechtigung zum Aktualisieren eines Datenqualitätsregelsatzes. ::dataQualityRuleset/<name>
glue:GetDataQualityResult Gewährt die Berechtigung zum Abrufen eines Ausführungsergebnisses einer Datenqualitätsaufgabe. Diese IAM-Aktion bietet auch Berechtigungen für die folgenden APIs:
  • BatchGetDataQualityQualityResult

  • ListDataQualityStatistics

  • ListDataQualityStatisticAnnotations

::dataQualityRuleset/<name>
glue:ListDataQualityResults Gewährt die Berechtigung zum Abrufen aller Ausführungsergebnisse einer Datenqualitätsaufgabe. ::dataQualityRuleset/*
glue:CancelDataQualityRuleRecommendationRun Gewährt die Berechtigung, die Ausführung einer gerade ausgeführten Aufgabe zur Datenqualitätsempfehlung anzuhalten. ::dataQualityRuleset/*
glue:GetDataQualityRuleRecommendationRun Gewährt die Berechtigung zum Abrufen einer Ausführung einer Aufgabe zur Datenqualitätsempfehlung. ::dataQualityRuleset/*
glue:ListDataQualityRuleRecommendationRuns Gewährt die Berechtigung zum Abrufen aller Ausführungen der Aufgaben zur Datenqualitätsempfehlung. ::dataQualityRuleset/*
glue:StartDataQualityRuleRecommendationRun Gewährt die Berechtigung zum Starten einer Aufgabe zur Datenqualitätsempfehlung. ::dataQualityRuleset/*
glue:CancelDataQualityRulesetEvaluationRun Gewährt die Berechtigung zum Anhalten einer gerade ausgeführten Datenqualitätsaufgabe. ::dataQualityRuleset/*
glue:GetDataQualityRulesetEvaluationRun Gewährt die Berechtigung zum Abrufen einer ausgeführten Datenqualitätsaufgabe. ::dataQualityRuleset/*
glue:ListDataQualityRulesetEvaluationRuns Gewährt die Berechtigung zum Abrufen aller Ausführungen von Datenqualitätsaufgaben. ::dataQualityRuleset/*
glue:StartDataQualityRulesetEvaluationRun Gewährt die Berechtigung zum Starten der Ausführung einer Datenqualitätsaufgabe. ::dataQualityRuleset/<name>
glue:PublishDataQuality Gewährt die Berechtigung zum Veröffentlichen von Ergebnissen zur Datenqualität. ::dataQualityRuleset/<name>
glue:GetDataQualityModel Gewährt die Berechtigung zum Abrufen eines Datenqualitätsmodells. ::dataQualityRuleset/<name>, ::job/<name>
glue:GetDataQualityModelResult Gewährt die Berechtigung zum Abrufen von Ergebnissen eines Datenqualitätsmodells. ::dataQualityRuleset/<name>, ::job/<name>
glue:PutDataQualityStatisticAnnotation Gewährt die Berechtigung, der Statistik Anmerkungen hinzuzufügen. Diese IAM-Aktion bietet auch Berechtigungen für die folgenden APIs:
  • BatchPutDataQualityStatisticAnnotation

::dataQualityRuleset/<name>, ::job/<name>
glue:PutDataQualityProfileAnnotation Gewährt die Berechtigung, Anmerkungen zu allen Statistiken in einem Profil hinzuzufügen. ::dataQualityRuleset/<name>, ::job/<name>

Für die Planung von Auswertungsausführungen erforderliche IAM-Einrichtung

IAM-Berechtigungen

Um geplante Data-Quality-Auswertungsausführungen auszuführen, müssen Sie die IAM:PassRole-Aktion zur Berechtigungsrichtlinie hinzufügen.

AWS EventBridge Scheduler benötigte Berechtigungen
Action Description Ressourcentypen
iam:PassRole Gewährt IAM die Berechtigung, dem Benutzer die Übergabe der genehmigten Rollen zu ermöglichen. ARN der Rolle, die zum Aufrufen von StartDataQualityRulesetEvaluationRun verwendet wird

Ohne diese Berechtigungen tritt der folgende Fehler auf:

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

Vertrauenswürdige IAM-Entitäten

Die AWS Glue- und AWS EventBridge Scheduler-Dienste müssen in den vertrauenswürdigen Entitäten aufgeführt sein, um einen Zeitplan erstellen und ausführen zu können. 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" } ] }

IAM-Beispielrichtlinien

Eine IAM-Rolle für AWS Glue Data Quality benötigt die folgenden Arten von Berechtigungen:

  • Berechtigungen für AWS Glue-Datenqualitätsvorgänge, sodass Sie empfohlene Datenqualitätsregeln abrufen und eine Datenqualitätsaufgabe anhand einer Tabelle im AWS Glue-Datenkatalog ausführen können. Die Beispiel-IAM-Richtlinien in diesem Abschnitt enthalten die Mindestberechtigungen, die für AWS Glue Data Quality-Operationen erforderlich sind.

  • Berechtigungen, die Zugriff auf Ihre Datenkatalogtabelle und die zugrunde liegenden Daten gewähren. Diese Berechtigungen variieren je nach Anwendungsfall. Beispielsweise sollten die Berechtigungen für Daten, die Sie in Amazon S3 katalogisieren, den Zugriff auf Amazon S3 beinhalten.

    Anmerkung

    Sie müssen zusätzlich zu den in diesem Abschnitt beschriebenen Berechtigungen Amazon-S3-Berechtigungen konfigurieren.

Mindestberechtigungen zum Abrufen empfohlener Datenqualitätsregeln

Diese Beispielrichtlinie enthält die Berechtigungen, die Sie benötigen, um empfohlene Datenqualitätsregeln zu generieren.

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

Mindestberechtigungen, um Empfehlungen für erweiterte Datenqualitätsregeln zu erhalten

Sie müssen über die iam:PassRole Berechtigung für die Empfehlungsrolle verfügen. Für die Rolle sind keine Amazon Bedrock Berechtigungen erforderlich.

Vertrauensrichtlinie

Verwenden Sie diese Vertrauensrichtlinie, damit AWS Glue die Empfehlungsrolle für Ihre Quelltabelle übernehmen kann.

Stellen Sie aws: SourceArn auf den vollständigen ARN der Quelltabelle ein. Verwenden Sie die Konto-ID aus diesem ARN für 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" } } } ] }

Berechtigungsrichtlinie

Beim ersten ADVANCED Durchlauf erstellt AWS Glue die folgenden Ressourcen in Ihrem Konto:

  • Die glue-dataquality-sampling Athena-Arbeitsgruppe zur Durchführung von Abfragen nach Regelempfehlungen.

  • Der aws-glue-dataquality-sampling-account-id-region Amazon S3-Bucket zum Speichern von Abfrageergebnissen.

Für nachfolgende Läufe verwendet AWS Glue die vorhandene Arbeitsgruppe und den Bucket wieder. Details hierzu finden Sie unter Datenschutz für erweiterte Datenqualitätsregeln.

Fügen Sie Ihrer Empfehlungsrolle die folgende Berechtigungsrichtlinie hinzu.

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

Wenn der Bucket vorhanden ist, können Sie ihn s3:CreateBucket aus dieser Richtlinie entfernen. Wenn Sie den Bucket löschen, benötigt AWS Glue diese Erlaubnis erneut. Alle anderen Berechtigungen in dieser Richtlinie bleiben für nachfolgende Läufe erforderlich.

Zusätzliche Berechtigungen

Wenn eine Bedingung in dieser Liste zutrifft, fügen Sie die entsprechenden Berechtigungen zu Ihrer Empfehlungsrolle hinzu.

  • Wenn Lake Formation den Tabellenzugriff kontrolliert, fügen Sie hinzulakeformation:GetDataAccess. Erteilen Sie DESCRIBE die Rolle in der Datenbank DESCRIBE und SELECT in der Tabelle.

  • Wenn Sie eine Sicherheitskonfiguration für die Datenqualität angeben, fügen Sie die glue:GetSecurityConfiguration Berechtigung hinzu.

  • Wenn Sie dies angebenCreatedRulesetName, fügen Sie eine glue:CreateDataQualityRuleset Berechtigung hinzu.

  • Wenn Sie eine Sicherheitskonfiguration für die Datenqualität mit einem vom Kunden verwalteten Schlüssel angeben, fügen Sie die folgende Anweisung für diesen Schlüssel hinzu.

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

    Ihre Empfehlungsrolle benötigt diese Aktionen für die Verschlüsselung von Abfrageergebnissen und die Verschlüsselung von AWS Glue Data Quality-Ressourcen. Die Schlüsselrichtlinie muss diese Aktionen auch für Ihre Rolle zulassen. Details hierzu finden Sie unter Schlüsselrichtlinie.

  • Wenn die Quellobjekte verwenden SSE-KMS, fügen Sie die folgende Anweisung hinzu.

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

    Die Quellschlüsselrichtlinie muss es der Empfehlungsrolle auch ermöglichen, die Quellobjekte zu entschlüsseln.

Gewährt die Berechtigung zum Starten der Ausführung einer Datenqualitätsaufgabe

Diese Beispielrichtlinie enthält die Berechtigungen, die Sie benötigen, um eine Aufgabe zur Bewertung der Datenqualität auszuführen.

Die folgenden Richtlinienerklärungen sind optional, je nach Anwendungsfall:

  • AllowCloudWatchPutMetricDataToPublishTaskMetrics - Erforderlich, wenn Sie Datenqualitäts-Ausführungsmetriken auf Amazon CloudWatch veröffentlichen wollen.

  • AllowS3PutObjectToWriteTaskResults - Erforderlich, wenn Sie die Ergebnisse von Datenqualitätsläufen in Amazon S3 schreiben möchten.

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

Mindestberechtigungen zum Ausführen eines ETL-Auftrags zur Datenqualität

Diese Beispielrichtlinie enthält die Berechtigungen, die Sie benötigen, um einen ETL-Auftrag zur Datenqualität auszuführen.

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