Amazon Athena
사용 설명서

사용자 액세스에 대한 관리형 정책

자신이나 다른 사용자에게 Athena 서비스 작업을 허용하거나 거부하려면 사용자나 그룹 같은 보안 주체에 연결된 자격 증명 기반(IAM) 정책을 사용합니다.

각 자격 증명 기반(IAM) 정책은 허용되거나 거부되는 작업을 정의하는 문으로 구성됩니다. 작업 목록은 Amazon Athena API 참조를 참조하십시오.

관리형 정책은 사용하기 쉽고, 서비스가 향상됨에 따라 필요한 작업으로 자동 업데이트됩니다. 정책을 사용자에게 연결하는 방법에 대한 자세한 내용과 단계별 지침은 AWS Identity and Access Management 사용 설명서관리형 정책 연결을 참조하십시오.

Athena에는 다음과 같은 관리형 정책이 있습니다.

  • AmazonAthenaFullAccess 관리형 정책은 Athena에 대한 완전한 액세스를 부여합니다. Athena에 대한 모든 액세스가 필요한 사용자 및 다른 보안 주체에 이 정책을 연결합니다. AmazonAthenaFullAccess Managed Policy(관리 정책)를 참조하십시오.

  • AWSQuicksightAthenaAccess 관리형 정책은 Amazon QuickSight이(가) Athena와(과) 통합해야 하는 작업에 대한 액세스 권한을 부여합니다. Athena와 함께 Amazon QuickSight을(를) 사용하는 보안 주체에 이 정책을 연결합니다. AWSQuicksightAthenaAccess Managed Policy를 참조하십시오.

고객 관리형인라인 자격 증명 기반 정책을 사용하면 정책 내에서 보다 세분화된 Athena 작업을 지정하여 액세스를 세부 조정할 수 있습니다. AmazonAthenaFullAccess 정책을 시작점으로 사용하고 Amazon Athena API 참조에 나열된 특정 작업을 허용하거나 거부하는 것이 좋습니다. 인라인 정책에 대한 자세한 정보는 AWS Identity and Access Management 사용 설명서관리형 정책과 인라인 정책을 참조하십시오.

JDBC를 사용하여 연결하는 보안 주체도 있다면, 애플리케이션에 JDBC 드라이버 자격 증명을 입력해야 합니다. 자세한 정보는 JDBC 연결을 위한 서비스 작업을 참조하십시오.

AWS Glue를 Athena와 함께 사용해 마이그레이션하고 AWS Glue 데이터 카탈로그를 암호화하기로 했다면, Athena에서 사용하는 자격 증명 기반 IAM 정책에 다른 작업을 추가해야 합니다. 더 자세한 정보는 AWS Glue 데이터 카탈로그에 저장된 암호화된 메타데이터 액세스를 참조하십시오.

중요

작업 그룹을 만들고 사용할 경우 해당 정책에 작업 그룹 작업에 대한 적절한 액세스 권한이 있는지 확인하십시오. 자세한 정보는 작업 그룹 액세스를 위한 IAM 정책작업 그룹 정책의 예 단원을 참조하십시오.

AmazonAthenaFullAccess 관리형 정책

AmazonAthenaFullAccess 관리형 정책은 Athena에 대한 완전한 액세스를 부여합니다.

관리형 정책 내용은 수시로 변경되므로 여기에 수록된 정책은 오래된 버전일 수 있습니다. IAM 콘솔에서 최신 정책을 확인합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:*" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "glue:CreateDatabase", "glue:DeleteDatabase", "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" ], "Resource": [ "arn:aws:s3:::aws-athena-query-results-*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::athena-examples*" ] }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation", "s3:ListAllMyBuckets" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "sns:ListTopics", "sns:GetTopicAttributes" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricAlarm", "cloudwatch:DescribeAlarms", "cloudwatch:DeleteAlarms" ], "Resource": [ "*" ] } ] }

AWSQuicksightAthenaAccess 관리형 정책

추가 관리형 정책인 AWSQuicksightAthenaAccess은(는) Amazon QuickSight이(가) Athena와(과) 통합해야 하는 작업에 대한 액세스 권한을 부여합니다. 이 정책에는 사용되지 않거나, 현재 퍼블릭 API에 포함되지 않거나, 반드시 JDBC 및 ODBC 드라이버와 함께 사용하는 Athena를 위한 몇 가지 작업이 포함됩니다. Athena와(과) Amazon QuickSight을(를) 함께 사용하는 보안 주체에만 이 정책을 연결합니다.

관리형 정책 내용은 수시로 변경되므로 여기에 수록된 정책은 오래된 버전일 수 있습니다. IAM 콘솔에서 최신 정책을 확인합니다.

{ "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" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "glue:CreateDatabase", "glue:DeleteDatabase", "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" ], "Resource": [ "arn:aws:s3:::aws-athena-query-results-*" ] } ] }

JDBC 및 ODBC 연결을 통한 액세스

Athena 및 Amazon S3 버킷 등 AWS 서비스와 리소스에 대한 액세스를 얻으려면 애플리케이션에 JDBC 또는 ODBC 드라이버 자격 증명을 입력합니다. JDBC 드라이버 버전 2.0.2 또는 ODBC 드라이버 버전 1.0.3을 사용한다면, 액세스 정책에 AWSQuicksightAthenaAccess Managed Policy(AWSQuicksightAthenaAccess 관리형 정책)에 있는 작업이 모두 포함되었는지 확인하십시오.

JDBC 드라이버 최신 버전에 대한 정보는 JDBC 드라이버 연결을 참조하십시오.

ODBC 드라이버 최신 버전에 대한 정보는 ODBC 드라이버 연결을 참조하십시오.