

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

# IAM ポリシーでのタグの使用
<a name="tagging-iot-iam"></a>

マネージド統合 API アクションに使用する IAM ポリシーで、タグベースのリソースレベルのアクセス許可を適用できます。これにより、ユーザーがどのリソースを作成、変更、または使用できるかを制御しやすくなります。IAM ポリシーの以下の条件コンテキストのキーと値とともに `Condition` 要素 (`Condition` ブロックとも呼ばれる) を使用して、リソースのタグに基づいてユーザーアクセス (アクセス許可) を制御できます。
+ 特定のタグを持つリソースに対してユーザーアクションを許可または拒否するには、`aws:ResourceTag/{{tag-key}}: {{tag-value}}` を使用します。
+ タグが許可されているリソースを作成または変更する API リクエストを作成する場合に、特定のタグが使用されている (または、使用されていない) ことを要求するには、`aws:RequestTag/{{tag-key}}: {{tag-value}}` を使用します。
+ タグが許可されているリソースを作成または変更する API リクエストを作成する場合に、特定の一連のタグが使用されている または、使用されていないことを要求するには、`aws:TagKeys: [{{tag-key}}, ...]` を使用します。

**注記**  
IAM ポリシーの条件コンテキストキーと値は、タグ付け可能なリソースの識別子が必須パラメータであるマネージド統合アクションにのみ適用されます。たとえば、[GetCustomEndpoint](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_GetCustomEndpoint) の使用は、このリクエストではタグ付け可能なリソース (マネージド型モノ、プロビジョニングプロファイル、認証情報ロッカー、over-the-airタスク) が参照されないため、条件コンテキストキーと値に基づいて許可または拒否されません。タグ付け可能なマネージド統合リソースとそれらがサポートする条件キーの詳細については、[「 の AWS IoT マネージド統合機能のアクション、リソース、および条件キー AWS IoT Device Management](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiotmanagedintegrationsfeatureofiotdevicemanagement.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 ポリシーの要素、変数、および評価ロジックの詳細な構文、説明、および例が記載されています。

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

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": "iotmanagedintegrations:CreateManagedThing",
      "Resource": "arn:aws:iotmanagedintegrations:{{us-east-1}}:{{123456789012}}:managed-thing/*",
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/env": "prod"
        }
      }
    },
    {
      "Effect": "Deny",
      "Action": [
        "iotmanagedintegrations:CreateManagedThing",
        "iotmanagedintegrations:DeleteManagedThing",
        "iotmanagedintegrations:GetManagedThing",
        "iotmanagedintegrations:UpdateManagedThing"
      ],
      "Resource": "arn:aws:iotmanagedintegrations:{{us-east-1}}:{{123456789012}}:managed-thing/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/env": "prod"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "iotmanagedintegrations:CreateManagedThing",
        "iotmanagedintegrations:DeleteManagedThing",
        "iotmanagedintegrations:GetManagedThing",
        "iotmanagedintegrations:UpdateManagedThing"
      ],
      "Resource": "*"
    }
  ]
}
```

------

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

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

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