Quelles autorisations / politiques pour le rôle IAM à utiliser avec le script de surveillance CloudWatch

13

Avec le script de surveillance CloudWatch (mon-put-instance-data.pl), il est possible de spécifier un nom de rôle IAM pour fournir les informations d'identification AWS (--aws-iam-role = VALUE).

Je crée un rôle IAM à cet effet (pour exécuter mon-put-instance-data.pl sur une instance AWS), mais quelles autorisations / politiques dois-je donner à ce rôle ??

Merci de votre aide

Céline Aussourd
la source

Réponses:

20

Les scripts de surveillance Amazon CloudWatch pour Linux sont composés de deux scripts Perl, utilisant tous deux un module Perl - un bref aperçu de la source révèle les actions d'API AWS suivantes utilisées:

Avec ces informations, vous pouvez assembler votre politique IAM , par exemple via le générateur de politique AWS - une politique globale serait:

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

Bien sûr, vous pouvez supprimer cloudwatch:GetMetricStatistics cloudwatch:ListMetricsen utilisant simplement mon-put-instance-data.pl- veuillez noter que je n'ai pas réellement testé le code.

Steffen Opel
la source
Ces actions correspondent aux actions répertoriées dans la documentation sur docs.aws.amazon.com/AWSEC2/latest/UserGuide/…
htaccess
2

La politique ci-dessus donne une erreur de demande de version.

Les éléments suivants devraient fonctionner:

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

Il existe une politique IAM fournie par Amazon pour CloudWatch. Pas besoin de construire le vôtre. CloudWatchFullAccess

jorfus
la source
2
Merci pour votre réponse. Je ne voulais pas donner un accès complet à CloudWatch cependant ... Je ne veux pas donner l'autorisation DeleteAlarms par exemple.
Céline Aussourd
Pour le service Dynatrace, c'est parfait!
holms
À mon humble avis, pour presque tous les cas d'utilisation de «surveillance», c'est trop d'accès. Votre script de surveillance n'a pas besoin (par exemple) de créer ou de supprimer des mesures ou des tableaux de bord. La stratégie ajoute des autorisations non cloudwatch d'aspect assez sûr, mais ajoute ensuite toutes ces autorisations : docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/… . À première vue, ce CloudWatchReadOnlyAccessserait un «premier essai» sûr, mais même cela peut être trop généreux.
Ralph Bolton