Quais permissões / políticas para a função IAM devem ser usadas com o script de monitoramento CloudWatch


13

Com o script de monitoramento do CloudWatch (mon-put-instance-data.pl), é possível especificar um nome de função do IAM para fornecer credenciais da AWS (--aws-iam-role = VALUE).

Estou criando uma função do IAM para essa finalidade (para executar mon-put-instance-data.pl em uma instância da AWS), mas quais permissões / políticas devo atribuir a essa função?

obrigado pela ajuda

Respostas:


20

Os scripts de monitoramento do Amazon CloudWatch para Linux são compostos por dois scripts Perl, ambos usando um módulo Perl - uma breve espiada na fonte revela as seguintes ações da API da AWS que estão sendo usadas:

Com essas informações, você pode montar sua política do IAM , por exemplo, através do gerador de políticas da AWS - uma política abrangente seria:

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

Claro que você pode soltar cloudwatch:GetMetricStatistics cloudwatch:ListMetricsquando estiver usando mon-put-instance-data.pl- observe que, na verdade, ainda não testei o código.


Essas ações correspondem às ações listadas na documentação em docs.aws.amazon.com/AWSEC2/latest/UserGuide/…
htaccess

2

A política acima fornece erro ao solicitar a versão.

O seguinte deve funcionar:

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

2

Existe uma política do IAM fornecida pela Amazon para o CloudWatch. Não há necessidade de construir o seu próprio. CloudWatchFullAccess


2
Obrigado pela sua resposta. Eu não queria dar acesso total ao CloudWatch ... Não quero dar a permissão DeleteAlarms, por exemplo.
Céline Aussourd

Para o serviço dynatrace, isso é perfeito!
holms

IMHO, para quase qualquer caso de uso de 'monitoramento', isso é acesso demais. Seu script de monitoramento não precisa (digamos) criar ou excluir métricas ou painéis. A política adiciona algumas permissões que não são de observação na nuvem com aparência bastante segura, mas também adiciona todas elas: docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/… . Em um palpite aproximado, CloudWatchReadOnlyAccessseria uma "primeira tentativa" segura, mas mesmo isso pode ser excessivamente generoso.
Ralph Bolton
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.