Amazon CloudWatch コンソールへのアクセスを制限して、特定のユーザーだけが CloudWatch リソースに対して特定のアクションを実行できるようにしたいと考えています。
簡単な説明
AWS アカウントの管理者である場合は、アイデンティティベースのポリシーを使用して AWS Identity and Access Management (IAM) エンティティにアクセス許可をアタッチします。アイデンティティベースのポリシーは、CloudWatch リソースでオペレーションを実行するために必要なアクセス許可を IAM エンティティに付与します。
CloudWatch で使用できるすべてのアクセス許可を確認するには、「CloudWatch コンソールを使用するために必要なアクセス許可」を参照してください。
解決策
CloudWatch リソース用のカスタムポリシーを作成する
次の手順を実行します。
- IAM コンソールを開きます。
- **[ポリシー]**を選択します。
- [ポリシーを作成] を選択します。
- [JSON] を選択します。
- カスタムポリシーを作成します。
ポリシーの例:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Description_1",
"Effect": "Allow",
"Action": [permissions required],
"Resource": "*"
},
{
"Sid": "Description_2",
"Effect": "Allow",
"Action": [permissions required],
"Resource": "*"
},
.
.
.
.
{
"Sid": "Description_n",
"Effect": "Allow",
"Action": [permissions required],
"Resource": "*"
}
]
}
注: CloudWatch はリソースベースのポリシーをサポートしていないため、IAM ポリシーで CloudWatch ARN を使用することはできません。CloudWatch アクションへのアクセスを制御するポリシーを記述するときは、リソースとして**「*」**を使用してください。
- (オプション) ポリシーにタグを追加します。
- [ポリシーを確認] を選択します。
- ポリシーの名前と説明を入力します。例えば、CWPermissions です。
- [ポリシーを作成] を選択します。
IAM ユーザーにカスタムポリシーをアタッチする
次の手順を実行します。
- IAM コンソールを開きます。
- ナビゲーションペインで、[ユーザー] を選択します。
- アクセス許可を追加する対象のユーザーを選択します。
- [許可を追加] を選択します。
- [既存のポリシーを直接アタッチ] を選択します。
- カスタム CloudWatch ポリシーを選択します。
- [次へ: レビュー] を選択します。
- [許可を追加] を選択します。
次のポリシーの例では、ユーザーが 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 名前空間へのアクセスを制限するには、条件キーを使用してください。
- CloudWatch メトリクスへのユーザーアクセスを制限するには、GetPutMetricData ではなく PutMetricData を使用してください。