Amazon managed policies for Amazon Athena
An Amazon managed policy is a standalone policy that is created and administered by Amazon. Amazon managed policies are designed to provide permissions for many common use cases so that you can start assigning permissions to users, groups, and roles.
Keep in mind that Amazon managed policies might not grant least-privilege permissions for your specific use cases because they're available for all Amazon customers to use. We recommend that you reduce permissions further by defining customer managed policies that are specific to your use cases.
You cannot change the permissions defined in Amazon managed policies. If Amazon updates the permissions defined in an Amazon managed policy, the update affects all principal identities (users, groups, and roles) that the policy is attached to. Amazon is most likely to update an Amazon managed policy when a new Amazon Web Services service is launched or new API operations become available for existing services.
For more information, see Amazon managed policies in the IAM User Guide.
Considerations when using managed policies with Athena
Managed policies are easy to use and are updated automatically with the required actions as the service evolves. When using managed policies with Athena, keep the following points in mind:
-
To allow or deny Amazon Athena service actions for yourself or other users using Amazon Identity and Access Management (IAM), you attach identity-based policies to principals, such as users or groups.
-
Each identity-based policy consists of statements that define the actions that are allowed or denied. For more information and step-by-step instructions for attaching a policy to a user, see Attaching managed policies in the IAM User Guide. For a list of actions, see the Amazon Athena API Reference.
-
Customer-managed and inline identity-based policies allow you to specify more detailed Athena actions within a policy to fine-tune access. We recommend that you use the
AmazonAthenaFullAccess
policy as a starting point and then allow or deny specific actions listed in the Amazon Athena API Reference. For more information about inline policies, see Managed policies and inline policies in the IAM User Guide. -
If you also have principals that connect using JDBC, you must provide the JDBC driver credentials to your application. For more information, see Control access through JDBC and ODBC connections.
-
If you have encrypted the Amazon Glue Data Catalog, you must specify additional actions in the identity-based IAM policies for Athena. For more information, see Configure access from Athena to encrypted metadata in the Amazon Glue Data Catalog.
-
If you create and use workgroups, make sure your policies include relevant access to workgroup actions. For detailed information, see Use IAM policies to control workgroup access and Example workgroup policies.
Amazon managed policy: AmazonAthenaFullAccess
The AmazonAthenaFullAccess
managed policy grants full access to
Athena.
To provide access, add permissions to your users, groups, or roles:
-
Users managed in IAM through an identity provider:
Create a role for identity federation. Follow the instructions in Create a role for a third-party identity provider (federation) in the IAM User Guide.
-
IAM users:
-
Create a role that your user can assume. Follow the instructions in Create a role for an IAM user in the IAM User Guide.
-
(Not recommended) Attach a policy directly to a user or add a user to a user group. Follow the instructions in Adding permissions to a user (console) in the IAM User Guide.
-
Permissions groupings
The AmazonAthenaFullAccess
policy is grouped into the following sets
of permissions.
-
athena
– Allows principals access to Athena resources. -
glue
– Allows principals access to Amazon Glue Catalogs, databases, tables, and partitions. This is required so that the principal can use the Amazon Glue Data Catalogs with Athena. -
s3
– Allows the principal to write and read query results from Amazon S3, to read publically available Athena data examples that reside in Amazon S3, and to list buckets. This is required so that the principal can use Athena to work with Amazon S3. -
sns
– Allows principals to list Amazon SNS topics and get topic attributes. This enables principals to use Amazon SNS topics with Athena for monitoring and alert purposes. -
cloudwatch
– Allows principals to create, read, and delete CloudWatch alarms. For more information, see Use CloudWatch and EventBridge to monitor queries and control costs. -
lakeformation
– Allows principals to request temporary credentials to access data in a data lake location that is registered with Lake Formation. For more information, see Underlying data access control in the Amazon Lake Formation Developer Guide. -
datazone
– Allows principals to list Amazon DataZone projects, domains, and environments. For information about using DataZone in Athena, see Use Amazon DataZone in Athena. -
pricing
– Provides access to Amazon Billing and Cost Management. For more information, see GetProducts in the Amazon Billing and Cost Management API Reference.
{ "Version": "2012-10-17", "Statement": [{ "Sid": "BaseAthenaPermissions", "Effect": "Allow", "Action": [ "athena:*" ], "Resource": [ "*" ] }, { "Sid": "BaseGluePermissions", "Effect": "Allow", "Action": [ "glue:CreateDatabase", "glue:DeleteDatabase", "glue:GetCatalog", "glue:GetCatalogs", "glue:GetDatabase", "glue:GetDatabases", "glue:UpdateDatabase", "glue:CreateTable", "glue:DeleteTable", "glue:BatchDeleteTable", "glue:UpdateTable", "glue:GetTable", "glue:GetTables", "glue:BatchCreatePartition", "glue:CreatePartition", "glue:DeletePartition", "glue:BatchDeletePartition", "glue:UpdatePartition", "glue:GetPartition", "glue:GetPartitions", "glue:BatchGetPartition", "glue:StartColumnStatisticsTaskRun", "glue:GetColumnStatisticsTaskRun", "glue:GetColumnStatisticsTaskRuns", "glue:GetCatalogImportStatus" ], "Resource": [ "*" ] }, { "Sid": "BaseQueryResultsPermissions", "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload", "s3:CreateBucket", "s3:PutObject", "s3:PutBucketPublicAccessBlock" ], "Resource": [ "arn:aws:s3:::aws-athena-query-results-*" ] }, { "Sid": "BaseAthenaExamplesPermissions", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::athena-examples*" ] }, { "Sid": "BaseS3BucketPermissions", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation", "s3:ListAllMyBuckets" ], "Resource": [ "*" ] }, { "Sid": "BaseSNSPermissions", "Effect": "Allow", "Action": [ "sns:ListTopics", "sns:GetTopicAttributes" ], "Resource": [ "*" ] }, { "Sid": "BaseCloudWatchPermissions", "Effect": "Allow", "Action": [ "cloudwatch:PutMetricAlarm", "cloudwatch:DescribeAlarms", "cloudwatch:DeleteAlarms", "cloudwatch:GetMetricData" ], "Resource": [ "*" ] }, { "Sid": "BaseLakeFormationPermissions", "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess" ], "Resource": [ "*" ] }, { "Sid": "BaseDataZonePermissions", "Effect": "Allow", "Action": [ "datazone:ListDomains", "datazone:ListProjects", "datazone:ListAccountEnvironments" ], "Resource": [ "*" ] }, { "Sid": "BasePricingPermissions", "Effect": "Allow", "Action": [ "pricing:GetProducts" ], "Resource": [ "*" ] } ] }
Amazon managed policy: AWSQuicksightAthenaAccess
AWSQuicksightAthenaAccess
grants access to actions that Amazon QuickSight requires for
integration with Athena. You can attach the AWSQuicksightAthenaAccess
policy
to your IAM identities. Attach this policy only to principals who use Amazon QuickSight with Athena.
This policy includes some actions for Athena that are either deprecated and not included
in the current public API, or that are used only with the JDBC and ODBC drivers.
Permissions groupings
The AWSQuicksightAthenaAccess
policy is grouped into the following
sets of permissions.
-
athena
– Allows the principal to run queries on Athena resources. -
glue
– Allows principals access to Amazon Glue Catalogs, databases, tables, and partitions. This is required so that the principal can use the Amazon Glue Data Catalogs with Athena. -
s3
– Allows the principal to write and read query results from Amazon S3. -
lakeformation
– Allows principals to request temporary credentials to access data in a data lake location that is registered with Lake Formation. For more information, see Underlying data access control in the Amazon Lake Formation Developer Guide.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "athena:BatchGetQueryExecution", "athena:CancelQueryExecution", "athena:GetCatalogs", "athena:GetExecutionEngine", "athena:GetExecutionEngines", "athena:GetNamespace", "athena:GetNamespaces", "athena:GetQueryExecution", "athena:GetQueryExecutions", "athena:GetQueryResults", "athena:GetQueryResultsStream", "athena:GetTable", "athena:GetTables", "athena:ListQueryExecutions", "athena:RunQuery", "athena:StartQueryExecution", "athena:StopQueryExecution", "athena:ListWorkGroups", "athena:ListEngineVersions", "athena:GetWorkGroup", "athena:GetDataCatalog", "athena:GetDatabase", "athena:GetTableMetadata", "athena:ListDataCatalogs", "athena:ListDatabases", "athena:ListTableMetadata" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "glue:CreateDatabase", "glue:DeleteDatabase", "glue:GetCatalog", "glue:GetCatalogs", "glue:GetDatabase", "glue:GetDatabases", "glue:UpdateDatabase", "glue:CreateTable", "glue:DeleteTable", "glue:BatchDeleteTable", "glue:UpdateTable", "glue:GetTable", "glue:GetTables", "glue:BatchCreatePartition", "glue:CreatePartition", "glue:DeletePartition", "glue:BatchDeletePartition", "glue:UpdatePartition", "glue:GetPartition", "glue:GetPartitions", "glue:BatchGetPartition" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload", "s3:CreateBucket", "s3:PutObject", "s3:PutBucketPublicAccessBlock" ], "Resource": [ "arn:aws:s3:::aws-athena-query-results-*" ] }, { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess" ], "Resource": [ "*" ] } ] }
Athena updates to Amazon managed policies
View details about updates to Amazon managed policies for Athena since this service began tracking these changes.
Change | Description | Date |
---|---|---|
AWSQuicksightAthenaAccess – Updates to existing policies | The glue:GetCatalog and glue:GetCatalogs
permissions were added to enable Athena users to access to SageMaker AI Lakehouse
catalogs. |
January 02, 2025 |
AmazonAthenaFullAccess – Update to existing policy | The glue:GetCatalog and glue:GetCatalogs
permissions were added to enable Athena users to access to SageMaker AI Lakehouse
catalogs. |
January 02, 2025 |
AmazonAthenaFullAccess – Update to existing policy |
Enables Athena to use the publicly documented Amazon Glue
|
June 18, 2024 |
AmazonAthenaFullAccess – Update to existing policy |
The |
January 3, 2024 |
AmazonAthenaFullAccess – Update to existing policy |
The |
January 3, 2024 |
AmazonAthenaFullAccess – Update to existing policy |
Athena added |
January 25, 2023 |
AmazonAthenaFullAccess – Update to existing policy |
Athena added |
November 14, 2022 |
AmazonAthenaFullAccess and AWSQuicksightAthenaAccess – Updates to existing policies |
Athena added |
July 7, 2021 |
Athena started tracking changes |
Athena started tracking changes for its Amazon managed policies. |
July 7, 2021 |