

# S3 Storage Lens 테이블에 대한 권한
<a name="storage-lens-s3-tables-permissions"></a>

S3 테이블로 내보낸 S3 Storage Lens 데이터를 사용하려면 적절한 AWS Identity and Access Management(IAM) 권한이 필요합니다. 이 주제에서는 지표를 내보내고 암호화를 관리하는 데 필요한 권한을 다룹니다.

## 지표를 S3 Tables로 내보낼 수 있는 권한
<a name="storage-lens-s3-tables-permissions-export"></a>

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 테이블을 업데이트할 수 없습니다. 테이블 버킷을 설정할 때 추가되는 미리 준비된 정책을 편집하는 대신, 이미 제공된 정책 외에 다른 액세스 제어 정책을 추가하는 것이 좋습니다.

**참고**  
각 Storage Lens 구성에 대해 각 지표 내보내기 유형에 대한 별도의 S3 테이블이 생성됩니다. 리전에 Storage Lens 구성이 여러 개 있는 경우 추가 구성을 위해 별도의 테이블이 생성됩니다. 예를 들어 S3 테이블 버킷에 사용할 수 있는 세 가지 유형의 테이블이 있습니다.

## AWS KMS 암호화된 테이블에 대한 권한
<a name="storage-lens-s3-tables-permissions-kms"></a>

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

1. 사용자 또는 IAM 역할에 다음 권한이 필요합니다. IAM 콘솔 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)에서 이러한 권한을 부여할 수 있습니다.
   +  사용된 AWS KMS 키의 `kms:DescribeKey`

1. AWS KMS 키에 대한 키 정책에는 다음 권한이 필요합니다. AWS KMS 콘솔([https://console.aws.amazon.com/kms](https://console.aws.amazon.com/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에 대한 서비스 연결 역할
<a name="storage-lens-s3-tables-permissions-slr"></a>

S3 Storage Lens는 서비스 연결 역할을 사용하여 S3 Tables에 지표를 작성합니다. 이 역할은 계정에서 처음으로 S3 Tables 내보내기를 활성화하면 자동으로 생성됩니다. 이 서비스 연결 역할에는 다음 권한이 있습니다.
+  `s3tables:CreateTable` - 테이블 버킷에 `aws-s3` 테이블 생성
+  `s3tables:PutTableData` - 테이블에 지표 데이터 쓰기
+  `s3tables:GetTable` - 테이블 메타데이터 검색

이 서비스 연결 역할은 수동으로 생성 또는 관리할 필요가 없습니다. 서비스 연결 역할에 대한 자세한 내용은 *IAM 사용 설명서*의 [서비스 연결 역할 사용](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html)을 참조하세요 

## 권한 모범 사례
<a name="storage-lens-s3-tables-permissions-best-practices"></a>

S3 Storage Lens 테이블에 대한 권한을 구성할 때 다음 모범 사례를 따르세요.
+  **최소 권한 사용** - 특정 작업에 필요한 권한만 부여합니다. 예를 들어 사용자가 데이터를 쿼리하기만 하면 되는 경우 Storage Lens 구성을 수정할 수 있는 권한을 부여하지 마세요.
+  **IAM 역할 사용** - S3 Storage Lens 테이블에 액세스하는 애플리케이션 및 서비스에 대한 장기 액세스 키 대신 IAM 역할을 사용합니다.
+  **AWS CloudTrail 활성화** - CloudTrail 로깅을 활성화하여 S3 Storage Lens 테이블에 대한 액세스를 모니터링하고 권한 변경을 추적합니다.
+  **리소스 기반 정책 사용** - 가능하면 리소스 기반 정책을 사용하여 특정 테이블 또는 네임스페이스에 대한 액세스를 제어합니다.
+  **권한 정기 검토** - IAM 정책 및 Lake Formation 권한을 정기적으로 검토하고 감사하여 최소 권한 원칙을 준수하는지 확인합니다.

## 권한 문제 해결
<a name="storage-lens-s3-tables-permissions-troubleshooting"></a>

### S3 Tables 내보내기를 활성화할 때 액세스가 거부됨
<a name="storage-lens-s3-tables-permissions-troubleshooting-export"></a>

 **문제:** S3 Tables 내보내기를 활성화하려고 할 때 ‘액세스 거부’ 오류가 발생합니다.

 **해결 방법:** IAM 사용자 또는 역할에 `s3:PutStorageLensConfiguration` 권한과 필요한 S3 Tables 권한이 있는지 확인합니다.

### 테이블을 쿼리할 때 액세스가 거부됨
<a name="storage-lens-s3-tables-permissions-troubleshooting-query"></a>

 **문제:** Amazon Athena에서 S3 Storage Lens 테이블을 쿼리할 때 ‘액세스 거부’ 오류가 발생합니다.

 **해결 방법:** 다음을 확인합니다.
+ `aws-s3` 테이블 버킷에서 분석 통합이 활성화됨
+ Lake Formation 권한이 올바르게 구성됨
+ IAM 사용자 또는 역할에 필요한 Amazon Athena 권한이 있습니다.

### KMS 암호화 오류
<a name="storage-lens-s3-tables-permissions-troubleshooting-kms"></a>

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

 **해결 방법:** 다음을 확인합니다.
+ IAM 정책에는 필요한 KMS 권한이 포함되어 있습니다.
+ KMS 키 정책은 S3 Storage Lens 서비스 위탁자에 권한을 부여합니다.
+ KMS 키가 Storage Lens 구성과 동일한 리전에 있습니다.

## 다음 단계
<a name="storage-lens-s3-tables-permissions-next-steps"></a>
+ [Amazon S3 Storage Lens 권한 설정](storage_lens_iam_permissions.md)에 대해 알아봅니다.
+ [분석 도구를 사용하여 S3 Storage Lens 데이터 쿼리](storage-lens-s3-tables-querying.md)에 대해 알아봅니다.
+ [S3 Storage Lens 테이블에서 AI 어시스턴트 사용](storage-lens-s3-tables-ai-tools.md)에 대해 알아봅니다.