CloudWatchモニタリングスクリプトで使用するIAMロールのアクセス許可/ポリシー


13

CloudWatch監視スクリプト(mon-put-instance-data.pl)を使用すると、IAMロール名を指定してAWS認証情報を提供できます(--aws-iam-role = VALUE)。

この目的で(AWSインスタンスでmon-put-instance-data.plを実行するために)IAMロールを作成していますが、このロールにどのアクセス許可/ポリシーを付与する必要がありますか?

ご協力ありがとうございました

回答:


20

Linux用のアマゾンCloudWatchの監視スクリプトは 2つのPerlスクリプトで構成、両方の1つのPerlモジュールを使用している-元に短いPEEKが使用されている次のAWS APIアクションを明らかに:

この情報を使用して、AWSポリシージェネレーターなどを介してIAMポリシーを組み立てることができます。すべてを網羅するポリシーは次のようになります。

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

もちろんcloudwatch:GetMetricStatistics cloudwatch:ListMetrics、使用するだけで削除できmon-put-instance-data.plます。ただし、実際にコードをテストしたことはありません。



2

上記のポリシーでは、バージョンを尋ねるエラーが発生します。

以下が機能するはずです。

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

2

Amazonが提供するCloudWatchのIAMポリシーがあります。独自に構築する必要はありません。CloudWatchFullAccess


2
ご回答有難うございます。ただし、CloudWatchへのフルアクセスを与えたくありませんでした。たとえば、DeleteAlarms権限を与えたくありません。
セリーヌオースール

dynatraceサービスの場合、これは完璧です!
ホルム

私見、ほとんどすべての「監視」ユースケースでは、これはアクセスが多すぎます。監視スクリプトは、(たとえば)メトリックまたはダッシュボードを作成または削除する必要はありません。このポリシーは、かなり安全な外観の非クラウドウォッチ許可を追加しますが、これらすべても追加します:docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/…。大まかな推測でCloudWatchReadOnlyAccessは、安全な「最初の試行」になりますが、それでも過度に寛大かもしれません。
ラルフボルトン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.