디렉터리 버킷에 대해 S3 Access Points에서 태그 사용
AWS 태그는 리소스, 이 경우 디렉터리 버킷에 대한 Amazon S3 Access Points를 포함하는 키-값 페어입니다. 액세스 포인트를 만들거나 기존 액세스 포인트에서 태그를 관리할 때 액세스 포인트에 태그를 지정할 수 있습니다. 태그에 대한 일반적인 정보는 비용 할당 또는 속성 기반 액세스 제어(ABAC)를 위한 태그 지정 섹션을 참조하세요.
참고
디렉터리 버킷에 대해 액세스 포인트에 태그를 사용하는 데 표준 S3 API 요청 요금 외에는 추가 요금이 부과되지 않습니다. 자세한 내용은 Amazon S3 요금
디렉터리 버킷에 대한 액세스 포인트와 함께 태그를 사용하는 일반적인 방법
속성 기반 액세스 제어(ABAC)를 사용하면 액세스 권한의 규모를 조정하고 태그를 기반으로 디렉터리 버킷의 액세스 포인트에 대한 액세스 권한을 부여할 수 있습니다. Amazon S3의 ABAC에 대한 자세한 내용은 Using tags for ABAC를 참조하세요.
S3 Access Points에 대한 ABAC
Amazon S3 Access Points는 태그를 사용한 속성 기반 액세스 제어(ABAC)를 지원합니다. AWS 조직, IAM 및 Access Points 정책에서 태그 기반 조건 키를 사용합니다. 엔터프라이즈의 경우 Amazon S3의 ABAC는 여러 AWS 계정에 대한 권한 부여를 지원합니다.
IAM 정책에서 다음 전역 조건 키를 사용하여 버킷의 태그를 기반으로 디렉터리 버킷의 액세스 포인트에 대한 액세스를 제어할 수 있습니다.
-
aws:ResourceTag/key-name
-
이 키를 사용하여 정책에서 지정한 태그 키-값 쌍을 리소스에 연결된 키-값 쌍과 비교합니다. 예를 들어 리소스에 값이
Marketing
인 태그 키Dept
와 연결된 경우에만 리소스에 대한 액세스가 필요할 수 있습니다. 자세한 내용은 AWS 리소스에 대한 액세스 제어를 참조하십시오.
-
-
aws:RequestTag/key-name
-
이 키를 사용하여 요청에서 전달된 태그 키 값 페어를 정책에서 지정한 태그 페어와 비교합니다. 예를 들어, 요청에 태그 키
Dept
가 포함되어 있으며 값이Accounting
인지 확인할 수 있습니다. 자세한 내용은 AWS 요청 중 액세스 제어를 참조하세요. 이 조건 키를 사용하여TagResource
및CreateAccessPoint
API 작업 중에 전달할 수 있는 태그 키-값 페어를 제한할 수 있습니다.
-
-
aws:TagKeys
-
이 키를 사용하여 요청의 태그 키를 정책에서 지정한 키와 비교합니다. 정책을 사용하여 태그를 통해 액세스를 제어할 때
aws:TagKeys
조건 키를 사용하여 어떤 태그 키가 허용되는지 정의하는 것이 좋습니다. 예시 정책과 자세한 내용은 태그 키를 기반으로 액세스 제어를 참조하세요. 태그가 있는 디렉터리 버킷에 대한 액세스 포인트를 만들 수 있습니다.CreateAccessPoint
API 작업 중에 태그 지정을 허용하려면s3express:TagResource
및s3express:CreateAccessPoint
작업을 모두 포함하는 정책을 생성해야 합니다. 그런 다음aws:TagKeys
조건 키를 사용하여CreateAccessPoint
요청 내 특정 태그 사용을 강제 적용할 수 있습니다.
-
-
s3express:AccessPointTag/tag-key
-
이 조건 키를 사용하여 태그를 사용하는 액세스 포인트를 통해 특정 데이터에 권한을 부여합니다. IAM 정책에서
aws:ResourceTag/tag-key
를 사용할 때는 액세스 포인트와 해당 액세스 포인트가 가리키는 버킷 모두 동일한 태그를 가져야 합니다. 이는 두 리소스 모두가 권한 부여 시 고려되기 때문입니다. access-point 태그만을 사용해 데이터에 대한 액세스를 제어하려는 경우s3express:AccessPointTag/tag-key
조건 키를 사용할 수 있습니다.
-
디렉터리 버킷의 액세스 포인트에 대한 ABAC 정책 예제
디렉터리 버킷의 액세스 포인트에 대한 다음 ABAC 정책 예제를 확인하세요.
1.1 - 특정 태그가 있는 액세스 포인트를 만들거나 수정하는 IAM 정책
이 IAM 정책에서 이 정책을 사용하는 사용자 또는 역할은 액세스 포인트 생성 요청에서 태그 키 project
및 태그 값 Trinity
로 액세스 포인트에 태그를 지정하는 경우에만 액세스 포인트를 만들 수 있습니다. TagResource
요청에 태그 키-값 페어 project:Trinity
가 포함되어 있는 한 디렉터리 버킷에 대한 기존 액세스 포인트에 태그를 추가하거나 수정할 수도 있습니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateAccessPointWithTags", "Effect": "Allow", "Action": [ "s3express:CreateAccessPoint", "s3express:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/project": [ "
Trinity
" ] } } } ] }
1.2 - 태그를 사용하여 버킷에 대한 작업을 제한하는 액세스 포인트 정책
이 액세스 포인트 정책에서 IAM 위탁자(사용자 및 역할)는 액세스 포인트의 project
태그의 값이 위탁자의 project
태그 값과 일치하는 경우에만 액세스 포인트에 대한 CreateSession
작업을 사용하여 작업을 수행할 수 있습니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowObjectOperations", "Effect": "Allow", "Principal": { "AWS": "
111122223333
" }, "Action": "s3express:CreateSession", "Resource": "arn:aws::s3express:region
:111122223333
:access-point/", "Condition": { "StringEquals": { "aws:ResourceTag/project": "${aws:PrincipalTag/project}" } } } ] }
my-access-point
1.3 - 태그 지정 거버넌스를 유지 관리하는 기존 리소스의 태그를 수정하는 IAM 정책
이 IAM 정책에서 IAM 위탁자(사용자 또는 역할)는 액세스 포인트의 project
태그 값이 위탁자의 project
태그 값과 일치하는 경우에만 액세스 포인트의 태그를 수정할 수 있습니다. 이러한 액세스 포인트에는 aws:TagKeys
조건 키에 지정된 태그 네 개, 즉 project
, environment
, owner
및 cost-center
만 허용됩니다. 이렇게 하면 태그 거버넌스를 강제 적용하고, 무단 태그 수정을 방지하고, 액세스 포인트 간에 태그 지정 스키마를 일관되게 유지할 수 있습니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceTaggingRulesOnModification", "Effect": "Allow", "Action": [ "s3express:TagResource" ], "Resource": "arn:aws::s3express:
region
:111122223333
:accesspoint/", "Condition": { "StringEquals": { "aws:ResourceTag/project": "${aws:PrincipalTag/project}" }, "ForAllValues:StringEquals": { "aws:TagKeys": [ "
my-access-point
project
", "environment
", "owner
", "cost-center
" ] } } } ] }
1.4 - s3express:AccessPointTag 조건 키 사용
이 IAM 정책에서 조건문은 버킷 액세스에 사용되는 액세스 포인트에 태그 키 Environment
및 태그 값 Production
이 있는 경우에만 버킷의 데이터에 대한 액세스를 허용합니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAccessToSpecificAccessPoint", "Effect": "Allow", "Action": "*", "Resource": "arn:aws::s3express:
region
:111122223333
:accesspoint/", "Condition": { "StringEquals": { "s3express:AccessPointTag/Environment": "Production" } } } ] }
my-access-point
디렉터리 버킷의 액세스 포인트에 대한 태그 작업
Amazon S3 콘솔, AWS Command Line Interface(CLI), AWS SDK를 사용하거나 S3 API TagResource, UntagResource 및 ListTagsForResource를 사용하여 디렉터리 버킷의 액세스 포인트에 대한 태그를 추가하거나 관리할 수 있습니다. 자세한 내용은 다음을 참조하세요.