

# 条件キーを使用した CloudWatch 名前空間へのアクセスの制限
<a name="iam-cw-condition-keys-namespace"></a>

 IAM 条件キーを使用して、ユーザーがメトリクスを公開する先を、指定した CloudWatch 名前空間に限定します。このセクションでは、名前空間にメトリクスを発行することをユーザーに許可または禁止する方法を示した例を紹介します。

**1 つの名前空間でのみ公開を許可する**

次のポリシーでは、ユーザーがメトリクスを公開する先を、`MyCustomNamespace` という名前空間に限定します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Resource": "*",
        "Action": "cloudwatch:PutMetricData",
        "Condition": {
            "StringEquals": {
                "cloudwatch:namespace": "MyCustomNamespace"
            }
        }
    }
}
```

------

**名前空間から公開を除外する**

次のポリシーでは、ユーザーがメトリクスを公開する先として、`CustomNamespace2` 以外のすべての名前空間を許可します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Resource": "*",
            "Action": "cloudwatch:PutMetricData"
        },
        {
            "Effect": "Deny",
            "Resource": "*",
            "Action": "cloudwatch:PutMetricData",
            "Condition": {
                "StringEquals": {
                    "cloudwatch:namespace": "CustomNamespace2"
                }
            }
        }
    ]
}
```

------

**OTLP 取り込みの制御**

次のポリシーでは、ユーザーは OTLP API を使用してメトリクスを発行できます。

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

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Resource": "*",
            "Action": "cloudwatch:PutMetricData"
        }
    ]
}
```

------

デュアル取り込みを無効にする場合、つまり PutMetricData のみを使用し、OTLP 取り込みを拒否する場合は、次のポリシーを使用できます。これにより、ユーザーは名前空間 `MyCustomNamespace` で PutMetricData を使用してメトリクスを発行するように制限され、同時に `StringEquals` 条件により OTLP の取り込みが暗黙的に拒否されます。

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

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "cloudwatch:PutMetricData",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                     "cloudwatch:namespace": "MyCustomNamespace"
                }
            }
         }
    ]
}
```

------

デュアル取り込みを有効にする場合、つまり PutMetricData と OTLP の両方の取り込みを許可するには、次のポリシーを使用できます。これにより、ユーザーは `MyCustomNamespace` という名前の名前空間で PutMetricData を使用してメトリクスを発行するように制限され、同時に `StringEqualsIfExists` 条件により OTLP 取り込みが許可されます。

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

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "cloudwatch:PutMetricData",
            "Resource": "*",
            "Condition": {
                "StringEqualsIfExists": {
                     "cloudwatch:namespace": "MyCustomNamespace"
                }
            }
         }
    ]
}
```

------