Qué permisos / políticas para el rol de IAM se usarán con el script de monitoreo de CloudWatch


13

Con el script de supervisión de CloudWatch (mon-put-instance-data.pl) es posible especificar un nombre de rol de IAM para proporcionar credenciales de AWS (--aws-iam-role = VALUE).

Estoy creando un rol de IAM para este propósito (para ejecutar mon-put-instance-data.pl en una instancia de AWS), pero ¿qué permisos / políticas debo otorgar a este rol?

Gracias por tu ayuda

Respuestas:


20

Las secuencias de comandos de supervisión de Amazon CloudWatch para Linux se componen de dos secuencias de comandos Perl, ambas utilizando un módulo Perl: un breve vistazo a la fuente revela las siguientes acciones de la API de AWS que se utilizan:

Con esta información puede ensamblar su política de IAM , por ejemplo, a través del generador de políticas de AWS ; una política integral sería:

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

Por supuesto, puede caer cloudwatch:GetMetricStatistics cloudwatch:ListMetricscuando solo lo use mon-put-instance-data.pl, tenga en cuenta que en realidad no he probado el código.


Estas acciones coinciden con las acciones enumeradas en la documentación en docs.aws.amazon.com/AWSEC2/latest/UserGuide/…
— htaccess

2

La política anterior da error al solicitar la versión.

Lo siguiente debería funcionar:

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

2

Existe una política de IAM proporcionada por Amazon para CloudWatch. No es necesario construir el tuyo. CloudWatchFullAccess


2
Gracias por tu respuesta. Sin embargo, no quería dar acceso completo a CloudWatch ... No quiero dar permiso a DeleteAlarms, por ejemplo.
— Céline Aussourd

Para el servicio dynatrace, ¡esto es perfecto!
— holms

En mi humilde opinión, para casi cualquier caso de uso de 'monitoreo', este es demasiado acceso. Su secuencia de comandos de supervisión no necesita (por ejemplo) crear o eliminar métricas o paneles. La política agrega algunos permisos que no son de observación en la nube de aspecto bastante seguro, pero luego agrega todos estos: docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/… . En una suposición aproximada, CloudWatchReadOnlyAccesssería un "primer intento" seguro, pero incluso eso puede ser demasiado generoso.
— Ralph Bolton
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.