Autoriser l'accès au connecteur de données Athena pour le métastore Hive externe - Amazon Athena

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Autoriser l'accès au connecteur de données Athena pour le métastore Hive externe

Les exemples de politique d'autorisation présentés dans cette rubrique illustrent les actions autorisées requises et les ressources pour lesquelles elles sont autorisées. Examinez attentivement ces politiques et modifiez-les en fonction de vos besoins avant d'associer des politiques d'autorisation similaires aux IAM identités.

Exemple
— Autoriser un IAM principal à interroger des données à l'aide d'Athena Data Connector pour External Hive Metastore

La politique suivante est attachée IAM aux principes en plus de laAWS politique gérée : AmazonAthenaFullAccess, qui accorde un accès complet aux actions Athena.

{ "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" } ] }
Explication des autorisations
Actions autorisées Explication
"s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:PutObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload"

s3les actions permettent de lire et d'écrire dans la ressource spécifiée comme"arn:aws:s3:::MyLambdaSpillBucket/MyLambdaSpillLocation", où MyLambdaSpillLocation identifie le compartiment de déversement spécifié dans la configuration de la ou des fonctions Lambda invoquées. Le arn:aws:lambda:*:MyAWSAcctId:layer:MyAthenaLambdaLayer:* un identifiant de ressource n'est requis que si vous utilisez une couche Lambda pour créer des dépendances d'exécution personnalisées afin de réduire la taille des artefacts fonctionnels au moment du déploiement. Le caractère * en dernière position est un caractère générique pour la version de la couche.

"lambda:GetFunction", "lambda:GetLayerVersion", "lambda:InvokeFunction"
Permet aux requêtes d'invoquer le AWS Lambda fonctions spécifiées dans le Resource bloc. Par exemplearn:aws:lambda:*:MyAWSAcctId:function:MyAthenaLambdaFunction, où MyAthenaLambdaFunction spécifie le nom d'une fonction Lambda à invoquer. Plusieurs fonctions peuvent être spécifiées comme indiqué dans l'exemple.
Exemple
— Autoriser un IAM principal à créer un connecteur de données Athena pour un métastore Hive externe

La politique suivante est attachée IAM aux principes en plus de laAWS politique gérée : AmazonAthenaFullAccess, qui accorde un accès complet aux actions Athena.

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

Explication des autorisations

Permet aux requêtes d'invoquer le AWS Lambda fonctions pour AWS Lambda fonctions spécifiées dans le Resource bloc. Par exemplearn:aws:lambda:*:MyAWSAcctId:function:MyAthenaLambdaFunction, où MyAthenaLambdaFunction spécifie le nom d'une fonction Lambda à invoquer. Plusieurs fonctions peuvent être spécifiées comme indiqué dans l'exemple.