Zugriff auf einen Athena-Daten-Connector für externen Hive-Metastore zulassen - Amazon Athena

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.

Zugriff auf einen Athena-Daten-Connector für externen Hive-Metastore zulassen

Die Beispiele für Berechtigungsrichtlinien in diesem Thema veranschaulichen die erforderlichen zulässigen Aktionen und die Ressourcen, für die sie zulässig sind. Untersuchen Sie diese Richtlinien sorgfältig und ändern Sie sie entsprechend Ihren Anforderungen, bevor Sie IAM-Identitäten ähnliche Berechtigungsrichtlinien anfügen.

Beispiel
– Erlauben Sie einem IAM-Prinzipal, Daten mit dem Athena-Daten-Connector für externen Hive-Metastore abzufragen

Die folgende Richtlinie ist den IAM-Prinzipalen zusätzlich zur Richtlinie AWS Verwaltete Richtlinie: AmazonAthenaFullAccess angefügt, die vollen Zugriff auf Athena-Aktionen gewährt.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "lambda:GetFunction", "lambda:GetLayerVersion", "lambda:InvokeFunction" ], "Resource": [ "arn:aws:lambda:*:111122223333:function:MyAthenaLambdaFunction", "arn:aws:lambda:*:111122223333:function:AnotherAthenaLambdaFunction", "arn:aws:lambda:*:111122223333:layer:MyAthenaLambdaLayer:*" ] }, { "Sid": "VisualEditor2", "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:PutObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload" ], "Resource": "arn:aws:s3:::MyLambdaSpillBucket/MyLambdaSpillLocation" } ] }
Erläuterung der Berechtigungen
Erlaubte Aktionen Erklärung
"s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:PutObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload"

s3-Aktionen ermöglichen das Lesen und Schreiben in die Ressource, die als "arn:aws:s3:::MyLambdaSpillBucket/MyLambdaSpillLocation" angegeben ist, wobei MyLambdaSpillLocation den Spill-Bucket identifiziert, der in der Konfiguration der aufgerufenen Lambda-Funktion oder -Funktionen angegeben ist. Die Ressourcenkennung arn:aws:lambda:*:MyAWSAcctId:layer:MyAthenaLambdaLayer:* ist nur erforderlich, wenn Sie eine Lambda-Ebene zur Erstellung benutzerdefinierter Laufzeitabhängigkeiten verwenden, um die Funktionsartefaktgröße zur Bereitstellungszeit zu reduzieren. Der * in der letzten Position ist ein Platzhalter für die Ebenenversion.

"lambda:GetFunction", "lambda:GetLayerVersion", "lambda:InvokeFunction"
Ermöglicht Abfragen zum Aufruf der im Resource-Block angegebenen AWS Lambda-Funktionen. Beispielsweise arn:aws:lambda:*:MyAWSAcctId:function:MyAthenaLambdaFunction, wobei MyAthenaLambdaFunction den Namen einer Lambda-Funktion angibt, die aufgerufen werden soll. Es können mehrere Funktionen angegeben werden, wie im Beispiel gezeigt.
Beispiel
– Erlauben Sie einem IAM-Prinzipal, einen Athena-Daten-Connector für externen Hive-Metastore zu erstellen

Die folgende Richtlinie ist den IAM-Prinzipalen zusätzlich zur Richtlinie AWS Verwaltete Richtlinie: AmazonAthenaFullAccess angefügt, die vollen Zugriff auf Athena-Aktionen gewährt.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "lambda:GetFunction", "lambda:ListFunctions", "lambda:GetLayerVersion", "lambda:InvokeFunction", "lambda:CreateFunction", "lambda:DeleteFunction", "lambda:PublishLayerVersion", "lambda:DeleteLayerVersion", "lambda:UpdateFunctionConfiguration", "lambda:PutFunctionConcurrency", "lambda:DeleteFunctionConcurrency" ], "Resource": "arn:aws:lambda:*:111122223333: function: MyAthenaLambdaFunctionsPrefix*" } ] }

Erläuterung der Berechtigungen

Erlaubt Abfragen zum Aufruf der AWS Lambda-Funktionen für die AWS Lambda-Funktionen, die im Resource-Block angegeben sind- Beispielsweise arn:aws:lambda:*:MyAWSAcctId:function:MyAthenaLambdaFunction, wobei MyAthenaLambdaFunction den Namen einer Lambda-Funktion angibt, die aufgerufen werden soll. Es können mehrere Funktionen angegeben werden, wie im Beispiel gezeigt.