

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Personalize 리소스에 태그 지정
<a name="tagging-resources"></a>

*태그*는 선택적으로 정의하고 특정 유형의 Amazon Personalize AWS 리소스를 포함한 리소스와 연결하는 레이블입니다. 리소스는 최대 50개의 태그를 가질 수 있습니다.

태그를 사용하면 용도, 환경 또는 기타 기준과 같은 다양한 방법으로 리소스를 분류하고 관리하는 데 도움이 됩니다. 예를 들어 태그를 사용하여 여러 기능 간에 수익을 분할하거나 다양한 리소스의 개발 환경을 식별할 수 있습니다.

 Personalizes 리소스를 태그별로 검색하려면 리소스 그룹 태깅 API의 GetResources 작업에 있는 필터를 사용할 수 있습니다. 자세한 내용은 리소스 그룹 태깅 API 참조 가이드의 [GetResources](https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_GetResources.html)를 참조하세요.**

태그를 추가할 수 있는 Personalize 리소스 유형은 다음과 같습니다.
+  배치 추론 작업 
+  배치 세그먼트 작업 
+ Campaigns
+ 데이터세트
+ 데이터세트 그룹
+ 데이터세트 가져오기 및 내보내기 작업
+ 이벤트 트래커
+ 필터
+ 추천자
+ Solutions
+ 솔루션 버전

**Topics**
+ [

# 지침 및 요구 사항
](personalize-managing-tags.md)
+ [

# Personalize 리소스에 태그 추가
](tags-add.md)
+ [

# Amazon Personalize 리소스에서 태그 제거
](tags-remove.md)
+ [

# IAM 정책에서 태그 사용
](tags-iam.md)

# 지침 및 요구 사항
<a name="personalize-managing-tags"></a>

각 태그는 사용자가 정의하는 필수 태그 키와 선택적 태그 값으로 구성됩니다. 태그 키는 더 구체적인 태그 값에 대해 카테고리와 같은 역할을 하는 일반적인 레이블입니다. 태그 값은 태그 키에 대한 설명자 역할을 합니다.

예를 들어 내부 테스트용과 외부 사용을 위한 두 버전의 Personalize 데이터세트 그룹이 있는 경우 `Environment`태그 키를 두 프로젝트 모두에 할당할 수 있습니다. `Environment` 태그의 태그 값은 데이터세트 그룹의 한 버전의 경우 `Test`이고 다른 버전의 경우 `Production`일 수 있습니다.

태그에 적용되는 제한은 다음과 같습니다.
+ 리소스당 최대 태그 수 - 50
+ 최대 키 길이 - UTF-8 형식의 유니코드 문자 128자
+ 최대 값 길이 - UTF-8 형식의 유니코드 문자 256자
+ 태그 키와 값에는 A-Z, a-z, 0-9, 공백 및 \$1 . : / = \$1 @ –(하이픈)이 포함될 수 있습니다. 이것이 태그를 지원하는 AWS 서비스에서 사용할 수 있는 표준 문자 집합입니다. 일부 서비스는 추가 기호를 지원합니다.
+ 태그 키와 태그 값은 대/소문자를 구분합니다.
+ 연결된 각 리소스에 대해 각 태그 키는 고유해야 하고 하나의 태그 값만 가질 수 있습니다.
+ 태그 키와 태그 값은 로 시작할 수 없습니다`aws:`. AWS 서비스는 로 시작하는 태그를 적용`aws:`하며 해당 태그는 수정할 수 없습니다. 이들 태그는 태그 제한에 포함되지 않습니다.
+ 태그만을 기반으로 하는 리소스는 업데이트하거나 삭제할 수 없습니다. 사용하는 작업에 따라 Amazon 리소스 이름(ARN) 또는 리소스 ID도 지정해야 합니다.

## 추가 정보
<a name="tagging-additional-resources-information"></a>

태그 지정에 대한 자세한 내용은 다음 리소스를 참조하세요.
+ *AWS 일반 참조*의 [AWS 태깅 원칙](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) 
+ [AWS 태그 지정 전략](https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf)(다운로드 가능한 PDF)
+ *AWS IAM 사용 설명서*의 [AWS 액세스 제어](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html) 
+ *AWS Organizations 사용 설명서*의 [AWS 정책 태그 지정](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html) 

# Personalize 리소스에 태그 추가
<a name="tags-add"></a>

Personalize 콘솔, AWS Command Line Interface (AWS CLI) 또는 AWS SDKs. 다음 예제는 Personalize 데이터세트 그룹에 태그를 추가하는 방법을 보여줍니다. 동일한 방식으로 다른 Amazon Personalize 리소스에 태그를 추가할 수 있습니다.

