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

Céline Aussourd
quelle

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.

Steffen Opel
quelle
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": [
                "*"
            ]
        }
    ]
}
Swapnil jaiswal
quelle
2

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

Jorfus
quelle
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