CloudWatch コンソールへのアクセスを制限するにはどうすればよいですか?

最終更新日: 2022 年 5 月 11 日

特定のユーザーが CloudWatch リソースに対して特定のアクションを実行できるようにすることで、Amazon CloudWatch コンソールへのアクセスを制限したいと考えています。どうすればよいですか?

簡単な説明

AWS アカウントの管理者である場合、アイデンティティベースのポリシーを使用して、AWS Identity and Access Management (IAM) エンティティ (ユーザー、グループ、またはロール) に許可をアタッチできます。これらのアイデンティティベースのポリシーは、CloudWatch リソースでオペレーションを実行するために必要な許可を IAM エンティティに付与することができます。これを行うには、次を実行します。

  • IAM コンソールを使用して CloudWatch リソースのカスタム読み書きポリシーを作成する
  • IAM ユーザーにポリシーをアタッチする

解決方法

CloudWatch リソースのカスタムポリシーを作成する

注: CloudWatch を操作するために必要なすべての許可を表示するには、「CloudWatch コンソールの使用に必要な許可」を参照してください。

CloudWatch リソースのカスタムポリシーを作成するには、次の手順に従います。

1.    IAM コンソールを開きます。

2.    [ポリシー] を選択し、[ポリシーの作成] を選択します。

3.    [JSON] を選択し、次の構造を使用してカスタムポリシーを作成します。

{
  "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Description_1”, 
            "Effect": "Allow",
            "Action": [premissions required],
            "Resource": "*"
        },
        {
            "Sid": "Description_2”, 
            "Effect": "Allow",
            "Action": [premissions required],
            "Resource": "*"
        },
        .
        .
        .
        .
        {
            "Sid": "Description_n”, 
            "Effect": "Allow",
            "Action": [premissions required],
            "Resource": "*"
        }
    ]
}

: CloudWatch はリソースベースのポリシーをサポートしていません。そのため、IAM ポリシーで使用できる CloudWatch ARN はありません。CloudWatch アクションへのアクセスを制御するポリシーを記述するときは、リソースとして「*」を使用できます。

4.    オプションで、ポリシーにタグを追加します。

5.    [review the policy] (ポリシーを確認) を選択し、ポリシーの名前と説明を入力します。例えば、CWPermissions などです。

6.    [Create policy] (ポリシーを作成) を選択します。

IAM ユーザーにカスタムポリシーをアタッチする

作成したカスタムポリシーを IAM ユーザーにアタッチするには、次のステップに従います。

1.    IAM コンソールを開きます。

2.    ナビゲーションペインから、[Users] (ユーザー) を選択します。

3.    許可を追加するユーザーを選択し、[Add permissions] (許可を追加) を選択します。

4.    [Attach existing policies directly] (既存のポリシーを直接アタッチ) を選択し、作成したカスタム CloudWatch ポリシーを選択します。

5.    [Next: Review] (次へ: 確認) を選択し、[Add permissions] (許可を追加) を選択します。

このサンプルポリシーでは、ユーザーが CloudWatch でアラートを作成して視覚化できます。

{

    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "CreateAlarms",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:PutMetricAlarm",
                "cloudwatch:DescribeAlarmHistory",
                "cloudwatch:EnableAlarmActions",
                "cloudwatch:DeleteAlarms",
                "cloudwatch:DisableAlarmActions",
                "cloudwatch:DescribeAlarms",
                "cloudwatch:SetAlarmState"
            ],
            "Resource": "*"
        },
        {
            "Sid": "visualizeAlarms",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:DescribeAlarmsForMetric",
                "cloudwatch:ListMetrics"
                "cloudwatch:GetMetricData"
            ],
            "Resource": "*"
        }
    ]
}

:

  • 条件キーを使用して CloudWatch 名前空間へのアクセスを制限できます。詳細については、「Using condition keys to limit access to CloudWatch namespaces」(条件キーを使用して CloudWatch 名前空間へのアクセスを制限する) を参照してください。
  • ユーザーが CloudWatch メトリクスをプルすることを制限したい場合は、GetMetricData を PutMetricData に置き換えます。

この記事はお役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?