

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用條件索引鍵來限制對 CloudWatch 命名空間的存取
<a name="iam-cw-condition-keys-namespace"></a>

 使用 IAM 條件索引鍵，限制使用者只能在您指定的 CloudWatch 命名空間中發布指標。本節提供範例，說明如何允許和排除使用者在命名空間中發布指標。

**僅允許在一個命名空間中發布**

下列政策限制使用者只能在名為 `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 擷取，您可以使用下列政策。它限制使用者在命名空間中使用 PutMetricData 發佈指標，`MyCustomNamespace`並同時隱含地拒絕任何 OTLP 擷取，因為以下`StringEquals`條件：

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

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

------

若要啟用雙擷取，也就是允許 PutMetricData 和 OTLP 擷取，您可以使用下列政策。它會限制使用者在名為 的命名空間中使用 PutMetricData 發佈指標，`MyCustomNamespace`同時由於以下`StringEqualsIfExists`條件，允許 OTLP 擷取：

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

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

------