S3 Storage Lens 테이블 권한

S3 Storage Lens 테이블 권한

S3 Tables로 내보낸 S3 Storage Lens 데이터를 다루려면 적절한 AWS Identity and Access Management(IAM) 권한이 필요해요. 이 주제에서는 지표 내보내기와 암호화 관리를 위해 필요한 권한을 다룹니다.

출처: Permissions for S3 Storage Lens tables

S3 Tables로 지표 내보내기를 위한 권한

S3 Storage Lens 테이블과 테이블 버킷을 만들고 다루려면 특정 s3tables 권한이 있어야 해요. S3 Storage Lens를 S3 Tables로 구성하려면 최소한 다음 s3tables 권한이 필요합니다.

  • s3tables:CreateTableBucket – AWS 관리형 테이블 버킷을 만들 수 있는 권한이에요. 계정의 모든 S3 Storage Lens 지표는 aws-s3라는 단일 AWS 관리형 테이블 버킷에 저장돼요.
  • s3tables:PutTableBucketPolicy – S3 Storage Lens가 이 권한을 사용해 로그가 전달될 수 있도록 systemtables.s3.amazonaws.com이 버킷에 액세스하는 것을 허용하는 테이블 버킷 정책을 설정해요.

중요: 서비스 보안 주체 systemtables.s3.amazonaws.com에 대한 권한을 제거하면 S3 Storage Lens가 구성에 따라 S3 테이블을 데이터로 업데이트할 수 없게 돼요. 테이블 버킷을 설정할 때 추가되는 기본(canned) 정책을 편집하는 대신, 이미 제공된 정책에 추가로 다른 액세스 제어 정책을 추가하는 걸 권장해요.

참고: 각 지표 내보내기 유형별로 Storage Lens 구성마다 별도의 S3 테이블이 생성돼요. 리전에 Storage Lens 구성이 여러 개 있으면 추가 구성에 대해 별도의 테이블이 만들어져요. 예를 들어 S3 테이블 버킷에는 세 가지 유형의 테이블을 사용할 수 있어요.

AWS KMS 암호화 테이블을 위한 권한

S3 Storage Lens 지표를 포함한 S3 테이블의 모든 데이터는 기본적으로 SSE-S3 암호화로 암호화돼요. Storage Lens 지표 보고서를 AWS KMS 키(SSE-KMS)로 암호화하도록 선택할 수도 있어요. Storage Lens 지표 보고서를 KMS 키로 암호화하기로 선택했다면 추가 권한이 필요합니다.

  1. 사용자 또는 IAM 역할에 다음 권한이 필요해요. 이 권한은 https://console.aws.amazon.com/iam/ 의 IAM 콘솔을 사용해 부여할 수 있어요.
  • AWS KMS 키에 대한 kms:DescribeKey
  1. AWS KMS 키의 키 정책에 다음 권한이 필요해요. 이 권한은 https://console.aws.amazon.com/kms 의 AWS KMS 콘솔을 사용해 부여할 수 있어요. 이 정책을 사용하려면 입력 자리 표시자(user input placeholders)를 자신의 정보로 바꿔주세요.
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "EnableSystemTablesKeyUsage",
            "Effect": "Allow",
            "Principal": {
                "Service": "systemtables.s3.amazonaws.com"
            },
            "Action": [
                "kms:DescribeKey",
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "111122223333"
                }
            }
        },
        {
            "Sid": "EnableKeyUsage",
            "Effect": "Allow",
            "Principal": {
                "Service": "maintenance.s3tables.amazonaws.com"
            },
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id",
            "Condition": {
                "StringLike": {
                    "kms:EncryptionContext:aws:s3:arn": "<table-bucket-arn>/*"
                }
            }
        }
    ]
}

S3 Storage Lens용 서비스 연결 역할

S3 Storage Lens는 지표를 S3 Tables에 쓰기 위해 서비스 연결 역할(service-linked role)을 사용해요. 이 역할은 계정에서 S3 Tables 내보내기를 처음 활성화할 때 자동으로 생성돼요. 서비스 연결 역할은 다음 권한을 가져요.

  • s3tables:CreateTable – aws-s3 테이블 버킷에 테이블 생성
  • s3tables:PutTableData – 테이블에 지표 데이터 쓰기
  • s3tables:GetTable – 테이블 메타데이터 검색

이 서비스 연결 역할을 수동으로 만들거나 관리할 필요는 없어요. 서비스 연결 역할에 대한 자세한 내용은 IAM 사용자 가이드의 서비스 연결 역할 사용을 참조해 주세요.

권한 모범 사례

S3 Storage Lens 테이블에 대한 권한을 구성할 때 다음 모범 사례를 따르세요.

  • 최소 권한 사용 – 특정 작업에 필요한 권한만 부여해요. 예를 들어 사용자가 데이터만 쿼리하면 된다면 Storage Lens 구성을 수정할 권한을 부여하지 마세요.
  • IAM 역할 사용 – S3 Storage Lens 테이블에 액세스하는 애플리케이션과 서비스에는 장기 액세스 키 대신 IAM 역할을 사용해요.
  • AWS CloudTrail 활성화 – S3 Storage Lens 테이블에 대한 액세스를 모니터링하고 권한 변경을 추적하려면 CloudTrail 로깅을 활성화하세요.
  • 리소스 기반 정책 사용 – 가능하면 리소스 기반 정책을 사용해 특정 테이블이나 네임스페이스에 대한 액세스를 제어해요.
  • 권한 정기 검토 – IAM 정책과 Lake Formation 권한을 주기적으로 검토·감사해 최소 권한 원칙을 따르도록 하세요.

권한 문제 해결

S3 Tables 내보내기 활성화 시 액세스 거부

문제: S3 Tables 내보내기를 활성화하려 할 때 "액세스 거부(access denied)" 오류가 발생해요.

해결책: IAM 사용자 또는 역할에 s3:PutStorageLensConfiguration 권한과 필요한 S3 Tables 권한이 있는지 확인하세요.

테이블 쿼리 시 액세스 거부

문제: Amazon Athena에서 S3 Storage Lens 테이블을 쿼리할 때 "액세스 거부" 오류가 발생해요.

해결책: 다음을 확인하세요.

  • aws-s3 테이블 버킷에서 분석 통합이 활성화되어 있는지
  • Lake Formation 권한이 올바르게 구성되어 있는지
  • IAM 사용자 또는 역할에 필요한 Amazon Athena 권한이 있는지

KMS 암호화 오류

문제: 암호화된 테이블에 액세스할 때 KMS 관련 오류가 발생해요.

해결책: 다음을 확인하세요.

  • IAM 정책에 필요한 KMS 권한이 포함되어 있는지
  • KMS 키 정책이 S3 Storage Lens 서비스 보안 주체에 권한을 부여하는지
  • KMS 키가 Storage Lens 구성과 같은 리전에 있는지

더 알아보기

  • Amazon S3 Storage Lens 권한 설정 알아보기
  • S3 Storage Lens 데이터를 분석 도구로 쿼리해 보기
  • S3 Storage Lens 테이블로 AI 어시스턴트 사용하기