

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS IoT リソースのタグ付け
<a name="tagging-iot"></a>

モノのグループ、モノのタイプ、トピックルール、ジョブ、スケジュールによる監査、およびセキュリティプロファイルを管理および整理しやすくするために、これらのリソースのそれぞれにタグという形式で独自のメタデータをオプションで割り当てることができます。このセクションでは、タグとその作成方法について説明します。

モノに関連するコストを管理しやすくするために、モノが含まれる[請求グループ](tagging-iot-billing-groups.md)を作成できます。その後、その請求グループそれぞれに、メタデータが含まれているタグを割り当てることができます。このセクションでは、請求グループ、および請求グループの作成および管理に使用できるコマンドについても説明します。

## タグの基本
<a name="tagging-iot-basics"></a>

タグを使用して、さまざまな方法 (目的、所有者、環境など) で AWS IoT リソースを分類できます。同じ型のリソースが多い場合に役立ちます。割り当てたタグに基づいてリソースをすばやく識別できます。タグはそれぞれ、1 つのキーとオプションの値で構成され、どちらもユーザーが定義します。たとえば、デバイスをタイプ別に追跡しやすくするために、モノのタイプに対して一連のタグを定義できます。リソースの種類ごとのニーズを合わせて一連のタグキーを作成することをお勧めします。一貫性のあるタグキーセットを使用することで、リソースの管理が容易になります。

追加または適用したタグに基づいて、リソースを検索およびフィルター処理できます。また、請求グループタグを使用して、コストを分類および追跡することもできます。また、「[IAM ポリシーでのタグの使用](tagging-iot-iam.md)」で説明しているように、タグを使用してリソースへのアクセスを制御することもできます。

使いやすいように、 AWS マネジメントコンソールのタグエディタは、タグを作成および管理するための一元化された方法を提供します。詳細については、[「 マネジメントコンソールの使用」の「タグエディタ](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/tag-editor.html)[の使用 AWS](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/getting-started.html)」を参照してください。

 AWS CLI および AWS IoT API を使用してタグを操作することもできます。以下のコマンドで `Tags` フィールドを使用して、モノのグループ、モノのタイプ、トピックルール、ジョブ、セキュリティプロファイル、ポリシー、請求グループ、およびモノの作成時にモノと関連付けたパッケージとバージョンにタグを関連付けることができます。
