Izin / kebijakan apa untuk peran IAM yang akan digunakan dengan skrip pemantauan CloudWatch

13

Dengan skrip pemantauan CloudWatch (mon-put-instance-data.pl) dimungkinkan untuk menentukan nama peran IAM untuk memberikan kredensial AWS (--aws-iam-role = VALUE).

Saya membuat peran IAM untuk tujuan ini (untuk menjalankan mon-put-instance-data.pl pada contoh AWS), tetapi izin / kebijakan mana yang harus saya berikan untuk peran ini ??

Terima kasih untuk bantuannya

Céline Aussourd
sumber

Jawaban:

20

The Amazon CloudWatch Pemantauan Script untuk Linux terdiri dari dua script Perl, baik menggunakan satu modul Perl - mengintip singkat ke sumber mengungkapkan mengikuti tindakan API AWS yang digunakan:

Dengan informasi ini Anda dapat menyusun kebijakan IAM Anda , misalnya melalui generator kebijakan AWS - kebijakan yang mencakup semuanya adalah:

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

Tentu saja Anda dapat drop cloudwatch:GetMetricStatistics cloudwatch:ListMetricsketika hanya menggunakan mon-put-instance-data.pl- harap dicatat bahwa saya belum benar-benar menguji kode.

Steffen Opel
sumber
Tindakan ini cocok dengan tindakan yang tercantum dalam dokumentasi di docs.aws.amazon.com/AWSEC2/latest/UserGuide/…
htaccess
2

Kebijakan di atas memberikan kesalahan meminta versi.

Berikut ini harus bekerja:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt1426849513000",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:GetMetricStatistics",
                "cloudwatch:ListMetrics",
                "cloudwatch:PutMetricAlarm",
                "cloudwatch:PutMetricData",
                "cloudwatch:SetAlarmState"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
Swapnil jaiswal
sumber
2

Ada Amazon yang menyediakan kebijakan IAM untuk CloudWatch. Tidak perlu membuat sendiri. CloudWatchFullAccess

jorfus
sumber
2
Terima kasih atas jawaban anda. Saya tidak ingin memberikan akses penuh ke CloudWatch ... Saya tidak ingin memberikan izin DeleteAlarms misalnya.
Céline Aussourd
Untuk layanan dynatrace, ini sempurna!
holms
IMHO, untuk hampir semua kasus penggunaan 'pemantauan', ini terlalu banyak akses. Skrip pemantauan Anda tidak perlu (mengatakan) membuat atau menghapus metrik atau dasbor. Kebijakan ini menambahkan beberapa izin non-cloudwatch yang terlihat cukup aman, tetapi kemudian menambahkan semua ini juga: docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/… . Pada tebakan kasar, CloudWatchReadOnlyAccessakan menjadi 'percobaan pertama' yang aman, tetapi bahkan itu mungkin terlalu murah hati.
Ralph Bolton