Welche Berechtigungen / Richtlinien für die IAM-Rolle für das CloudWatch-Überwachungsskript verwendet werden sollen


13

Mit dem CloudWatch-Überwachungsskript (mon-put-instance-data.pl) kann ein IAM-Rollenname angegeben werden, um AWS-Anmeldeinformationen bereitzustellen (--aws-iam-role = VALUE).

Ich erstelle zu diesem Zweck eine IAM-Rolle (um mon-put-instance-data.pl auf einer AWS-Instanz auszuführen), aber welche Berechtigungen / Richtlinien soll ich dieser Rolle geben?

Danke für deine Hilfe

Antworten:


20

Die Amazon CloudWatch Monitoring-Skripte für Linux bestehen aus zwei Perl-Skripten, die beide ein Perl-Modul verwenden. Ein kurzer Blick in die Quelle zeigt die folgenden verwendeten AWS-API-Aktionen:

Mit diesen Informationen können Sie Ihre IAM-Richtlinie zusammenstellen , z. B. über den AWS-Richtliniengenerator. Eine umfassende Richtlinie wäre:

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

Natürlich können Sie den Code fallen lassen, cloudwatch:GetMetricStatistics cloudwatch:ListMetricswenn Sie ihn nur verwenden mon-put-instance-data.pl- bitte beachten Sie, dass ich den Code jedoch noch nicht getestet habe.


Diese Aktionen stimmen mit den in der Dokumentation unter docs.aws.amazon.com/AWSEC2/latest/UserGuide/…
htaccess

2

Die obige Richtlinie gibt Fehler bei der Abfrage der Version.

Folgendes sollte funktionieren:

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

2

Es gibt eine von Amazon bereitgestellte IAM-Richtlinie für CloudWatch. Sie müssen keine eigenen bauen. CloudWatchFullAccess


2
Danke für deine Antwort. Ich wollte jedoch keinen vollständigen Zugriff auf CloudWatch gewähren ... Ich möchte beispielsweise DeleteAlarms keine Berechtigung erteilen.
Céline Aussourd

Für Dynatrace-Service ist dies perfekt!
Holms

Meiner Meinung nach ist dies für fast jeden Anwendungsfall der Überwachung zu viel Zugriff. Ihr Überwachungsskript muss keine Metriken oder Dashboards erstellen oder löschen. Die Richtlinie fügt einige recht sicher aussehende Nicht-Cloudwatch-Berechtigungen hinzu, fügt jedoch auch all diese hinzu: docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/… . Eine grobe Vermutung CloudWatchReadOnlyAccesswäre ein sicherer erster Versuch, aber selbst das kann zu großzügig sein.
Ralph Bolton
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.