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

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.


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": [
                "*"
            ]
        }
    ]
}

2

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


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.