메타데이터 테이블 구성 권한 설정
메타데이터 테이블 구성 권한 설정 (Setting up permissions for configuring metadata tables)
메타데이터 테이블 구성을 만들려면 메타데이터 테이블 구성을 생성·관리하고, 메타데이터 테이블과 메타데이터 테이블이 저장되는 테이블 버킷을 생성·관리하는 데 필요한 AWS Identity and Access Management(IAM) 권한이 있어야 해요.
출처: 문서
본문
메타데이터 테이블 구성을 생성·관리하려면 다음 권한이 필요해요.
-
s3:CreateBucketMetadataTableConfiguration– 범용 버킷에 대한 메타데이터 테이블 구성을 만들 수 있게 해주는 권한이에요. 메타데이터 테이블 구성을 만들려면 다음 절에서 설명하는 것처럼 S3 Tables 권한을 포함한 추가 권한이 필요해요. 필요한 권한 요약은 버킷 작업 및 권한을 참고하세요. -
s3:GetBucketMetadataTableConfiguration– 메타데이터 테이블 구성에 대한 정보를 검색할 수 있게 해주는 권한이에요. -
s3:DeleteBucketMetadataTableConfiguration– 메타데이터 테이블 구성을 삭제할 수 있게 해주는 권한이에요. -
s3:UpdateBucketMetadataJournalTableConfiguration– 저널 테이블 레코드가 만료되도록 저널 테이블 구성을 업데이트할 수 있게 해주는 권한이에요. -
s3:UpdateBucketMetadataInventoryTableConfiguration– 인벤토리 테이블을 활성화하거나 비활성화하도록 인벤토리 테이블 구성을 업데이트할 수 있게 해주는 권한이에요. 인벤토리 테이블 구성을 업데이트하려면 S3 Tables 권한을 포함한 추가 권한이 필요해요. 필요한 권한 목록은 버킷 작업 및 권한을 참고하세요. -
s3:UpdateBucketMetadataAnnotationTableConfiguration– 주석 테이블을 활성화하거나 비활성화하도록 주석 테이블 구성을 업데이트할 수 있게 해주는 권한이에요. 주석 테이블 구성을 업데이트하려면 S3 Tables 권한을 포함한 추가 권한이 필요해요. 필요한 권한 목록은 버킷 작업 및 권한을 참고하세요.참고
s3:CreateBucketMetadataTableConfiguration,s3:GetBucketMetadataTableConfiguration,s3:DeleteBucketMetadataTableConfiguration권한은 V1 및 V2 S3 Metadata 구성 모두에 사용돼요. V2의 경우 해당 API 작업 이름은CreateBucketMetadataConfiguration,GetBucketMetadataConfiguration,DeleteBucketMetadataConfiguration이에요. -
iam:PassRole– 주석 테이블을 포함하는 Amazon S3 Metadata 구성을 만들려면 주석 테이블 IAM 역할을 전달할 수 있는 이 권한이 필요해요. 호출자의 IAM 정책에 다음 문장을 추가하세요.
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::123456789012:role/annotation-table-role",
"Condition": {"StringEquals": {"iam:PassedToService": "metadata.s3.amazonaws.com"}}
}
테이블과 테이블 버킷을 생성하고 작업하려면 특정 s3tables 권한이 필요해요. 최소한 메타데이터 테이블 구성을 만들려면 다음 s3tables 권한이 있어야 해요.
s3tables:CreateTableBucket– AWS 관리형 테이블 버킷을 만들 수 있게 해주는 권한이에요. 계정 내 같은 리전의 모든 메타데이터 테이블 구성은aws-s3이라는 이름의 단일 AWS 관리형 테이블 버킷에 저장돼요. 자세한 내용은 메타데이터 테이블 작동 방식과 AWS 관리형 테이블 버킷 작업을 참고하세요.s3tables:CreateNamespace– 테이블 버킷에 네임스페이스를 만들 수 있게 해주는 권한이에요. 메타데이터 테이블은 일반적으로b_general_purpose_bucket_name네임스페이스를 사용해요. 메타데이터 테이블 네임스페이스에 대한 자세한 내용은 메타데이터 테이블 작동 방식을 참고하세요.s3tables:CreateTable– 메타데이터 테이블을 만들 수 있게 해주는 권한이에요.s3tables:GetTable– 메타데이터 테이블에 대한 정보를 검색할 수 있게 해주는 권한이에요.s3tables:PutTablePolicy– 메타데이터 테이블 정책을 추가하거나 업데이트할 수 있게 해주는 권한이에요.s3tables:PutTableEncryption– 메타데이터 테이블에 서버 측 암호화를 설정할 수 있게 해주는 권한이에요. AWS Key Management Service(AWS KMS) 키를 사용한 서버 측 암호화(SSE-KMS)로 메타데이터 테이블을 암호화하려면 추가 권한이 필요해요. 자세한 내용은 SSE-KMS 권한을 참고하세요.kms:DescribeKey– KMS 키에 대한 정보를 검색할 수 있게 해주는 권한이에요.s3tables:PutTableBucketPolicy– 새 테이블 버킷 정책을 만들거나 업데이트할 수 있게 해주는 권한이에요.
모든 테이블 및 테이블 버킷 권한에 대한 자세한 내용은 S3 Tables 접근 관리를 참고하세요.
중요 메타데이터 테이블을 조회할 수 있도록 테이블 버킷을 AWS 분석 서비스와 통합하려면 추가 권한이 필요해요. 자세한 내용은 Amazon S3 Tables와 AWS 분석 서비스 통합을 참고하세요.
SSE-KMS 권한 (Permissions for SSE-KMS)
메타데이터 테이블을 AWS Key Management Service(AWS KMS) 키를 사용한 서버 측 암호화(SSE-KMS)로 암호화하려면 추가 권한이 필요해요.
- 사용자 또는 AWS Identity and Access Management(IAM) 역할에 다음 권한이 필요해요. IAM 콘솔을 사용해 이 권한을 부여할 수 있어요: https://console.aws.amazon.com/iam/.
- 테이블 암호화를 구성하는
s3tables:PutTableEncryption - 사용된 AWS KMS 키에 대한
kms:DescribeKey
- 테이블 암호화를 구성하는
- KMS 키의 리소스 정책에는 다음 권한이 필요해요. AWS KMS 콘솔을 사용해 이 권한을 부여할 수 있어요: https://console.aws.amazon.com/kms.
metadata.s3.amazonaws.com및maintenance.s3tables.amazonaws.com에kms:GenerateDataKey권한 부여metadata.s3.amazonaws.com및maintenance.s3tables.amazonaws.com에kms:Decrypt권한 부여- 호출하는 AWS 보안 주체에
kms:DescribeKey권한 부여
이러한 권한 외에도 테이블 암호화에 사용되는 고객 관리형 KMS 키가 여전히 존재하고 활성 상태이며 범용 버킷과 같은 리전에 있는지 확인하세요.
예시 정책 (Example policy)
메타데이터 테이블과 테이블 버킷을 생성하고 작업하려면 다음 예시 정책을 사용할 수 있어요. 이 정책에서 메타데이터 테이블 구성을 적용하는 범용 버킷은 amzn-s3-demo-bucket이라고 지칭해요. 이 정책을 사용하려면 user input placeholders를 자신의 정보로 바꾸세요.
메타데이터 테이블 구성을 만들면 메타데이터 테이블이 AWS 관리형 테이블 버킷에 저장돼요. 계정 내 같은 리전의 모든 메타데이터 테이블 구성은 aws-s3이라는 이름의 단일 AWS 관리형 테이블 버킷에 저장돼요.
{
"Version":"2012-10-17",
"Statement": [
{
"Sid": "PermissionsToWorkWithMetadataTables",
"Effect": "Allow",
"Action": [
"s3:CreateBucketMetadataTableConfiguration",
"s3:GetBucketMetadataTableConfiguration",
"s3:DeleteBucketMetadataTableConfiguration",
"s3:UpdateBucketMetadataJournalTableConfiguration",
"s3:UpdateBucketMetadataInventoryTableConfiguration",
"s3:UpdateBucketMetadataAnnotationTableConfiguration",
"s3tables:*",
"kms:DescribeKey"
],
"Resource": [
"arn:aws:s3:::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/*",
"arn:aws:kms:Region:Account:key/KmsKeyId"
]
}
]
}
메타데이터 테이블을 조회하려면 다음 예시 정책을 사용할 수 있어요. 메타데이터 테이블이 SSE-KMS로 암호화된 경우 표시된 대로 kms:Decrypt 권한이 필요해요. 이 정책을 사용하려면 user input placeholders를 자신의 정보로 바꾸세요.
{
"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/*",
"arn:aws:kms:Region:Account:key/KmsKeyId"
]
}
]
}