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

Amazon Athena의 AWS 관리형 정책

AWS 관리형 정책은 AWS에서 생성되고 관리되는 독립 실행형 정책입니다. AWS 관리형 정책은 사용자, 그룹 및 역할에 권한 할당을 시작할 수 있도록 많은 일반 사용 사례에 대한 권한을 제공하도록 설계되었습니다.

AWS 관리형 정책은 모든 AWS 고객이 사용할 수 있기 때문에 특정 사용 사례에 대해 최소 권한을 부여하지 않을 수 있습니다. 사용 사례에 고유한 고객 관리형 정책을 정의하여 권한을 줄이는 것이 좋습니다.

AWS 관리형 정책에서 정의한 권한은 변경할 수 없습니다. 만약 AWS가 AWS 관리형 정책에 정의된 권한을 업데이트할 경우 정책이 연결되어 있는 모든 보안 주체 엔터티(사용자, 그룹 및 역할)에도 업데이트가 적용됩니다. 새로운 AWS 서비스를 시작하거나 새로운 API 작업을 기존 서비스에 이용하는 경우 AWS가 AWS 관리형 정책을 업데이트할 가능성이 높습니다.

자세한 내용은 IAM 사용 설명서의 AWS 관리형 정책을 참조하세요.

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

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

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

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

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

  • JDBC를 사용하여 연결하는 보안 주체도 있다면, 애플리케이션에 JDBC 드라이버 자격 증명을 입력해야 합니다. 자세한 내용은 JDBC 및 ODBC 연결을 통한 액세스 단원을 참조하십시오.

  • AWS Glue 데이터 카탈로그를 암호화한 경우 Athena에 대한 자격 증명 기반 IAM 정책에 추가 작업을 지정해야 합니다. 자세한 내용은 Athena에서 AWS Glue Data Catalog의 암호화된 메타데이터에 액세스 단원을 참조하십시오.

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

AWS 관리형 정책: AmazonAthenaFullAccess

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

액세스 권한을 제공하려면 사용자, 그룹 또는 역할에 권한을 추가합니다.

  • AWS IAM Identity Center의 사용자 및 그룹:

    권한 세트를 생성합니다. AWS IAM Identity Center 사용 설명서의 권한 세트 생성의 지침을 따르세요.

  • ID 제공자를 통해 IAM에서 관리되는 사용자:

    ID 페더레이션을 위한 역할을 생성합니다. IAM 사용 설명서의 서드 파티 자격 증명 공급자의 역할 만들기(연합)의 지침을 따르세요.

  • IAM 사용자:

    • 사용자가 맡을 수 있는 역할을 생성합니다. IAM 사용 설명서에서 IAM 사용자의 역할 생성의 지침을 따르세요.

    • (권장되지 않음)정책을 사용자에게 직접 연결하거나 사용자를 사용자 그룹에 추가합니다. 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 개발자 가이드기본 데이터 액세스 제어를 참조하세요.

  • datazone - 보안 주체가 Amazon DataZone 프로젝트, 도메인 및 환경을 나열할 수 있습니다. Athena에서 DataZone을 사용하는 방법에 대한 자세한 내용은 Athena에서 Amazon DataZone 사용 섹션을 참조하세요.

  • pricing – AWS Billing and Cost Management에 대한 액세스 권한을 제공합니다. 자세한 내용은 AWS Billing and Cost Management용 API 참조GetInstance를 참조하세요.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "BaseAthenaPermissions", "Effect": "Allow", "Action": [ "athena:*" ], "Resource": [ "*" ] }, { "Sid": "BaseGluePermissions", "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", "glue:StartColumnStatisticsTaskRun", "glue:GetColumnStatisticsTaskRun", "glue:GetColumnStatisticsTaskRuns" ], "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": [ "*" ] } ] }

AWS 관리형 정책: AWSQuicksightAthenaAccess

AWSQuicksightAthenaAccess는 Amazon QuickSight와 Athena의 통합에 필요한 작업에 대한 액세스 권한을 부여합니다. AWSQuicksightAthenaAccess 정책을 IAM 보안 인증에 연결할 수 있습니다. 이 정책은 Athena와 함께 Amazon QuickSight를 사용하는 보안 주체에만 연결합니다. 이 정책에는 사용되지 않거나, 현재 퍼블릭 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 관리형 정책 업데이트에 대한 세부 정보를 확인합니다.

변경 사항 설명 날짜

AmazonAthenaFullAccess - 기존 정책 업데이트

Athena 사용자가 Amazon DataZone 도메인, 프로젝트 및 환경에서 작업할 수 있도록 datazone:ListDomains, datazone:ListProjectsdatazone:ListAccountEnvironments 권한이 추가되었습니다. 자세한 내용은 Athena에서 Amazon DataZone 사용 단원을 참조하십시오.

2024년 1월 3일

AmazonAthenaFullAccess - 기존 정책 업데이트

비용 기반 옵티마이저 기능에 대한 통계를 검색하기 위해 Athena에 AWS Glue를 직접 호출할 권한을 제공하도록 glue:StartColumnStatisticsTaskRun, glue:GetColumnStatisticsTaskRunglue:GetColumnStatisticsTaskRuns 권한이 추가되었습니다. 자세한 내용은 비용 기반 최적화 프로그램 사용 단원을 참조하십시오.

2024년 1월 3일

AmazonAthenaFullAccess - 기존 정책 업데이트

Athena는 AWS Billing and Cost Management에 대한 액세스를 제공하기 위해 pricing:GetProducts를 추가했습니다. 자세한 내용은 AWS Billing and Cost Management용 API 참조GetInstance를 참조하세요.

2023년 1월 25일

AmazonAthenaFullAccess - 기존 정책 업데이트

CloudWatch 지표 값을 검색하기 위해 cloudwatch:GetMetricData를 추가했습니다. 자세한 내용은 Amazon CloudWatch API 참조에서 GetMetricData를 참조하세요.

2022년 11월 14일

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

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

2021년 7월 7일

Athena의 변경 내용 추적 시작

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

2021년 7월 7일