+ [CreateBillingGroup](https://docs.aws.amazon.com//iot/latest/apireference/API_CreateBillingGroup)
+ [CreateDestination](https://docs.aws.amazon.com//iot-wireless/latest/apireference/API_CreateDestination.html)
+ [CreateDeviceProfile](https://docs.aws.amazon.com//iot-wireless/latest/apireference/API_CreateDeviceProfile.html)
+ [CreateDynamicThingGroup](https://docs.aws.amazon.com//iot/latest/apireference/API_CreateDynamicThingGroup)
+ [CreateJob](https://docs.aws.amazon.com//iot/latest/apireference/API_CreateJob)
+ [CreateOTAUpdate](https://docs.aws.amazon.com//iot/latest/apireference/API_CreateOTAUpdate)
+ [CreatePolicy](https://docs.aws.amazon.com//iot/latest/apireference/API_CreatePolicy.html)
+ [CreateScheduledAudit](https://docs.aws.amazon.com//iot/latest/apireference/API_CreateScheduledAudit)
+ [CreateSecurityProfile](https://docs.aws.amazon.com//iot/latest/apireference/API_CreateSecurityProfile)
+ [CreateServiceProfile](https://docs.aws.amazon.com//iot-wireless/latest/apireference/API_CreateServiceProfile.html)
+ [CreateStream](https://docs.aws.amazon.com//iot/latest/apireference/API_CreateStream)
+ [CreateThingGroup](https://docs.aws.amazon.com//iot/latest/apireference/API_CreateThingGroup)
+ [CreateThingType](https://docs.aws.amazon.com//iot/latest/apireference/API_CreateThingType)
+ [CreateTopicRule](https://docs.aws.amazon.com//iot/latest/apireference/API_CreateTopicRule)
+ [CreateWirelessGateway](https://docs.aws.amazon.com//iot-wireless/latest/apireference/API_CreateWirelessGateway.html)
+ [CreateWirelessDevice](https://docs.aws.amazon.com//iot-wireless/latest/apireference/API_CreateWirelessDevice.html)

以下のコマンドを使用して、タグ付けがサポートされている既存のリソースに対してタグを追加、変更、または削除できます。
+ [TagResource](https://docs.aws.amazon.com//iot/latest/apireference/API_TagResource)
+ [ListTagsForResource](https://docs.aws.amazon.com//iot/latest/apireference/API_ListTagsForResource)
+ [UntagResource](https://docs.aws.amazon.com//iot/latest/apireference/API_UntagResource)

タグのキーと値は編集でき、タグはリソースからいつでも削除できます。タグの値を空の文字列に設定することはできますが、タグの値を null に設定することはできません。特定のリソースについて既存のタグと同じキーを持つタグを追加した場合、古い値は新しい値によってオーバーライドされます。リソースを削除すると、リソースに関連付けられているすべてのタグも削除されます。

### タグの制約と制限
<a name="tagging-iot-restrict"></a>

タグには以下のような基本制限があります。
+ リソースあたりのタグの最大数: 50
+ キーの最大長: 127 文字 UnicodeUTF-8)
+ 値の最大長: 255 文字 (Unicode) (UTF-8)
+ タグのキーと値は大文字と小文字が区別されます。
+ タグの名前または値に「`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` を使用します。
+ タグが許可されているリソースを作成または変更する API リクエストを作成する場合に、特定のタグが使用されている (または、使用されていない) ことを要求するには、`aws:RequestTag/tag-key: tag-value` を使用します。
+ タグが許可されているリソースを作成または変更する API リクエストを作成する場合に、特定の一連のタグが使用されている または、使用されていないことを要求するには、`aws:TagKeys: [tag-key, ...]` を使用します。

**注記**  
IAM ポリシーの条件コンテキストキーと値は、タグ付けできるリソースの識別子が必須パラメータである AWS IoT アクションにのみ適用されます。例えば、[DescribeEndpoint](https://docs.aws.amazon.com//iot/latest/apireference/API_DescribeEndpoint) を使用しても、このリクエストではタグ付け可能なリソース (モノのグループ、モノのタイプ、トピックルール、ジョブ、またはセキュリティプロファイル) が参照されていないため、条件コンテキストのキーと値に基づいて許可または拒否されることはありません。タグ付け可能な AWS IoT リソースとそれらがサポートする条件キーの詳細については、[「アクション、リソース、および条件キー AWS IoT](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html)」を参照してください。

タグの使用の詳細については、[*AWS Identity and Access Management User Guide*](ユーザーガイド)の[[Controlling Access Using Tags](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html)](タグを使用したアクセスの制御)を参照してください。そのガイドの[[IAM JSON Policy Reference](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)](IAM JSON ポリシーリファレンス)セクションには、IAM での JSON ポリシーの要素、変数、および評価ロジックの詳細な構文、説明、および例が記載されています。

次のポリシー例では、`ThingGroup` アクションにタグベースの 2 つの制約が適用されています。このポリシーによって制限されている IAM ユーザー
+ モノグループにタグ「env=prod」を作成することはできません (この例の`"aws:RequestTag/env" : "prod"`の行を参照)。
+ 既存のタグ "env=prod" を持つモノグループに対しては、変更またはアクセスできません (この例の `"aws:ResourceTag/env" : "prod"` の行を参照)。

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": "iot:CreateThingGroup",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/env": "prod"
        }
      }
    },
    {
      "Effect": "Deny",
      "Action": [
        "iot:CreateThingGroup",
        "iot:DeleteThingGroup",
        "iot:DescribeThingGroup",
        "iot:UpdateThingGroup"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/env": "prod"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "iot:CreateThingGroup",
        "iot:DeleteThingGroup",
        "iot:DescribeThingGroup",
        "iot:UpdateThingGroup"
      ],
      "Resource": "*"
    }
  ]
}
```

次のように、タグ値を1 つのリストとして指定して、1 つのタグキーに対して複数のタグ値を指定することもできます。

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

**注記**  
タグに基づいてリソースへのユーザーのアクセスを許可または拒否する場合は、ユーザーが同じリソースに対してそれらのタグを追加または削除することを明示的に拒否することを検討する必要があります。そうしないと、ユーザーはそのリソースのタグを変更することで、制限を回避してリソースにアクセスできてしまいます。

# 請求グループ
<a name="tagging-iot-billing-groups"></a>

AWS IoT では、個々のモノにタグを直接適用することはできませんが、モノを請求グループに配置してタグを適用することはできます。の場合 AWS IoT、タグに基づくコストと使用状況データの配分は請求グループに限定されます。

AWS IoT Core ワイヤレスデバイスやゲートウェイなどの for LoRaWAN リソースを請求グループに追加することはできません。ただし、請求グループに追加できる AWS IoT モノに関連付けることができます。

以下のコマンド使用できます。
+ [AddThingToBillingGroup](https://docs.aws.amazon.com//iot/latest/apireference/API_AddThingToBillingGroup) は、モノを請求グループに追加します。
+ [CreateBillingGroup](https://docs.aws.amazon.com//iot/latest/apireference/API_CreateBillingGroup) は請求グループを作成します。
+ [DeleteBillingGroup](https://docs.aws.amazon.com//iot/latest/apireference/API_DeleteBillingGroup) は請求グループを削除します。
+ [DescribeBillingGroup](https://docs.aws.amazon.com//iot/latest/apireference/API_DescribeBillingGroup) は請求グループに関する情報を返します。
+ [ListBillingGroups](https://docs.aws.amazon.com//iot/latest/apireference/API_ListBillingGroups) は作成済みの請求グループをリスト化します。
+ [ListThingsInBillingGroup](https://docs.aws.amazon.com//iot/latest/apireference/API_ListThingsInBillingGroup) 指定された請求グループにユーザーが追加したモノをリスト化します。
+ [RemoveThingFromBillingGroup](https://docs.aws.amazon.com//iot/latest/apireference/API_RemoveThingFromBillingGroup) は指定されたモノを請求グループから削除します。
+ [UpdateBillingGroup](https://docs.aws.amazon.com//iot/latest/apireference/API_UpdateBillingGroup) は請求グループに関する情報を更新します。
+ [CreateThing](https://docs.aws.amazon.com//iot/latest/apireference/API_CreateThing) を使用すると、モノを作成するときにその請求グループを指定できます。
+ [DescribeThing](https://docs.aws.amazon.com//iot/latest/apireference/API_DescribeThing) は、モノが属する請求グループ (存在する場合) も含めて、モノの説明を返します。

 AWS IoT Wireless API は、ワイヤレスデバイスとゲートウェイを AWS IoT モノに関連付けるためのこれらのアクションを提供します。
+ [AssociateWirelessDeviceWithThing](https://docs.aws.amazon.com//iot-wireless/latest/apireference/API_AssociateWirelessDeviceWithThing.html)
+ [AssociateWirelessGatewayWithThing](https://docs.aws.amazon.com//iot-wireless/latest/apireference/API_AssociateWirelessGatewayWithThing.html)

## コスト配分と使用状況データの表示
<a name="tagging-iot-billing-groups-costs"></a>

請求グループタグを使用して、コストを分類および追跡できます。請求グループ (およびそれらに含まれるもの) にタグを適用すると、 はコスト配分レポートを、タグによって集計された使用量とコストを含むカンマ区切り値 (CSV) ファイルとして AWS 生成します。自社のカテゴリ (たとえばコストセンター、アプリケーション名、所有者) を表すタグを適用すると、複数のサービスにわたってコストを分類することができます。コスト割り当てでのタグの使用の詳細については、「[AWS 請求とコスト管理ユーザーガイド](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/)」の「[コスト割り当てタグの使用](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)」を参照してください。

**注記**  
使用状況やコストのデータを、請求グループに配置したモノと正確に関連付けるには、各デバイスおよびアプリケーションが以下の要件を満たしている必要があります。  
モノとして登録されている AWS IoT。詳細については、「[を使用したデバイスの管理 AWS IoT](iot-thing-management.md)」を参照してください。
モノの名前のみをクライアント ID として使用して、MQTT 経由で AWS IoT メッセージブローカーに接続します。詳細については、「[デバイス通信プロトコル](protocols.md)」を参照してください。クライアント ID がモノの名前と一致しない場合は、排他的なモノのアタッチメントを有効にして関連付けを確立できます。詳細については、「[AWS IoT モノを MQTT クライアント接続に関連付ける](exclusive-thing.md)」を参照してください。
モノに関連付けられているクライアント証明書を使用して認証されている。

請求グループでは (請求グループと関連付けられているモノのアクティビティに基づいて) 以下の価格ディメンションを利用できます。
+ 接続 (接続するクライアント ID として使用されたモノの名前に基づく)。
+ メッセージング (モノからのインバウンドメッセージおよびモノへのアウトバウンドメッセージに基づく。MQTT のみ)。
+ シャドウオペレーション (シャドウ更新をトリガーしたメッセージの発信元のモノに基づく)。
+ トリガーされたルール (インバウンドメッセージがルールをトリガーしたモノに基づく。MQTT のライフサイクルイベントによってトリガーされたルールには適用されない)。
+ モノのインデックス更新 (インデックスに追加されたモノに基づく)。
+ リモートアクション (モノの更新に基づく)。
+ [AWS IoT Device Defender detect](https://docs.aws.amazon.com/iot-device-defender/latest/devguide/device-defender-detect.html) レポート(アクティビティが報告されたモノに基づく)。

タグに基づく (および、請求グループに対してレポートされた) コストと使用状況のデータには、以下のアクティビティは反映されません。
+ デバイスレジストリオペレーション (モノ、モノのグループ、モノのタイプの更新を含む)。詳細については、「[を使用したデバイスの管理 AWS IoT](iot-thing-management.md)」を参照してください。
+ モノのグループインデックス更新 (モノのグループを追加した場合)。
+ インデックス検索クエリ。
+ [デバイスプロビジョニング](iot-provision.md).
+ [AWS IoT Device Defender audit](https://docs.aws.amazon.com/iot-device-defender/latest/devguide/device-defender-audit.html) レポート。