Amazon Athena의 AWS 관리형 정책 - Amazon Athena

Amazon Athena의 AWS 관리형 정책

사용자, 그룹 또는 역할에 권한을 추가하려면 정책을 직접 작성하는 것보다 AWS 관리형 정책을 사용하는 것이 편리합니다. 팀이 필요한 권한만 제공하는 IAM 고객 관리형 정책을 생성하는 데 시간과 전문 지식이 필요합니다. 빨리 시작하려면 AWS의 AWS 관리형 정책을 사용하세요. 이 정책은 일반적인 사용 사례를 다루며 사용자의 AWS 계정 에서 사용할 수 있습니다. AWS 관리형 정책에 대한 자세한 내용은 IAM 사용 설명서에서 AWS 관리형 정책을 참조하세요.

AWS 서비스 유지 관리 및 AWS 관리형 정책 업데이트 AWS 관리형 정책에서 권한을 변경할 수 없습니다. 서비스는 때때로 추가 사용 권한을 AWS 관리형 정책에 추가하여 새로운 기능을 지원합니다. 이 유형의 업데이트는 정책이 연결되어 있는 모든 자격 증명(사용자, 그룹 및 역할)에 적용됩니다. 서비스는 새로운 기능이 시작되거나 새 작업을 사용할 수 있을 때 AWS 관리형 정책에 업데이트됩니다. 서비스는 AWS 관리형 정책에서 권한을 제거하지 않기 때문에 정책 업데이트로 인해 기존 권한이 손상되지 않습니다.

또한 AWS는 여러 서비스에 걸쳐 있는 직무에 관한 관리형 정책을 지원합니다. 예를 들어 ViewOnlyAccess AWS 관리형 정책은 여러 AWS 서비스 및 리소스에 대한 읽기 전용 액세스 권한을 제공합니다. 서비스에서 새 기능을 시작하면 AWS는 새 작업 및 리소스에 대한 읽기 전용 권한을 추가합니다. 직무 정책의 목록과 설명은 직무에 관한 AWS 관리형 정책IAM 사용 설명서를 참조하세요.

Athena에 관리형 정책을 사용할 때의 고려 사항

관리형 정책은 사용하기 쉽고, 서비스가 향상됨에 따라 필요한 작업으로 자동 업데이트됩니다. Athena에 관리형 정책을 사용할 때 다음 사항에 유의하세요.

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

  • 각 자격 증명 기반 정책은 허용되거나 거부되는 작업을 정의하는 문으로 구성됩니다. 정책을 사용자에게 연결하는 방법에 대한 자세한 내용과 단계별 지침은 IAM 사용 설명서관리형 정책 연결을 참조하세요. 작업 목록은 Amazon Athena API 참조를 참조하십시오.

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

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

  • AWS Glue 데이터 카탈로그를 암호화한 경우 Athena에 대한 자격 증명 기반 IAM 정책에 추가 작업을 지정해야 합니다. 더 자세한 정보는 AWS Glue 데이터 카탈로그에 저장된 암호화된 메타데이터 액세스를 참조하십시오.

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

AWS 관리형 정책: AmazonAthenaFullAccess

AmazonAthenaFullAccess 관리형 정책은 Athena에 대한 완전한 액세스 권한을 부여합니다. Athena에 대한 모든 액세스가 필요한 IAM 사용자 및 다른 보안 주체에 이 정책을 연결합니다. AmazonAthenaFullAccess 정책을 IAM 자격 증명에 연결할 수 있습니다.

권한 그룹화

