Voraussetzungen für die Generierung von Spaltenstatistiken - AWS Glue

Voraussetzungen für die Generierung von Spaltenstatistiken

Um Spaltenstatistiken zu erstellen oder zu aktualisieren, übernimmt die Statistikgenerierungsaufgabe in Ihrem Namen eine AWS Identity and Access Management (IAM)-Rolle. Basierend auf den der Rolle erteilten Berechtigungen kann die Aufgabe zur Generierung von Spaltenstatistiken die Daten aus dem Amazon-S3-Datenspeicher lesen.

Wenn Sie die Aufgabe zur Generierung von Spaltenstatistiken konfigurieren, lässt AWS Glue zu, dass Sie eine Rolle erstellen, welche die von AWS verwaltete Richtlinie AWSGlueServiceRole sowie die erforderliche Inline-Richtlinie für die angegebene Datenquelle enthält.

Wenn Sie eine vorhandene Rolle für das Generieren von Spaltenstatistiken angeben, stellen Sie sicher, dass dieser die AWSGlueServiceRole-Richtlinie oder eine gleichwertige Version dieser Richtlinie (oder eine reduzierte Version) sowie die erforderlichen Inline-Richtlinien enthält. Führen Sie diese Schritte aus, um eine neue IAM-Rolle zu erstellen:

Anmerkung

Um Statistiken für von Lake Formation verwaltete Tabellen zu generieren, benötigt die IAM-Rolle, die zum Generieren von Statistiken verwendet wird, vollständigen Tabellenzugriff.

Wenn Sie die Aufgabe zur Generierung von Spaltenstatistiken konfigurieren, lässt AWS Glue zu, dass Sie eine Rolle erstellen, welche die von AWS verwaltete Richtlinie AWSGlueServiceRole sowie die erforderliche Inline-Richtlinie für die angegebene Datenquelle enthält. Sie können auch eine Rolle erstellen, die in der folgenden Richtlinie aufgeführten Berechtigungen anhängen und diese Rolle der Aufgabe zur Generierung von Spaltenstatistiken hinzufügen.

So erstellen Sie eine IAM-Rolle für die Generierung von Spaltenstatistiken
  1. Eine Anleitung zum Erstellen einer IAM;-Rolle finden Sie unter Erstellen von IAM-Rollen für AWS Glue.

  2. Um eine bestehende Rolle zu aktualisieren, wechseln Sie in der IAM-Konsole zu der IAM-Rolle, die beim Generieren von Spaltenstatistiken verwendet wird.

  3. Wählen Sie in der Registerkarte Berechtigungen hinzufügen die Option Richtlinien anfügen aus. Wählen Sie im neu geöffneten Browserfenster die Option „Von AWSGlueServiceRole AWS verwaltete Richtlinie“ aus.

  4. Sie müssen außerdem Berechtigungen zum Lesen von Daten am Amazon-S3-Speicherort hinzufügen.

    Wählen Sie im Abschnitt Berechtigungen hinzufügen die Option Richtlinie erstellen aus. Erstellen Sie im neu geöffneten Browserfenster eine neue Richtlinie, die Sie mit Ihrer Rolle verwenden möchten.

  5. Wählen Sie auf der Seite Richtlinie erstellen die Registerkarte JSON aus. Kopieren Sie den folgenden JSON-Code in das Richtlinien-Editor-Feld.

    Anmerkung

    Ersetzen Sie „Konto-ID“ in den folgenden Richtlinien durch ein gültiges AWS-Konto, ersetzen Sie region durch die Region der Tabelle und bucket-name durch den Namen des Amazon-S3-Buckets.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "S3BucketAccess", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/*", "arn:aws:s3:::amzn-s3-demo-bucket" ] } ] }
  6. (Optional) Wenn Sie Lake-Formation-Berechtigungen verwenden, um Zugriff auf Ihre Daten zu gewähren, sind für die IAM-Rolle lakeformation:GetDataAccess-Berechtigungen erforderlich.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "LakeFormationDataAccess", "Effect": "Allow", "Action": "lakeformation:GetDataAccess", "Resource": [ "*" ] } ] }

    Wenn der Amazon-S3-Speicherort bei Lake Formation registriert ist und für die IAM-Rolle, die von der Aufgabe zur Generierung von Spaltenstatistiken übernommen wurde, keine IAM_ALLOWED_PRINCIPALS-Gruppenberechtigungen für die Tabelle erteilt wurden, benötigt die Rolle ALTER- und DESCRIBE-Berechtigungen in Lake Formation für die Tabelle. Die Rolle, die für die Registrierung des Amazon-S3-Buckets verwendet wird, erfordert INSERT- und DELETE-Berechtigungen in Lake Formation für die Tabelle.

    Wenn der Amazon-S3-Speicherort bei Lake Formation registriert ist und für die IAM-Rolle keine IAM_ALLOWED_PRINCIPALS-Gruppenberechtigungen für die Tabelle erteilt wurden, benötigt die Rolle ALTER-, DESCRIBE-, INSERT- und DELETE-Berechtigungen in Lake Formation für die Tabelle.

  7. Wenn Sie die Option Automatic statistics generation auf Katalogebene aktiviert haben, muss die IAM-Rolle über die glue:UpdateCatalog-Berechtigung oder die Lake-Formation-Berechtigung ALTER CATALOG für den Standarddatenkatalog verfügen. Sie können den GetCatalog-Vorgang verwenden, um die Katalogeigenschaften zu überprüfen.

  8. (Optional) Für die Aufgabe zur Generierung von Spaltenstatistiken, die verschlüsselte Amazon CloudWatch Logs-Schreibvorgänge durchführt, sind die folgenden Berechtigungen in der Schlüsselrichtlinie erforderlich.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "CWLogsKmsPermissions", "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:AssociateKmsKey" ], "Resource": [ "arn:aws:logs:us-east-1:111122223333:log-group:/aws-glue:*" ] }, { "Sid": "KmsPermissions", "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "kms:Encrypt" ], "Resource": [ "arn:aws:kms:us-east-1:111122223333:key/arn of key used for ETL cloudwatch encryption" ], "Condition": { "StringEquals": { "kms:ViaService": [ "glue.us-east-1.amazonaws.com" ] } } } ] }
  9. Die Rolle, die Sie zum Ausführen der Spaltenstatistiken verwenden, muss die iam:PassRole-Berechtigung für die Rolle haben.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::111122223333:role/columnstats-role-name" ] } ] }
  10. Wenn Sie eine IAM-Rolle für die Generierung von Spaltenstatistiken erstellen, muss für diese Rolle auch die folgende Vertrauensrichtlinie gelten, damit der Service die Rolle übernehmen kann.

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