С помощью сценария мониторинга CloudWatch (mon-put-instance-data.pl) можно указать имя роли IAM для предоставления учетных данных AWS (--aws-iam-role = VALUE).
Я создаю роль IAM для этой цели (для запуска mon-put-instance-data.pl на экземпляре AWS), но какие разрешения / политики я должен дать этой роли?
Спасибо за помощь
В Сценарии мониторинга Amazon CloudWatch для Linux состоят из двух скриптов Perl, оба используют один модуль Perl - беглый взгляд на источник показывает, что используются следующие действия API AWS:
CloudWatchClient.pm
- DescribeTagsmon-get-instance-stats.pl
- GetMetricStatistics, ListMetricsmon-put-instance-data.pl
- PutMetricDataС этой информацией вы можете собрать свой Политика 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
- обратите внимание, что я на самом деле не тестировал код.
Amazon предоставляет IAM-политику для CloudWatch. Не нужно строить собственное. CloudWatchFullAccess
Приведенная выше политика дает ошибку при запросе версии.
Следующее должно работать:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1426849513000",
"Effect": "Allow",
"Action": [
"cloudwatch:GetMetricStatistics",
"cloudwatch:ListMetrics",
"cloudwatch:PutMetricAlarm",
"cloudwatch:PutMetricData",
"cloudwatch:SetAlarmState"
],
"Resource": [
"*"
]
}
]
}