Permitir el acceso a un conector de datos de Athena para un almacén de metadatos externo de Hive - Amazon Athena

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Permitir el acceso a un conector de datos de Athena para un almacén de metadatos externo de Hive

Los ejemplos de políticas de permisos de este tema muestran las acciones permitidas necesarias y los recursos para las que están permitidas. Examine estas políticas detenidamente y modifíquelas de acuerdo con sus requisitos antes de adjuntar políticas de permisos similares a las identidades de IAM.

ejemplo
: permitir que una entidad principal de IAM consulte datos con el conector de datos de Athena para un almacén de metadatos externo de Hive

La siguiente política se conecta a las entidades principales de IAM, además de Política administrada de AWS: AmazonAthenaFullAccess, que concede acceso completo a las acciones de 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" } ] }
Explicación de permisos
Acciones permitidas Explicación
"s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:PutObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload"

Las acciones de s3 que permiten leer y escribir en el recurso especificado como "arn:aws:s3:::MyLambdaSpillBucket/MyLambdaSpillLocation", donde MyLambdaSpillLocation identifica el bucket de desbordamiento que se especifica en la configuración de la función o funciones Lambda que se invocan. El identificador de recursos arn:aws:lambda:*:MyAWSAcctId:layer:MyAthenaLambdaLayer:* es necesario solo si utiliza una capa Lambda para crear dependencias de tiempo de ejecución personalizadas para reducir el tamaño del artefacto de la función en el momento de la implementación. * en la última posición es un comodín para la versión de capa.

"lambda:GetFunction", "lambda:GetLayerVersion", "lambda:InvokeFunction"
Permite que las consultas invoquen las funciones AWS Lambda especificadas en el bloque Resource. Por ejemplo, arn:aws:lambda:*:MyAWSAcctId:function:MyAthenaLambdaFunction, donde MyAthenaLambdaFunction especifica el nombre de una función Lambda que se va a invocar. Se pueden especificar varias funciones como se muestra en el ejemplo.
ejemplo
: permitir que una entidad principal de IAM cree un conector de datos de Athena para un almacén de metadatos externo de Hive

La siguiente política se conecta a las entidades principales de IAM, además de Política administrada de AWS: AmazonAthenaFullAccess, que concede acceso completo a las acciones de 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*" } ] }

Explicación de permisos

Permite que las consultas invoquen las funciones AWS Lambda para las funciones de AWS Lambda especificadas en el bloque Resource. Por ejemplo, arn:aws:lambda:*:MyAWSAcctId:function:MyAthenaLambdaFunction, donde MyAthenaLambdaFunction especifica el nombre de una función Lambda que se va a invocar. Se pueden especificar varias funciones como se muestra en el ejemplo.