我想要限制对 Amazon CloudWatch 控制台的访问权限,以便只有特定用户才能对 CloudWatch 资源执行特定操作。
简短描述
如果您是 AWS 账户的管理员,则使用基于身份的策略将权限附加到 AWS Identity and Access Management(IAM)实体。基于身份的策略为您的 IAM 实体提供对 CloudWatch 资源执行操作所需的权限。
要查看可用于 CloudWatch 的所有权限,请参阅 Permissions required to use the CloudWatch console。
解决方法
为 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 指标的访问,请使用 PutMetricData 而不是 GetPutMetricData。