Permiso de acceso al conector de datos de Athena para el metastore externo de Hive - Amazon Athena

Permiso de acceso al conector de datos de Athena para el metastore 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 de 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 de 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 de Lambda que se va a invocar. Se pueden especificar varias funciones como se muestra en el ejemplo.