메타데이터 테이블 구성에 대한 권한 설정 - Amazon Simple Storage Service

메타데이터 테이블 구성에 대한 권한 설정

메타데이터 테이블 구성을 만들려면 메타데이터 테이블 구성을 만들고 관리하며 메타데이터 테이블이 저장되는 메타데이터 테이블과 테이블 버킷을 만들고 관리하는 데 필요한 AWS Identity and Access Management(IAM) 권한이 있어야 합니다.

메타데이터 테이블 구성을 생성하고 관리하려면 다음 권한이 있어야 합니다.

  • s3:CreateBucketMetadataTableConfiguration - 이 권한을 사용하면 범용 버킷에 대한 메타데이터 테이블 구성을 생성할 수 있습니다. 메타데이터 테이블 구성을 만들려면 다음 섹션에 설명된 대로 S3 테이블 권한을 포함한 추가 권한이 필요합니다. 필요한 권한 목록의 요약은 버킷 작업 및 권한 섹션을 참조하세요.

  • s3:GetBucketMetadataTableConfiguration - 이 권한을 사용하면 메타데이터 테이블 구성에 대한 정보를 검색할 수 있습니다.

  • s3:DeleteBucketMetadataTableConfiguration - 이 권한을 사용하면 메타데이터 테이블 구성을 삭제할 수 있습니다.

  • s3:UpdateBucketMetadataJournalTableConfiguration - 이 권한을 사용하면 저널 테이블 구성을 업데이트하여 저널 테이블 레코드를 만료시킬 수 있습니다.

  • s3:UpdateBucketMetadataInventoryTableConfiguration - 이 권한을 사용하면 인벤토리 테이블 구성을 업데이트하여 인벤토리 테이블을 활성화하거나 비활성화할 수 있습니다. 인벤토리 테이블 구성을 업데이트하려면 S3 테이블 권한을 포함한 추가 권한이 필요합니다. 필요한 권한 목록은 버킷 작업 및 권한 섹션을 참조하세요.

    참고

    s3:CreateBucketMetadataTableConfiguration, s3:GetBucketMetadataTableConfigurations3:DeleteBucketMetadataTableConfiguration 권한은 V1 및 V2 S3 Metadata 구성 모두에 사용됩니다. V2의 경우 해당 API 작업의 이름은 CreateBucketMetadataConfiguration, GetBucketMetadataConfigurationDeleteBucketMetadataConfiguration입니다.

테이블 및 테이블 버킷을 생성하고 작업하려면 특정 s3tables 권한이 있어야 합니다. 메타데이터 테이블 구성을 생성하려면 최소한 다음 s3tables 권한이 있어야 합니다.

  • s3tables:CreateTableBucket - 이 권한을 사용하면 AWS 관리형 테이블 버킷을 만들 수 있습니다. 계정 및 동일한 리전의 모든 메타데이터 테이블 구성은 aws-s3라는 단일 AWS 관리형 테이블 버킷에 저장됩니다. 자세한 내용은 메타데이터 테이블 작동 방식Working with AWS managed table buckets를 참조하세요.

  • s3tables:CreateNamespace - 이 권한을 사용하면 테이블 버킷에 네임스페이스를 생성할 수 있습니다. 메타데이터 테이블은 보통 b_general_purpose_bucket_name 네임스페이스를 사용합니다. 메타데이터 테이블 네임스페이스에 대한 자세한 내용은 메타데이터 테이블 작동 방식 섹션을 참조하세요.

  • s3tables:CreateTable - 이 권한을 사용하면 메타데이터 테이블을 만들 수 있습니다.

  • s3tables:GetTable - 이 권한을 사용하면 메타데이터 테이블에 대한 정보를 검색할 수 있습니다.

  • s3tables:PutTablePolicy - 이 권한을 사용하면 메타데이터 테이블 정책을 추가하거나 업데이트할 수 있습니다.

  • s3tables:PutTableEncryption - 이 권한을 사용하면 메타데이터 테이블에 대한 서버 측 암호화를 설정할 수 있습니다. AWS Key Management Service(AWS KMS) 키를 사용한 서버 측 암호화(SSE-KMS)로 메타데이터 테이블을 암호화하려면 추가 권한이 필요합니다. 자세한 내용은 Permissions for SSE-KMS를 참조하세요.

  • kms:DescribeKey - 이 권한을 사용하면 KMS 키에 대한 정보를 검색할 수 있습니다.

