View a markdown version of this page

Usar chaves de condição para limitar o acesso a namespaces do CloudWatch - Amazon CloudWatch

Usar chaves de condição para limitar o acesso a namespaces do CloudWatch

Use chaves de condição do IAM para limitar o usuário a publicar métricas somente nos namespaces do CloudWatch especificados. Esta seção fornece exemplos que descrevem como permitir e excluir usuários da publicação de métricas em um namespace.

Permitir a publicação em apenas um namespace

A política a seguir limita o usuário a publicar métricas somente no namespace chamado MyCustomNamespace.

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

Excluir publicação de um namespace

A política a seguir permite que o usuário publique métricas em qualquer namespace, exceto para CustomNamespace2.

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

Controle da ingestão do OTLP

A política a seguir permite que o usuário publique métricas usando a API do OTLP:

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

Para desabilitar a ingestão dupla, ou seja, usar somente PutMetricData e negar qualquer ingestão de OTLP, você pode usar a política a seguir. Ela limita o usuário a publicar métricas usando PutMetricData no namespace MyCustomNamespace e, ao mesmo tempo, nega implicitamente qualquer ingestão de OTLP devido à condição StringEquals:

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

Para habilitar a ingestão dupla, ou seja, permitir a ingestão de PutMetricData e OTLP, você pode usar a política a seguir. Isso limita o usuário a publicar métricas usando PutMetricData no namespace denominado MyCustomNamespace e, ao mesmo tempo, permite a ingestão do OTLP devido à condição StringEqualsIfExists:

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