

# 디렉터리 버킷에 대해 S3 Access Points에서 태그 사용
<a name="access-points-db-tagging"></a>

AWS 태그는 리소스, 이 경우 디렉터리 버킷에 대한 Amazon S3 Access Points를 포함하는 키-값 페어입니다. 액세스 포인트를 만들거나 기존 액세스 포인트에서 태그를 관리할 때 액세스 포인트에 태그를 지정할 수 있습니다. 태그에 대한 일반적인 정보는 [비용 할당 또는 속성 기반 액세스 제어(ABAC)를 위한 태그 지정](tagging.md) 섹션을 참조하세요.

**참고**  
디렉터리 버킷에 대해 액세스 포인트에 태그를 사용하는 데 표준 S3 API 요청 요금 외에는 추가 요금이 부과되지 않습니다. 자세한 내용은 [Amazon S3 요금](https://aws.amazon.com/s3/pricing/)을 참조하세요.

## 디렉터리 버킷에 대한 액세스 포인트와 함께 태그를 사용하는 일반적인 방법
<a name="common-ways-to-use-tags-access-points-db"></a>

속성 기반 액세스 제어(ABAC)를 사용하면 액세스 권한의 규모를 조정하고 태그를 기반으로 디렉터리 버킷의 액세스 포인트에 대한 액세스 권한을 부여할 수 있습니다. Amazon S3의 ABAC에 대한 자세한 내용은 [Using tags for ABAC](https://docs.aws.amazon.com/AmazonS3/latest/userguide/tagging.html#using-tags-for-abac)를 참조하세요.

### S3 Access Points에 대한 ABAC
<a name="abac-for-access-points-db"></a>

Amazon S3 Access Points는 태그를 사용한 속성 기반 액세스 제어(ABAC)를 지원합니다. AWS 조직, IAM 및 Access Points 정책에서 태그 기반 조건 키를 사용합니다. 엔터프라이즈의 경우 Amazon S3의 ABAC는 여러 AWS 계정에 대한 권한 부여를 지원합니다.

IAM 정책에서 다음 [전역 조건 키](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys)를 사용하여 버킷의 태그를 기반으로 디렉터리 버킷의 액세스 포인트에 대한 액세스를 제어할 수 있습니다.
+ `aws:ResourceTag/key-name`
  + 이 키를 사용하여 정책에서 지정한 태그 키-값 쌍을 리소스에 연결된 키-값 쌍과 비교합니다. 예를 들어 리소스에 값이 `Dept`인 태그 키 `Marketing`와 연결된 경우에만 리소스에 대한 액세스가 필요할 수 있습니다. 자세한 내용은 [AWS 리소스에 대한 액세스 제어](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html#access_tags_control-resources)를 참조하십시오.
+ `aws:RequestTag/key-name`
  + 이 키를 사용하여 요청에서 전달된 태그 키 값 페어를 정책에서 지정한 태그 페어와 비교합니다. 예를 들어, 요청에 태그 키 `Dept`가 포함되어 있으며 값이 `Accounting`인지 확인할 수 있습니다. 자세한 내용은 [AWS 요청 중 액세스 제어](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html#access_tags_control-requests)를 참조하세요. 이 조건 키를 사용하여 `TagResource` 및 `CreateAccessPoint` API 작업 중에 전달할 수 있는 태그 키-값 페어를 제한할 수 있습니다.
+ `aws:TagKeys`
  + 이 키를 사용하여 요청의 태그 키를 정책에서 지정한 키와 비교합니다. 정책을 사용하여 태그를 통해 액세스를 제어할 때 `aws:TagKeys` 조건 키를 사용하여 어떤 태그 키가 허용되는지 정의하는 것이 좋습니다. 예시 정책과 자세한 내용은 [태그 키를 기반으로 액세스 제어](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html#access_tags_control-tag-keys)를 참조하세요. 태그가 있는 디렉터리 버킷에 대한 액세스 포인트를 만들 수 있습니다. `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 정책 예제
<a name="example-access-points-db-abac-policies"></a>

디렉터리 버킷의 액세스 포인트에 대한 다음 ABAC 정책 예제를 확인하세요.

#### 1.1 - 특정 태그가 있는 액세스 포인트를 만들거나 수정하는 IAM 정책
<a name="example-access-points-db-user-policy-request-tag"></a>

이 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 - 태그를 사용하여 버킷에 대한 작업을 제한하는 액세스 포인트 정책
<a name="example-access-points-db-user-policy-resource-tag"></a>

이 액세스 포인트 정책에서 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/my-access-point",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/project": "${aws:PrincipalTag/project}"
        }
      }
    }
  ]
}
```

#### 1.3 - 태그 지정 거버넌스를 유지 관리하는 기존 리소스의 태그를 수정하는 IAM 정책
<a name="example-access-points-db-user-policy-tag-keys"></a>

이 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/my-access-point",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/project": "${aws:PrincipalTag/project}"
        },
        "ForAllValues:StringEquals": {
          "aws:TagKeys": [
            "project",
            "environment",
            "owner",
            "cost-center"
          ]
        }
      }
    }
  ]
}
```

#### 1.4 - s3express:AccessPointTag 조건 키 사용
<a name="example-access-points-db-policy-bucket-tag"></a>

이 IAM 정책에서 조건문은 버킷 액세스에 사용되는 액세스 포인트에 태그 키 `Environment` 및 태그 값 `Production`이 있는 경우에만 버킷의 데이터에 대한 액세스를 허용합니다.

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowAccessToSpecificAccessPoint",
      "Effect": "Allow",
      "Action": "*",
      "Resource": "arn:aws::s3express:region:111122223333:accesspoint/my-access-point",
      "Condition": {
        "StringEquals": {
          "s3express:AccessPointTag/Environment": "Production"
        }
      }
    }
  ]
}
```

## 디렉터리 버킷의 액세스 포인트에 대한 태그 작업
<a name="working-with-tags-access-points-db"></a>

Amazon S3 콘솔, AWS Command Line Interface(CLI), AWS SDK를 사용하거나 S3 API [TagResource](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_TagResource.html), [UntagResource](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UntagResource.html) 및 [ListTagsForResource](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListTagsForResource.html)를 사용하여 디렉터리 버킷의 액세스 포인트에 대한 태그를 추가하거나 관리할 수 있습니다. 자세한 내용은 다음을 참조하세요.

**Topics**
+ [디렉터리 버킷에 대한 액세스 포인트와 함께 태그를 사용하는 일반적인 방법](#common-ways-to-use-tags-access-points-db)
+ [디렉터리 버킷의 액세스 포인트에 대한 태그 작업](#working-with-tags-access-points-db)
+ [태그가 있는 디렉터리 버킷의 액세스 포인트 만들기](access-points-db-create-tag.md)
+ [디렉터리 버킷의 액세스 포인트에 태그 추가](access-points-db-tag-add.md)
+ [디렉터리 버킷의 액세스 포인트 태그 보기](access-points-db-tag-view.md)
+ [디렉터리 버킷의 액세스 포인트에서 태그 삭제](access-points-db-tag-delete.md)