

# AWS IoT 무선 리소스에 태그 지정
<a name="tagging-iotwireless"></a>

디바이스, 게이트웨이, 대상 및 프로필을 쉽게 관리 및 구성하기 위해 이러한 각 리소스에 고유한 메타데이터를 태그의 형태로 할당할 수 있습니다(선택 사항). 이 단원에서는 태그를 설명하고 태그를 생성하는 방법을 보여 줍니다. AWS IoT 무선에는 결제 그룹이 없으며 AWS IoT Core와 동일한 결제 그룹을 사용합니다. 자세한 내용은 **AWS IoT Core 설명서의 [결제 그룹](https://docs.aws.amazon.com/iot/latest/developerguide/tagging-iot-billing-groups.html)을 참조하세요.

## 태그 기본 사항
<a name="tagging-iotwireless-basics"></a>

같은 유형의 AWS IoT 무선 리소스가 여러 개 있는 경우 태그를 사용하여 리소스를 용도, 소유자, 환경 등으로 다양하게 분류할 수 있습니다. 이렇게 하면 지정한 태그를 기반으로 리소스를 신속하게 식별할 수 있습니다.

각 태그는 사용자가 정의하는 키와 선택적 값으로 구성됩니다. 예를 들어, 디바이스 펌웨어가 업데이트되는 LoRaWAN 디바이스 그룹에 태그 세트를 정의할 수 있습니다. 리소스를 더 쉽게 관리할 수 있도록 각 리소스 유형의 요구 사항을 충족하는 태그 키 세트를 생성하는 것이 좋습니다.

추가하거나 적용한 태그를 기준으로 리소스를 검색하고 필터링할 수 있습니다. 또한 IAM 정책 및 결제 그룹 태그를 사용하여 비용을 분류하고 추적함으로써 태그를 사용하여 리소스에 대한 액세스를 제어할 수 있습니다.

## 태그 생성 및 관리
<a name="tagging-iotwireless-create"></a>

AWS Management Console, AWS IoT 무선 또는 AWS CLI의 태그 편집기를 사용하여 태그를 생성하고 관리할 수 있습니다.

**콘솔 사용**  
태그 편집기는 태그를 생성하고 관리할 수 있는 AWS Management Console 중앙 통합 방식으로, 이 도구를 사용하면 아주 편리합니다. 자세한 내용은 [AWS Management Console과 작업](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/getting-started.html)에서 [태그 편집기 사용하기](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/tag-editor.html)를 참조하십시오.

**API 또는 CLI 사용**  
또한 API 또는 CLI를 사용하고, 다음 명령의 `Tags` 필드를 사용하여 태그를 생성할 때 무선 디바이스, 게이트웨이, 프로필 및 대상에 연결할 수 있습니다.
+ [AssociateAwsAccountWithPartnerAccount](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_AssociateAwsAccountWithPartnerAccount.html)
+ [CreateDestination](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateDestination.html)
+ [CreateDeviceProfile](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateDeviceProfile.html)
+ [CreateFuotaTask](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateFuotaTask.html)
+ [CreateMulticastGroup](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateMulticastGroup.html)
+ [CreateServiceProfile](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateServiceProfile.html)
+ [CreateWirelessGateway](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateWirelessGateway.html)
+ [CreateWirelessGatewayTaskDefinition](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateWirelessGatewayTaskDefinition.html)
+ [CreateWirelessDevice](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_CreateWirelessDevice.html)
+ [API\$1StartBulkAssociateWirelessDeviceWithMulticastGroup](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_API_StartBulkAssociateWirelessDeviceWithMulticastGroup.html)

## 리소스에 대한 태그 또는 목록 태그 업데이트
<a name="tagging-iotwireless-update"></a>

다음 명령을 사용하여 태깅을 지원하는 기존 리소스에 대해 태그를 추가, 수정, 삭제할 수 있습니다.
+ [ TagResource](https://docs.aws.amazon.com/iotwireless/latest/apireference/API_TagResource)
+ [ ListTagsForResource](https://docs.aws.amazon.com/iotwireless/latest/apireference/API_ListTagsForResource)
+ [ UntagResource](https://docs.aws.amazon.com/iotwireless/latest/apireference/API_UntagResource)

태그 키와 값을 편집할 수 있으며 언제든지 리소스에서 태그를 제거할 수 있습니다. 태그의 값을 빈 문자열로 설정할 수 있지만 태그의 값을 Null로 설정할 수는 없습니다. 해당 리소스에 대해 키가 기존 태그와 동일한 태그를 추가하는 경우 새 값이 이전 값을 덮어씁니다. 리소스를 삭제하면, 리소스에 대한 연결이 완료된 태그 또한 삭제됩니다.

## 태그 규제 및 제한
<a name="tagging-iotwireless-restrict"></a>

태그에 적용되는 기본 제한은 다음과 같습니다.
+ 리소스당 최대 태그 수 — 50개.
+ 최대 키 길이 — UTF-8의 유니코드 문자 127자
+ 최대 값 길이 — UTF-8의 유니코드 문자 255자
+ 태그 키와 값은 대소문자를 구분합니다.
+ 태그 이름이나 값에서 접두사 `aws:`는 사용하지 마세요. 그것은 AWS 전용입니다. 이 접두사가 지정된 태그 이름이나 값은 편집하거나 삭제할 수 없습니다. 이 접두사가 지정된 태그는 리소스당 태그 수 제한에 포함되지 않습니다.
+ 태깅 스키마를 여러 서비스와 리소스에서 사용하는 경우 다른 서비스에서는 허용되는 문자에 제한이 있을 수 있다는 점에 주의하세요. 허용되는 문자는 UTF-8로 표현할 수 있는 문자, 공백 및 숫자와 \$1 - = . \$1 : / @ 등의 특수 문자입니다.

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

사용자가 생성, 수정 또는 사용할 수 있는 리소스를 지정하려면 AWS IoT 무선 API 작업에 사용하는 IAM 정책에 태그 기반의 리소스 수준 권한을 적용할 수 있습니다. 리소스 태그를 기반으로 사용자 액세스(권한)를 제어하기 위해 IAM 정책에서 다음 조건 컨텍스트 키 및 값과 함께 `Condition` 요소(`Condition` 블록이라고도 함)를 사용합니다.
+ `aws:ResourceTag/tag-key: tag-value`를 사용하여 특정 태그가 지정된 리소스에 대한 사용자 작업을 허용 또는 거부합니다.
+ `aws:RequestTag/tag-key: tag-value`를 사용하여 태그를 허용하는 리소스를 생성하거나 수정하는 API 요청을 작성할 때 특정 태그를 사용하도록(또는 사용하지 않도록) 요구합니다.
+ `aws:TagKeys: [tag-key, ...]`를 사용하여 태깅 가능한 리소스를 생성하거나 수정하는 API 요청을 작성할 때 특정 태그 키 집합을 사용하도록(또는 사용하지 않도록) 요구합니다.

**참고**  
IAM 정책의 조건 컨텍스트 키와 값은 태깅 가능한 리소스의 ID가 필수 파라미터인 AWS IoT 작업에만 적용됩니다. 예를 들어, 이 요청에서 태그를 지정할 수 있는 리소스가 언급되지 않기 때문에 조건 컨텍스트 키 및 값에 따라 [DescribeEndpoint](https://docs.aws.amazon.com/iotwireless/latest/apireference/API_DescribeEndpoint)의 사용이 허용/거부되지 않습니다.

자세한 내용은 *AWS Identity and Access Management 사용 설명서*의 [태그를 사용한 액세스 제어](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html)를 참조하세요. 이 설명서의 [IAM JSON 정책 참조](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) 단원에서는 IAM에서 JSON 정책의 자세한 구문과 설명, 요소의 예, 변수 및 평가 로직을 설명합니다.

다음은 태그 기반 제한 2개를 적용하는 정책 예제입니다. 이 정책으로 제한되는 IAM 사용자는 다음과 같습니다.
+ 리소스에 태그 "env=prod"를 지정할 수 없습니다. 이 예제에서는 `"aws:RequestTag/env" : "prod"` 행을 참조하세요.
+ 기존 태그 "env=prod"가 지정된 리소스를 수정 또는 액세스할 수 없습니다. 이 예제에서는 `"aws:ResourceTag/env" : "prod"` 행을 참조하세요.

```
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": "iot:CreateMulticastGroup",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/env": "prod"
        }
      }
    },
    {
      "Effect": "Deny",
      "Action": [
        "iot:CreateMulticastGroup",
        "iot:UpdateMulticastGroup",
        "iot:GetMulticastGroup",
        "iot:ListMulticastGroups"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/env": "prod"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "iot:CreateMulticastGroup",
        "iot:UpdateMulticastGroup",
        "iot:GetMulticastGroup",
        "iot:ListMulticastGroups"
      ],
      "Resource": "*"
    }
  ]
}
```

또한 다음과 같이 목록에서 태그를 둘러싸 지정된 태그 키에 대해 여러 태그 값을 지정할 수도 있습니다.

```
"StringEquals" : {
              "aws:ResourceTag/env" : ["dev", "test"]
}
```

**참고**  
태그를 기준으로 리소스에 대한 사용자 액세스를 허용 또는 거부하는 경우 동일한 리소스에서 태그를 추가 또는 제거할 수 있도록 사용자를 명시적으로 거부할 것을 고려해야 합니다. 그렇지 않으면 사용자가 제한을 피해 태그를 수정하여 리소스에 대한 액세스 권한을 얻을 수 있습니다.