

# 비용 할당 또는 속성 기반 액세스 제어(ABAC)를 위한 태그 지정
<a name="tagging"></a>

AWS 태그는 메타데이터를 포함하는 키-값 페어입니다. 버킷과 같은 Amazon S3 리소스에 태그를 연결합니다. 리소스를 만들 때 리소스에 태그를 지정하거나 기존 리소스의 태그를 관리할 수 있습니다. 태그를 사용하는 데는 표준 S3 API 요청 요금 외에는 추가 요금이 부과되지 않습니다. 자세한 내용은 [Amazon S3 요금](https://aws.amazon.com/s3/pricing/)을 참조하세요.

## 태그 작동 방식
<a name="how-tags-work"></a>

Amazon S3는 다음 두 가지 유형의 태그를 지원합니다.
+ **AWS가 생성한 태그:** AWS는 이러한 태그를 자동으로 적용하며 사용자가 수정하거나 제거할 수 없습니다. AWS가 생성한 태그에 대한 자세한 내용은 [AWS-generated tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/aws-tags.html)를 참조하세요.
+ **사용자 정의 태그:** 이러한 태그를 S3 리소스에 적용하여 관리합니다.

### 사용자 정의 태그
<a name="user-defined-tags"></a>

사용자 정의 태그는 리소스에 레이블을 지정하는 데 사용하는 태그 키-값 페어입니다. 사용자 정의 태그는 필수 키와 선택적 값으로 구성됩니다. 다음은 사용자 정의 태그의 주요 구성 요소입니다.

#### 태그 키
<a name="tag-key"></a>

태그 키는 태그의 필수 이름입니다. 예를 들어 `project`는 다음 태그 키-값 페어의 태그 키입니다.


| 키 | 값 | 
| --- | --- | 
| project | Trinity | 

태그 키는 대/소문자 구분 문자열로, 유니코드 문자 1\$1128자를 포함해야 합니다. 키에는 유니코드 문자 또는 숫자, 공백 및 다음 기호를 포함할 수 있습니다.
+ `_` - 밑줄
+ `.` - 마침표
+ `:` - 콜론
+ `/` - 슬래시
+ `=` - 같음 기호
+ `+` - 더하기 기호
+ `@` - at 기호
+ `-` - 대시

#### 태그 값
<a name="tag-value"></a>

태그 값은 선택적 문자열입니다. 예를 들어 `Trinity`는 이 태그 키-값 페어의 태그 값입니다.


| 키 | 값 | 
| --- | --- | 
| project | Trinity | 

태그 값은 대/소문자 구분 문자열로, 유니코드 문자 0\$1256자를 포함할 수 있습니다. 값에는 유니코드 문자 또는 숫자, 공백 및 다음 기호를 포함할 수 있습니다.
+ `_` - 밑줄
+ `.` - 마침표
+ `:` - 콜론
+ `/` - 슬래시
+ `=` - 같음 기호
+ `+` - 더하기 기호
+ `@` - at 기호
+ `-` - 대시

사용자 정의 태그에서 허용되는 문자와 기타 제한에 대한 세부 정보는 *AWS 결제 및 비용 관리 사용 설명서*의 [User-Defined Tag Restrictions](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/custom-tags.html#allocation-tag-restrictions)을 참조하세요.

#### 태그 세트
<a name="tag-set"></a>

각 S3 리소스에는 해당 버킷에 할당된 모든 태그 키와 값 페어를 포함하는 하나의 *태그 세트*가 있습니다. 태그 세트는 비어 있거나, 객체에 태그를 지정하는 경우를 제외하면 최대 50개의 사용자 정의 태그를 포함할 수 있습니다. 객체마다 태그를 10개까지만 포함할 수 있습니다.

각 키는 태그 세트 내에서 고유해야 하지만 동일한 값을 여러 번 사용할 수 있습니다. 예를 들어 다음 두 태그 키의 값이 `Trinity`로 동일할 수 있습니다.


| 키 | 값 | 
| --- | --- | 
| project | Trinity | 
| cost-center | Trinity | 

기존 태그와 동일한 키를 가진 태그를 추가하면 새 값이 기존 값을 덮어씁니다.

AWS는 태그에 의미론적 의미를 적용하지 않습니다. 태그는 엄격히 문자열로 해석됩니다.

Amazon S3 콘솔, AWS Command Line Interface(AWS CLI) 또는 Amazon S3 API를 사용하여 태그를 추가, 나열, 수정 또는 삭제할 수 있습니다.

## 태그를 사용하는 일반적인 방법
<a name="common-ways-to-use-tags"></a>

다음을 위해 S3 리소스에 태그를 사용합니다.

1. **비용 할당** - AWS 결제 및 비용 관리에서 버킷 태그별로 스토리지 비용을 추적합니다.

1. **속성 기반 액세스 제어(ABAC)** - 액세스 권한의 규모를 조정하고 태그를 기반으로 S3 리소스에 대한 액세스 권한을 부여합니다.

**참고**  
비용 할당과 액세스 제어에 동일한 태그를 사용할 수 있습니다.

### 비용 할당에 태그 사용
<a name="using-tags-for-cost-allocation"></a>

S3 리소스에 태그를 적용하고 이러한 태그를 비용 할당에 활성화하여 Amazon S3 스토리지 비용을 추적합니다.

비용 추적을 시작하는 방법:

1. S3 리소스에 태그를 추가하거나 기존 태그를 사용합니다. 예를 들어 프로젝트 또는 프로젝트 그룹을 식별하는 태그로 버킷에 레이블을 지정할 수 있습니다.

1. AWS 결제 및 비용 관리 콘솔에서 비용 할당을 위해 태그를 활성화합니다. *AWS 결제 및 비용 관리 사용 설명서*에서 [Activating user-defined cost allocation tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/activating-tags.html)를 참조하세요. 사용자 정의 태그 또는 AWS가 생성한 태그를 활성화할 수 있습니다. 자세한 내용은 [Organizing and tracking costs using AWS cost allocation tags](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)를 참조하세요.

AWS는 활성화된 태그를 사용하여 다음과 같은 다양한 결제 및 비용 관리 도구에서 리소스 비용을 정리합니다.
+ **비용 할당 보고서**

  활성화된 태그별로 정리된 비용에 대한 개괄적인 보기를 제공합니다. 자세한 내용은 *AWS 결제 사용 설명서*에서 [Using the monthly cost allocation report](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/configurecostallocreport.html)를 참조하세요.
+ **비용 및 사용량 보고서(CUR)**

  태그 기반 비용 분석을 포함하여 가장 상세한 AWS 비용 및 사용량 데이터 세트를 제공합니다. 자세한 내용은 *AWS Data Exports 사용 설명서*의 [What are AWS Cost and Usage Reports?](https://docs.aws.amazon.com/cur/latest/userguide/what-is-cur.html)를 참조하세요.

#### 태그를 사용한 비용 추적을 지원하는 Amazon S3 리소스
<a name="cost-resources"></a>

다음 Amazon S3 리소스는 태그를 사용한 스토리지 비용 추적을 지원합니다.
+ **S3 범용 버킷 **

  자세한 내용은 [S3 범용 버킷과 함께 태그 사용](buckets-tagging.md) 섹션을 참조하세요.
+ **S3 디렉터리 버킷**

  자세한 내용은 [S3 디렉터리 버킷에서 태그 사용](directory-buckets-tagging.md) 섹션을 참조하세요.
+ **S3 테이블**

  자세한 내용은 [S3 테이블에서 태그 사용](table-tagging.md) 섹션을 참조하세요.
+ **S3 벡터 인덱스**

  자세한 내용은 [S3 벡터 인덱스에서 태그 사용](vector-index-tagging.md) 섹션을 참조하세요.

### 속성 기반 액세스 제어(ABAC)에 태그 사용
<a name="using-tags-for-abac"></a>

속성 기반 액세스 제어(ABAC)는 속성, 즉 태그를 기반으로 권한을 정의하는 권한 부여 전략입니다. AWS Identity and Access Management(IAM) 엔터티(사용자 또는 역할) 및 Amazon S3 Access Points 및 디렉터리 버킷과 같은 AWS 리소스에 태그를 연결할 수 있습니다. 그런 다음 액세스 제어 정책의 태그 기반 조건을 사용해 이러한 리소스에 대한 권한을 제어하여 이러한 조건이 충족될 때 작업을 허용하거나 거부합니다.

ABAC를 사용하면 AWS 조직, IAM 및 S3 리소스 정책에서 태그 기반 조건 키를 사용할 수 있습니다. 엔터프라이즈의 경우 Amazon S3의 ABAC는 여러 AWS 계정에 대한 권한 부여를 지원합니다.

IAM 정책에서 [전역 조건 키](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys)를 사용하여 버킷의 태그를 기반으로 S3 리소스에 대한 액세스를 제어할 수 있습니다.

**지원되는 조건 키**  
ABAC를 지원하는 모든 Amazon S3 리소스에 대해 다음 AWS 조건 키를 사용할 수 있습니다.
+ `aws:ResourceTag/key-name`
+ `aws:RequestTag/key-name`
+ `aws:TagKeys`

일부 리소스는 추가 Amazon S3 조건 키를 지원합니다. ABAC 및 예제 정책에 사용할 수 있는 조건 키의 전체 목록은 리소스에 대한 다음 태그 지정 주제를 참조하세요.

#### ABAC를 지원하는 Amazon S3 리소스
<a name="abac-resources"></a>

다음 Amazon S3 리소스는 태그를 사용한 속성 기반 액세스 제어(ABAC)를 지원합니다.
+ **S3 범용 버킷 **

  자세한 내용은 [S3 범용 버킷과 함께 태그 사용](buckets-tagging.md) 섹션을 참조하세요.
+ **액세스 포인트**

  자세한 내용은 [범용 버킷의 S3 Access Points와 함께 태그 사용](access-points-tagging.md) 및 [디렉터리 버킷에 대해 S3 Access Points에서 태그 사용](access-points-db-tagging.md)(을)를 참조하세요.
+ **배치 작업**

  자세한 내용은 [태그를 사용하여 액세스 제어 및 작업 레이블 지정](batch-ops-job-tags.md) 섹션을 참조하세요.
+ **S3 디렉터리 버킷**

  자세한 내용은 [S3 디렉터리 버킷에서 태그 사용](directory-buckets-tagging.md) 섹션을 참조하세요.
+ **Objects**

  자세한 내용은 [태그를 사용하여 객체 분류](object-tagging.md) 섹션을 참조하세요.
+ **S3 Access Grants**

  자세한 내용은 [S3 Access Grants의 태그 관리](access-grants-tagging.md) 섹션을 참조하세요.
+ **S3 Storage Lens 그룹**

  자세한 내용은 [Storage Lens 그룹을 통한 AWS 리소스 태그 관리](storage-lens-groups-manage-tags.md) 섹션을 참조하세요.
+ **S3 테이블 버킷 및 테이블**

  자세한 내용은 [S3 테이블 버킷에서 태그 사용](table-bucket-tagging.md) 및 [S3 테이블에서 태그 사용](table-tagging.md)(을)를 참조하세요.
+ **S3 Vectors 버킷 및 인덱스**

  자세한 내용은 [S3 벡터 버킷에서 태그 사용](s3-vectors-tags.md) 및 [S3 벡터 인덱스에서 태그 사용](vector-index-tagging.md)(을)를 참조하세요.

## 태그 지정 전략 계획
<a name="tagging-strategy"></a>

각 리소스 유형에 대한 요건을 충족하는 태그 키 세트를 고안하는 것이 좋습니다. 일관된 태그 키 세트를 사용하면 리소스를 보다 쉽게 관리할 수 있습니다. 추가하는 태그에 따라 리소스를 검색하고 필터링할 수 있습니다. 효과적인 리소스 태깅 전략을 구현하는 방법에 관한 자세한 내용은 [태깅 모범 사례 AWS 백서](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-best-practices.html)를 참조하세요.

**Amazon S3 리소스에 태그를 지정하는 모범 사례**  
태그를 사용할 때는 다음 모범 사례를 준수하는 것이 좋습니다.
+ 조직의 모든 팀이 따르는 태그 사용 규칙을 문서화하세요. 특히 이름을 설명적이면서도 일관성 있게 지어야 합니다. 예를 들어 일부 리소스에 `env:production`으로 태그를 지정하는 대신 `environment:prod` 형식으로 표준화하세요.
**중요**  
개인 식별 정보(PII)나 기타 기밀 정보 또는 민감한 정보를 태그에 저장하지 마세요.
+ 태그 지정을 자동화하여 일관성을 보장하세요. 예를 들어 CloudFormation 템플릿에 태그를 포함할 수 있습니다. 템플릿으로 리소스를 만들면 리소스에 자동으로 태그가 지정됩니다.
+ 필요한 경우에만 태그를 사용하세요. 불필요한 태그 확산 및 복잡성을 방지합니다.
+ 태그의 관련성과 정확성을 정기적으로 검토하세요. 필요에 따라 오래된 태그를 제거하거나 수정하세요.
+ AWS Management Console의 AWS Tag Editor를 사용하여 태그를 만들어 보세요. Tag Editor를 사용하면 S3 리소스를 비롯한 지원되는 여러 AWS 리소스에 태그를 동시에 추가할 수 있습니다. 자세한 내용은 **AWS 리소스 그룹 사용 설명서의 [Tag Editor](https://docs.aws.amazon.com/ARG/latest/userguide/tag-editor.html)를 참조하세요.

## Amazon S3 리소스에 대한 태그 관리
<a name="manage-tags"></a>

Amazon S3 리소스의 태그를 관리하는 방법에 대한 자세한 내용은 다음을 참조하세요.
+ [범용 버킷의 S3 Access Points와 함께 태그 사용](access-points-tagging.md)
+ [디렉터리 버킷에 대해 S3 Access Points에서 태그 사용](access-points-db-tagging.md)
+ [태그를 사용하여 액세스 제어 및 작업 레이블 지정](batch-ops-job-tags.md)
+ [S3 디렉터리 버킷에서 태그 사용](directory-buckets-tagging.md)
+ [비용 할당 S3 버킷 태그 사용](CostAllocTagging.md)
+ [태그를 사용하여 객체 분류](object-tagging.md)
+ [S3 Access Grants의 태그 관리](access-grants-tagging.md)
+ [Storage Lens 그룹을 통한 AWS 리소스 태그 관리](storage-lens-groups-manage-tags.md)
+ [S3 범용 버킷과 함께 태그 사용](buckets-tagging.md).
+ [S3 벡터 버킷에서 태그 사용](s3-vectors-tags.md)
+ [S3 벡터 인덱스에서 태그 사용](vector-index-tagging.md)