모든 테이블 및 테이블 버킷 권한에 대한 자세한 내용은 Access management for S3 Tables을 참조하세요.

중요

또한 메타데이터 테이블을 쿼리할 수 있도록 테이블 버킷을 AWS 분석 서비스와 통합하려면 추가 권한이 필요합니다. 자세한 내용은 Integrating Amazon S3 Tables with AWS analytics services를 참조하세요.

SSE-KMS에 대한 권한

AWS Key Management Service(AWS KMS) 키를 사용한 서버 측 암호화(SSE-KMS)로 메타데이터 테이블을 암호화하려면 추가 권한이 있어야 합니다.

  1. 사용자 또는 AWS Identity and Access Management(IAM) 역할에 다음 권한이 필요합니다. IAM 콘솔(https://console.aws.amazon.com/iam/)을 사용해 이러한 권한을 부여할 수 있습니다.

    1. 테이블 암호화 구성: s3tables:PutTableEncryption

    2. 사용된 AWS KMS 키의 kms:DescribeKey

  2. KMS 키에 대한 리소스 정책에는 다음 권한이 필요합니다. AWS KMS 콘솔(https://console.aws.amazon.com/kms)을 사용하여 이러한 권한을 부여할 수 있습니다.

    1. metadata.s3.amazonaws.commaintenance.s3tables.amazonaws.comkms:GenerateDataKey 권한 부여

    2. metadata.s3.amazonaws.commaintenance.s3tables.amazonaws.comkms:Decrypt 권한 부여

    3. AWS 위탁자 간접 호출에 대한 kms:DescribeKey 권한

이러한 권한 외에도 테이블을 암호화하는 데 사용되는 고객 관리형 KMS 키가 여전히 존재하고 활성 상태이며 범용 버킷과 동일한 리전에 있는지 확인합니다.

예제 정책

메타데이터 테이블 및 테이블 버킷을 생성하고 작업하려면 다음 예시 정책을 사용할 수 있습니다. 이 정책에서는 메타데이터 테이블 구성을 적용하는 범용 버킷을 amzn-s3-demo-bucket이라고 합니다. 이 정책을 사용하려면 user input placeholders를 실제 정보로 대체합니다.

메타데이터 테이블 구성을 만들 때 메타데이터 테이블이 AWS 관리형 테이블 버킷에 저장됩니다. 계정 및 동일한 리전의 모든 메타데이터 테이블 구성은 aws-s3라는 단일 AWS 관리형 테이블 버킷에 저장됩니다.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PermissionsToWorkWithMetadataTables", "Effect": "Allow", "Action": [ "s3:CreateBucketMetadataTableConfiguration", "s3:GetBucketMetadataTableConfiguration", "s3:DeleteBucketMetadataTableConfiguration", "s3:UpdateBucketMetadataJournalTableConfiguration", "s3:UpdateBucketMetadataInventoryTableConfiguration", "s3tables:*", "kms:DescribeKey" ], "Resource": [ "arn:aws:s3:::bucket/amzn-s3-demo-bucket", "arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3", "arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3/table/*" ] } ] }

메타데이터 테이블을 쿼리하려면 다음 예제 정책을 사용할 수 있습니다. 메타데이터 테이블이 SSE-KMS로 암호화된 경우 표시된 대로 kms:Decrypt 권한이 필요합니다. 이 정책을 사용하려면 user input placeholders를 실제 정보로 대체합니다.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PermissionsToQueryMetadataTables", "Effect": "Allow", "Action": [ "s3tables:GetTable", "s3tables:GetTableData", "s3tables:GetTableMetadataLocation", "kms:Decrypt" ], "Resource": [ "arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3", "arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3/table/*" ] } ] }