AmazonAthenaFullAccess 정책은 다음 권한 집합으로 그룹화됩니다.

  • athena - 보안 주체에게 Athena 리소스에 대한 액세스를 허용합니다.

  • glue - 보안 주체에게 AWS Glue 데이터베이스, 테이블 및 파티션에 대한 액세스를 허용합니다. 보안 주체가 Athena에 AWS Glue Data Catalog를 사용하려면 이 권한이 필수입니다.

  • s3 - 보안 주체가 Amazon S3에서 쿼리 결과를 쓰고 읽고, Amazon S3에 상주하며 공개적으로 사용 가능한 Athena 데이터 예제를 읽고, 버킷을 나열할 수 있도록 허용합니다. 보안 주체가 Athena를 사용하여 Amazon S3를 작동하려면 이 권한이 필수입니다.

  • sns - 보안 주체가 Amazon SNS 주제를 나열하고 주제 속성을 가져올 수 있도록 허용합니다. 이를 통해 보안 주체는 모니터링 및 알림 목적으로 Athena에 Amazon SNS 주제를 사용할 수 있습니다.

  • cloudwatch - 보안 주체에게 CloudWatch 경보의 생성, 읽기 및 삭제를 허용합니다. 자세한 내용은 섹션을 참조하세요CloudWatch 지표 및 이벤트를 사용하여 비용 관리 및 쿼리 모니터링

  • lakeformation - 보안 주체가 Lake Formation에 등록된 데이터 레이크 위치의 데이터에 액세스하기 위해 임시 자격 증명을 요청하도록 허용합니다. 자세한 내용은 AWS Lake Formation 개발자 가이드기본 데이터 액세스 제어를 참조하세요.

{ "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", "s3:PutBucketPublicAccessBlock" ], "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": [ "*" ] }, { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess" ], "Resource": [ "*" ] } ] }

AWS 관리형 정책: AWSQuicksightAthenaAccess

AWSQuicksightAthenaAccess는 Athena와의 통합을 위해 Amazon QuickSight에 필요한 작업에 대한 액세스 권한을 부여합니다. AWSQuicksightAthenaAccess 정책을 IAM 자격 증명에 연결할 수 있습니다. Amazon QuickSight와 함께 Athena를 사용하는 보안 주체에만 이 정책을 연결합니다. 이 정책에는 사용되지 않거나, 현재 퍼블릭 API에 포함되지 않거나, 반드시 JDBC 및 ODBC 드라이버와 함께 사용하는 Athena를 위한 몇 가지 작업이 포함됩니다.

권한 그룹화

AWSQuicksightAthenaAccess 정책은 다음 권한 집합으로 그룹화됩니다.

  • athena - 보안 주체가 Athena 리소스에 대한 쿼리를 실행할 수 있도록 허용합니다.

  • glue - 보안 주체에게 AWS Glue 데이터베이스, 테이블 및 파티션에 대한 액세스를 허용합니다. 보안 주체가 Athena에 AWS Glue Data Catalog를 사용하려면 이 권한이 필수입니다.

  • s3 - 보안 주체가 Amazon S3 쿼리 결과를 쓰고 읽을 수 있도록 허용합니다.

  • lakeformation - 보안 주체가 Lake Formation에 등록된 데이터 레이크 위치의 데이터에 액세스하기 위해 임시 자격 증명을 요청하도록 허용합니다. 자세한 내용은 AWS Lake Formation 개발자 가이드기본 데이터 액세스 제어를 참조하세요.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:BatchGetQueryExecution", "athena:GetQueryExecution", "athena:GetQueryResults", "athena:GetQueryResultsStream", "athena:ListQueryExecutions", "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: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": [ "*" ] } ] }

AWS 관리형 정책으로 Athena 업데이트

이 서비스가 해당 변경 사항을 추적하기 시작한 이후 Athena용 AWS 관리형 정책 업데이트에 대한 세부 정보를 확인합니다.

변경 사항 설명 날짜

AmazonAthenaFullAccessAWSQuicksightAthenaAccess - 기존 정책에 대한 업데이트

Athena가 생성한 버킷에 대한 퍼블릭 액세스를 차단할 수 있도록 Athena에 s3:PutBucketPublicAccessBlock이 추가되었습니다.

2021년 7월 7일

Athena의 변경 내용 추적 시작

Athena가 AWS 관리형 정책에 대한 변경 내용 추적을 시작했습니다.

2021년 7월 7일