条件キーを使用した CloudWatch 名前空間へのアクセスの制限
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"
}
}
}
]
}