Какие разрешения / политики для роли IAM будут использоваться со сценарием мониторинга CloudWatch

13

С помощью сценария мониторинга CloudWatch (mon-put-instance-data.pl) можно указать имя роли IAM для предоставления учетных данных AWS (--aws-iam-role = VALUE).

Я создаю роль IAM для этой цели (чтобы запустить mon-put-instance-data.pl на экземпляре AWS), но какие разрешения / политики я должен дать этой роли ??

Спасибо за помощь

Селин Ауссурд
источник

Ответы:

20

Amazon CloudWatch Мониторинг Сценарии для Linux состоит из двух сценариев Perl, как с помощью одного модуля Perl - короткий заглянуть в источник показывает следующие действия API AWS используются:

С помощью этой информации вы можете собрать свою политику IAM , например, с помощью генератора политик AWS - всеобъемлющей политикой будет:

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

Конечно, вы можете отказаться, cloudwatch:GetMetricStatistics cloudwatch:ListMetricsпросто используя mon-put-instance-data.pl- пожалуйста, обратите внимание, что я на самом деле не проверял код, хотя.

Штеффен Опель
источник
Эти действия соответствуют действиям, перечисленным в документации на docs.aws.amazon.com/AWSEC2/latest/UserGuide/…
htaccess
2

Вышеуказанная политика выдает ошибку, запрашивая версию.

Следующее должно работать:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt1426849513000",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:GetMetricStatistics",
                "cloudwatch:ListMetrics",
                "cloudwatch:PutMetricAlarm",
                "cloudwatch:PutMetricData",
                "cloudwatch:SetAlarmState"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
Свапнил джайсвал
источник
2

Существует политика IAM, предоставляемая Amazon для CloudWatch. Не нужно строить свой собственный. CloudWatchFullAccess

jorfus
источник
2
Спасибо за Ваш ответ. Я не хотел давать полный доступ к CloudWatch, хотя ... Я не хочу давать разрешение DeleteAlarms, например.
Селин Ауссурд
Для обслуживания Dynatrace это идеально!
Холмс
ИМХО, для почти любого случая «мониторинга» это слишком большой доступ. Ваш сценарий мониторинга не должен (скажем) создавать или удалять метрики или информационные панели. Политика добавляет некоторые довольно безопасные разрешения, не относящиеся к облачным часам, но затем добавляет и все эти: docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/… . По грубым предположениям, CloudWatchReadOnlyAccessэто будет безопасная «первая попытка», но даже это может быть слишком щедрым.
Ральф Болтон