使用條件索引鍵來限制對 CloudWatch 命名空間的存取 - Amazon CloudWatch

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

使用條件索引鍵來限制對 CloudWatch 命名空間的存取

使用 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" } } } ] }