**Topics**
+ [

## 태그 추가(콘솔)
](#add-tag-console)
+ [

## 태그 추가(AWS CLI)
](#add-tag-cli)
+ [

## 태그(AWS SDKs) 추가
](#add-tag-sdk)

## 태그 추가(콘솔)
<a name="add-tag-console"></a>



Personalize에서 리소스를 생성할 때 Personalize 콘솔을 사용하여 선택적 태그를 추가할 수 있습니다. 다음 예제에서는 데이터세트 그룹에 태그를 추가합니다.

**새 데이터세트 그룹에 태그를 추가하려면**

1. [https://console.aws.amazon.com/acm-pca/home](https://console.aws.amazon.com/personalize/home)에서 Personalize 콘솔을 열고 계정에 로그인합니다.

1. **데이터세트 그룹 생성**을 선택합니다.

1. **이름**에 이름을 입력합니다.

1. **도메인**에 대해 도메인을 선택합니다.

1. **태그** 섹션을 펼치고 **새 태그 추가**를 선택합니다.

1. **키** 및 **값**에 적절한 값을 입력합니다.

   예를 들어, **Environment**과 **Test**을 각각 입력합니다.

1. 태그를 더 추가하려면 **새 태그 추가**를 선택합니다.

   리소스에 최대 50개의 태그를 추가할 수 있습니다.

1. **다음**을 선택하여 리소스 생성을 계속합니다.

기존 리소스에 태그를 추가하는 것도 비슷합니다. 리소스를 선택하고 **태그** 필드를 사용하여 태그를 추가합니다.

## 태그 추가(AWS CLI)
<a name="add-tag-cli"></a>

리소스를 생성하거나 기존 리소스에 태그를 추가할 때 AWS Command Line Interface (AWS CLI)를 사용하여 태그를 추가할 수 있습니다.

**Topics**
+ [

### 리소스를 생성할 때 태그 추가
](#create-resource-with-tags-cli)
+ [

### 기존 리소스에 태그 추가
](#add-tag-existing-resource-cli)

### 리소스를 생성할 때 태그 추가
<a name="create-resource-with-tags-cli"></a>

새 리소스를 생성하고를 사용하여 태그를 추가하려면 리소스에 적절한 `create` 명령을 AWS CLI사용하고 `tags` 파라미터와 값을 포함합니다. 예를 들어 다음 명령은 ECOMMERCE 도메인에 대해 `myDatasetGroup`이라는 이름이 지정된 새 도메인 데이터세트 그룹을 생성하고 다음 태그(`Test` 태그 값이 있는 `Environment`태그 키, `Owner`태그 키 및 `xyzCorp`값)를 추가합니다.

```
aws personalize create-dataset-group \
--name myDatasetGroup \
--domain ECOMMERCE \
--tags tagKey=Environment,tagValue=Test tagKey=Owner,tagValue=xyzCorp
```

Personalize 리소스를 생성하는 데 사용할 수 있는 명령에 대한 자세한 내용은 [Personalize AWS CLI 명령 참조](https://docs.aws.amazon.com/cli/latest/reference/personalize/)를 참조하세요.

### 기존 리소스에 태그 추가
<a name="add-tag-existing-resource-cli"></a>

기존 리소스에 태그를 추가하려면 `tag-resource` 명령을 사용합니다. 리소스의 ARN을 지정하고 `tags` 파라미터에 태그 키와 값을 제공합니다.

```
aws personalize tag-resource \
--resource-arn resource ARN \
--tags tagKey=key,tagValue=value
```

## 태그(AWS SDKs) 추가
<a name="add-tag-sdk"></a>

리소스를 생성할 때 AWS SDKs를 사용하여 태그를 추가하거나 기존 리소스에 태그를 추가할 수 있습니다.

**Topics**
+ [

### 리소스를 생성할 때 태그 추가
](#create-resource-with-tags-sdk)
+ [

### 기존 리소스에 태그 추가
](#add-tag-existing-resource-sdk)

### 리소스를 생성할 때 태그 추가
<a name="create-resource-with-tags-sdk"></a>

새 리소스를 생성하고 AWS SDKs를 사용하여 해당 리소스에 태그를 추가하려면 적절한 `create` 방법을 사용합니다. `tags` 파라미터를 사용하여 각 태그의 키-값 쌍을 지정합니다. 예를 들어 다음 코드는 ECOMMERCE 도메인에 대해 `myDatasetGroup`이라는 이름이 지정된 새 도메인 데이터세트 그룹을 생성하고 다음 태그(`Test` 태그 값이 있는 `Environment`태그 키, `Owner`태그 키 및 `xyzCorp`값)를 추가합니다.

------
#### [ SDK for Python (Boto3) ]

```
import boto3

personalize = boto3.client('personalize')

response = personalize.create_dataset_group(
  name = 'myDatasetGroup',
  domain = 'ECOMMERCE',
  tags = [
    {
      'tagKey': 'Environment',
      'tagValue': 'Test'
    },
    {
      'tagKey': 'Owner',
      'tagValue': 'xyzCorp'    
    }
  ]    
)
dsg_arn = response['datasetGroupArn']

description = personalize.describe_dataset_group(datasetGroupArn = dsg_arn)['datasetGroup']

print('Name: ' + description['name'])
print('ARN: ' + description['datasetGroupArn'])
print('Status: ' + description['status'])
```

------
#### [ SDK for Java 2.x ]

```
public static String createDomainDatasetGroup(PersonalizeClient personalizeClient, 
                                              String datasetGroupName,
                                              String domain) {
    
    try {
         
        ArrayList <Tag> tags = new ArrayList<>();

        Tag tag1 = Tag.builder()
                .tagKey("Environment")
                .tagValue("Test")
                .build();
        tags.add(tag1);
        Tag tag2 = Tag.builder()
                .tagKey("Owner")
                .tagValue("xyzCorp")
                .build();
        tags.add(tag2);
    
        CreateDatasetGroupRequest createDatasetGroupRequest = CreateDatasetGroupRequest.builder()
                .name(datasetGroupName)
                .domain(domain)
                .tags(tags)
                .build();
        return personalizeClient.createDatasetGroup(createDatasetGroupRequest).datasetGroupArn();
    } catch (PersonalizeException e) {
        System.out.println(e.awsErrorDetails().errorMessage());
    }
    return "";
}
```

------

### 기존 리소스에 태그 추가
<a name="add-tag-existing-resource-sdk"></a>

다음 코드는 기존 Amazon Personalize 리소스에 태그를 추가하는 방법을 보여줍니다. 태그를 추가할 리소스의 Amazon 리소스 이름(ARN)을 지정하고 각 태그에 키-값 쌍을 지정합니다.

------
#### [ SDK for Python (Boto3) ]

```
import boto3
personalize = boto3.client('personalize')

add_tags_response = personalize.tag_resource(
  resourceArn = "resourceArn",
  tags = [
    {
      'tagKey': 'Environment',
      'tagValue': 'Test'
    },
    {
      'tagKey': 'Owner',
      'tagValue': 'xyzCorp'    
    }
  ]    
)
```

------
#### [ SDK for Java 2.x ]

```
public static void tagResource(PersonalizeClient personalizeClient, 
                                              String resourceArn,
                                              String domain) {
    
    try {
         
         ArrayList <Tag> tagList = new ArrayList<>();

          Tag tag1 = Tag.builder()
                  .tagKey("Environment")
                  .tagValue("Test")
                  .build();
          tags.add(tag1);
          Tag tag2 = Tag.builder()
                  .tagKey("Owner")
                  .tagValue("xyzCorp")
                  .build();
          tags.add(tag2);
    
        TagResourceRequest tagResourceRequest = TagResourceRequest.builder()
                .resourceArn(resourceArn)
                .tags(tagList)
                .build();
                
        personalizeClient.tagResource(tagResourceRequest);
        System.out.println("Tags have been added to "+ resourceArn);
        
    } catch (PersonalizeException e) {
        System.out.println(e.awsErrorDetails().errorMessage());
    }
    return "";
}
```

------

# Amazon Personalize 리소스에서 태그 제거
<a name="tags-remove"></a>

Personalize 콘솔을 사용하거나 AWS Command Line Interface (AWS CLI) 또는SDK를 사용하여 [UntagResource](API_UntagResource.md) API 작업을 사용하여 Personalize 리소스에서 태그를 제거할 수 있습니다. AWS SDKs 다음 예제는 Amazon Personalize 데이터세트 그룹에서 태그를 제거하는 방법을 보여줍니다. 동일한 방법으로 다른 Amazon Personalize 리소스에서 태그를 제거할 수 있습니다.

**Topics**
+ [

## 태그 제거(콘솔)
](#remove-tag-console)
+ [

## 태그 제거(AWS CLI)
](#remove-tag-cli)
+ [

## 태그(AWS SDKs) 제거
](#remove-tag-sdks)

## 태그 제거(콘솔)
<a name="remove-tag-console"></a>

Amazon Personalize에서 리소스에 태그를 추가한 후 Amazon Personalize 콘솔을 사용하여 태그를 제거할 수 있습니다. 다음 예제에서는 데이터세트 그룹에 태그를 제거합니다.

**데이터세트 그룹에서 태그를 제거하려면**

1. [https://console.aws.amazon.com/personalize/home](https://console.aws.amazon.com/personalize/home)에서 Amazon Personalize 콘솔을 열고 계정에 로그인합니다.

1. 데이터세트 그룹을 선택합니다.

1. 페이지 하단의 **태그** 탭에서 **태그 관리**를 선택합니다.

1. 제거하려는 태그에 대해 **제거**를 선택합니다.

1. **저장**을 선택하여 태그를 제거합니다.

## 태그 제거(AWS CLI)
<a name="remove-tag-cli"></a>

를 사용하여 기존 리소스에서 태그를 제거하려면 다음 `untag-resource` 명령을 AWS CLI사용합니다. `resource-arn`에 대해 리소스의 Amazon 리소스 이름(ARN)을 지정합니다. `tag-keys`에 대해 제거할 태그의 키를 지정합니다.

```
aws personalize untag-resource \
--resource-arn resource ARN \
--tag-keys key1 key2
```

## 태그(AWS SDKs) 제거
<a name="remove-tag-sdks"></a>

 AWS SDKs를 사용하여 기존 Amazon Personalize 리소스에서 태그를 제거하려면 [UntagResource](API_UntagResource.md) API 작업을 사용합니다. 다음 코드는 Python용 SDK(Boto3)를 사용하여 데이터세트 그룹에서 여러 태그를 제거하는 방법을 보여줍니다. `resourceArn`에 대해 리소스의 Amazon 리소스 이름(ARN)을 지정합니다. `tagKeys`에 대해 제거할 태그의 키를 지정합니다.

```
import boto3
        
personalize = boto3.client('personalize')

response = personalize.untag_resource(
    resourceArn="Resource ARN",
    tagKeys=["tag1Key", "tag2Key"]
)
```

# IAM 정책에서 태그 사용
<a name="tags-iam"></a>

태그 구현을 시작한 후 AWS Identity and Access Management (IAM) 정책 및 API 작업에 태그 기반의 리소스 수준 권한을 적용할 수 있습니다. 여기에는 리소스가 생성될 때 리소스에 태그 추가를 지원하는 작업이 포함됩니다. 이러한 방식으로 태그를 사용하면 리소스 생성 및 태그 지정 권한이 있는 AWS 계정의 그룹 및 사용자와 보다 일반적으로 태그를 생성, 업데이트 및 제거할 권한이 있는 그룹 및 사용자를 세부적으로 제어할 수 있습니다.

예를 들어, 사용자가 이름이 리소스의 `Owner`태그 값에 해당하는 모든 Personalize 리소스에 대한 전체 액세스 권한을 갖도록 허용하는 정책을 생성할 수 있습니다.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "ModifyResourceIfOwner",
         "Effect": "Allow",
         "Action": "personalize:*",
         "Resource": "*",
         "Condition": {
            "StringEqualsIgnoreCase": {
               "aws:ResourceTag/Owner": "${aws:username}"
            }
         }
      }
   ]
}
```

------

다음 예제는 데이터세트 생성 및 삭제를 허용하는 정책을 생성하는 방법을 보여줍니다. 이러한 작업은 사용자 이름이 `johndoe`인 경우에만 허용됩니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "personalize:CreateDataset",
                "personalize:DeleteDataset"
            ],
            "Resource": "arn:aws:personalize:*:*:dataset/*",
            "Condition": {
                "StringEquals": {"aws:username" : "johndoe"}
            }
        },
        {
            "Effect": "Allow",
            "Action": "personalize:DescribeDataset",
            "Resource": "*"
        }
    ]
}
```

------

태그 기반의 리소스 수준 권한을 정의하면 권한이 즉시 적용됩니다. 즉, 리소스를 생성하자마자 더 안전하게 보호할 수 있으며 새로운 리소스에 태그 사용 적용을 빠르게 시작할 수 있습니다. 리소스 수준 권한을 사용하여 새로운 및 기존 리소스와 연결할 수 있는 태그 키와 값을 제어할 수도 있습니다. 자세한 내용은AWS IAM 사용 설명서의 [태그를 사용한 액세스 제어](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html)를 참조하세요.**