概述
通过添加新的 Amazon Identity and Access Management(IAM)功能,Amazon Trusted Advisor 控制台引入了新的方法来控制对 Trusted Advisor 检查项目的访问。要查看 Trusted Advisor 结果或进行操作(例如刷新检查数据或从结果中排除项目),IAM 用户必须拥有操作权限及以“trustedadvisor”命名空间指定的资源。有关创建策略并将其应用于用户和组的完整信息,请参阅 Amazon Identity and Access Management 文档。
下表显示了 Trusted Advisor 控制台的常见权限场景。
表 1:常见权限场景
|
访问
|
规范
|
IAM 控制台模板
|
|---|---|---|
|
完全访问
|
"Action": "trustedadvisor:*", |
管理员访问 |
|
只读访问
|
"Action": "trustedadvisor:Describe*", |
只读访问 |
|
特定检查项目类别
|
"Resource": "arn:aws-cn:trustedadvisor:*:acct:checks/category/*" |
无;请参阅检查项目类别 |
|
特定检查项目
|
"Resource": "arn:aws-cn:trustedadvisor:*:acct:checks/category/checkID" |
无;请参阅特定检查项目 |
|
特定操作
|
"Action": "trustedadvisor:actionName" |
无;请参阅特定操作 |
Trusted Advisor 显示的信息
Trusted Advisor 会显示与亚马逊云科技账户关联的某些资源的信息。
重要提示:尽管用户在未经过策略特别许可的情况下无法变更这些资源,但却可以在未获得查看授权的情况下查看信息。例如,查看与 Amazon EC2 实例相关的检查项目的用户可能会看到实例的信息或使用量数据,即使其他策略明确规定了不允许查看此信息。
以下两个表格显示了 Trusted Advisor 显示的信息:
表 2 显示了当前 Trusted Advisor 检查项目的标题、类别、ID 和报告栏。您可以使用类别和检查项目 ID 来引用 IAM 策略中的特定检查项目。
表 3 显示了服务特定操作(API)的示例和数据,这些示例和数据与检查项目显示的信息相对应。
尽管下表中罗列的报告栏可以提醒您注意检查项目所提供的信息,但是您仍应检查账户的 Trusted Advisor 报告,以确保充分了解每个检查项目所提供的信息。
表 2:检查类别、ID 和报告栏
|
检查项目标题
|
类别
|
检查项目 ID
|
报告栏
|
|---|---|---|---|
|
Amazon EBS 预调配 IOPS 卷附加配置
|
性能 |
PPkZrjsH2q |
区域/可用区 | 卷 ID | 卷名称 | 卷附件 | 实例 ID | 实例类型 | EBS 优化 | 状态 |
|
Amazon EBS 快照
|
容错能力 |
H7IgTzjTYb |
区域 | 卷 ID | 卷名称 | 快照 ID | 快照名称 | 快照存留时间 | 卷附件 | 状态 | 原因 |
|
Amazon EC2 可用区平衡
|
容错能力 |
wuy7G1zxql |
区域 | a 区实例 | b 区实例 | c 区实例 | d 区实例 | e 区实例 | 状态 | 原因 |
|
Amazon S3 存储桶日志记录
|
容错能力 |
BueAdJ7NrP |
区域 | 存储桶名称 | 目标名称 | 目标存在 | 同一所有者 | 启用写入 | 状态 | 原因 |
|
Amazon S3 存储桶权限
|
安全性 |
Pfx0RwqBli |
区域名称 | 区域 API 参数 | 存储桶名称 | 全局列表访问 | 全局上传/删除访问 | 状态 |
|
高使用率 Amazon EC2 实例
|
性能 |
ZRxQlPsb6c |
区域/可用区 | 实例 ID | 实例名称 | 实例类型 | 第 1 天...第 14 天 | 14 天平均 CPU 使用率 | CPU 使用率超过 90% 的天数 |
|
应用于实例的过多 EC2 安全组规则
|
性能 |
j3DFqYTe29 |
区域 | 实例 ID | 实例名称 | VPC ID | 入站规则总数 | 出站规则总数 |
|
EC2 安全组中的过多规则
|
容错能力 |
Tolerance tfg86AVHAZ |
区域 | 安全组名称 | 组 ID | 描述 | 实例计数 | VPC ID | 入站规则总数 | 出站规则总数 |
|
负载均衡器优化
|
容错能力 |
iqdCTZKCUp |
区域 | 负载均衡器名称 | 区域数量 | a 区实例 | b 区实例 | c 区实例 | d 区实例 | e 区实例 | 状态 | 原因 |
|
过度使用的标准 Amazon EBS 卷
|
性能 |
k3J2hns32g |
区域 | 卷 ID | 卷名称 | 第 1 天...第 14 天 | 超出天数 | 最大每日中间值 | 状态 |
|
安全组 – 特定端口不受限制
|
安全性 |
HCP4007jGY |
区域 | 安全组名称 | 安全组 ID | 协议 | 状态 | 端口 |
|
安全组 – 不受限制的访问
|
安全性 |
1iG5NDGVre |
区域 | 安全组名称 | 安全组 ID | 协议 | 端口 | 状态 | IP 范围 |
|
无关联的弹性 IP 地址
|
成本优化 |
Z4AUBRNSmz |
区域 | IP 地址 |
报告栏
下表再次显示了每个检查项目的报告栏,并增加了服务特定操作示例,示例所显示数据与 Trusted Advisor 报告栏中所显示数据相对应。请注意,Trusted Advisor 不一定会使用所列操作;这些操作只为示范一种信息显示方式。
例如,如果您拒绝用户访问 Amazon EC2 DescribeInstances 操作,但同时允许用户访问 Trusted Advisor 低使用率 EC2 实例检查项目,则用户可以查看 DescribeInstances 返回的部分信息,即使已明确拒绝其访问 DescribeInstances。
表 3:示例操作和数据
|
检查项目标题
|
报告栏
|
操作
|
数据
|
|---|---|---|---|
|
Amazon EBS 预调配 IOPS 卷附加配置
|
区域/可用区 | 卷 ID | 卷名称 | 卷附件 | 实例 ID | 实例类型 | EBS 优化 | 状态 |
ec2:DescribeVolumes |
AvailabilityZone |
|
Amazon EBS 预调配 IOPS 卷附加配置
|
区域/可用区 | 卷 ID | 卷名称 | 卷附件 | 实例 ID | 实例类型 | EBS 优化 | 状态 |
ec2:DescribeInstanceAttribute |
InstanceId |
|
Amazon EBS 快照
|
区域 | 卷 ID | 卷名称 | 快照 ID | 快照名称 | 快照存留时间 | 卷附件 | 状态 | 原因 |
ec2:DescribeVolumes |
VolumeId |
|
Amazon EBS 快照
|
区域 | 卷 ID | 卷名称 | 快照 ID | 快照名称 | 快照存留时间 | 卷附件 | 状态 | 原因 |
cloudwatch:GetMetricStatistics |
VolumeReadOps |
|
Amazon EC2 可用区平衡
|
区域 | a 区实例 | b 区实例 | c 区实例 | d 区实例 | e 区实例 | 状态 | 原因 |
ec2:DescribeInstances |
AvailabilityZone |
|
Amazon S3 存储桶日志记录
|
区域 | 存储桶名称 | 目标名称 | 目标存在 | 同一所有者 | 启用写入 | 状态 | 原因 |
s3:GetService |
BucketName |
|
Amazon S3 存储桶日志记录
|
区域 | 存储桶名称 | 目标名称 | 目标存在 | 同一所有者 | 启用写入 | 状态 | 原因 |
s3:GetBucketLogging |
TargetName |
|
Amazon S3 存储桶日志记录
|
区域 | 存储桶名称 | 目标名称 | 目标存在 | 同一所有者 | 启用写入 | 状态 | 原因 |
s3:GetBucketAcl |
Grantee |
|
Amazon S3 存储桶权限
|
区域名称 | 区域 API 参数 | 存储桶名称 | 全局列表访问 | 全局上传/删除访问 | 状态 |
s3:GetService |
BucketName Owner |
|
Amazon S3 存储桶权限
|
区域名称 | 区域 API 参数 | 存储桶名称 | 全局列表访问 | 全局上传/删除访问 | 状态 |
s3:GetBucketAcl |
Grantee Permission |
|
高使用率 Amazon EC2 实例
|
区域/可用区 | 实例 ID | 实例名称 | 实例类型 | 第 1 天...第 14 天 | 14 天平均 CPU 使用率 | CPU 使用率超过 90% 的天数 |
ec2:DescribeInstances |
AvailabilityZone |
|
高使用率 Amazon EC2 实例
|
区域/可用区 | 实例 ID | 实例名称 | 实例类型 | 第 1 天...第 14 天 | 14 天平均 CPU 使用率 | CPU 使用率超过 90% 的天数 |
cloudwatch:GetMetricStatistics |
CPUUtilization |
|
应用于实例的过多 EC2 安全组规则
|
区域 | 实例 ID | 实例名称 | VPC ID | 入站规则总数 | 出站规则总数 |
ec2:DescribeInstances |
InstanceId |
|
应用于实例的过多 EC2 安全组规则
|
区域 | 实例 ID | 实例名称 | VPC ID | 入站规则总数 | 出站规则总数 |
ec2:DescribeGroups |
IpPermissions |
|
EC2 安全组中的过多规则
|
区域 | 安全组名称 | 组 ID | 描述 | 实例计数 | VPC ID | 入站规则总数 | 出站规则总数 |
ec2:DescribeGroups |
GroupName |
|
EC2 安全组中的过多规则
|
区域 | 安全组名称 | 组 ID | 描述 | 实例计数 | VPC ID | 入站规则总数 | 出站规则总数 |
ec2:DescribeInstances |
GroupId |
|
负载均衡器优化
|
区域 | 负载均衡器名称 | 区域数量 | a 区实例 | b 区实例 | c 区实例 | d 区实例 | e 区实例 | 状态 | 原因 |
elasticloadbalancing: DescribeLoadBalancers |
LoadBalancerName |
|
过度使用的标准 Amazon EBS 卷
|
区域 | 卷 ID | 卷名称 | 第 1 天...第 14 天 | 超出天数 | 最大每日中间值 | 状态 |
ec2:DescribeVolumes |
VolumeId |
|
过度使用的标准 Amazon EBS 卷
|
区域 | 卷 ID | 卷名称 | 第 1 天...第 14 天 | 超出天数 | 最大每日中间值 | 状态 |
cloudwatch:GetMetricStatistics |
VolumeReadOps |
|
安全组 – 特定端口不受限制
|
区域 | 安全组名称 | 安全组 ID | 协议 | 状态 | 端口 |
ec2:DescribeSecurityGroups |
GroupName |
|
安全组 – 不受限制的访问
|
区域 | 安全组名称 | 安全组 ID | 协议 | 端口 | 状态 | IP 范围 |
ec2:DescribeSecurityGroups |
GroupName |
|
服务限制
|
区域 | 服务 | 限制名称 | 限制量 | 当前使用量 | 状态 |
[显示限制和多项服务的当前使用量。请参阅 Trusted Advisor 常见问题中的“您要检查哪些服务限制”了解详细信息。] |
[Varies] |
|
无关联的弹性 IP 地址
|
区域 | IP 地址 |
ec2:DescribeAddresses |
PublicIp |
|
无关联的弹性 IP 地址
|
区域 | IP 地址 |
ec2:DescribeInstances |
InstanceState |
IAM 策略示例
下面是 IAM 策略的示例,您可以使用这些示例来控制对 Trusted Advisor 控制台的访问。有关如何制定策略的更多信息,请参阅《Amazon Identity and Access Management 用户指南》中的 Overview of Amazon IAM Policies。
拒绝所有访问
以下示例策略会拒绝对所有 Trusted Advisor 检查项目结果的访问:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": "trustedadvisor:*",
"Resource": "*"
}
]
}
允许所有访问
以下示例策略会允许用户查看所有 Trusted Advisor 检查项目(并对其采取一切操作):
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "trustedadvisor:*",
"Resource": "*"
}
]
}
检查项目类别
要在策略中指定 Trusted Advisor 检查项目类别,请使用以下格式的 Amazon 资源名称(ARN):
arn:aws-cn:trustedadvisor:*:accountnumber:checks/categoryCode/*
查看类别
要查看检查项目类别,请参阅表 2。下表显示了为每个类别指定的类别代码。
表 4:类别和类别代码
|
类别
|
类别代码
|
|---|---|
|
成本优化
|
cost_optimizing |
|
性能
|
performance |
|
安全性
|
security |
|
容错能力
|
fault_tolerance |
表 4:类别和类别代码
以下示例策略通过指定类别代码,允许用户查看容错能力和性能类别中的检查项目(并对其执行其他操作):
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "trustedadvisor:*",
"Resource": ["arn:aws-cn:trustedadvisor:*:123456789012:checks/fault_tolerance/*", "arn:aws-cn:trustedadvisor:*:123456789012:checks/performance/*"]
}
]
}
特定检查项目
要在策略中允许或拒绝对特定 Trusted Advisor 检查项目的权限,请使用以下格式的 Amazon 资源名称(ARN):
arn:aws-cn:trustedadvisor:*:accountnumber:checks/categoryCode/checkId
示例策略
以下示例策略通过指定检查项目的类别和 ID,允许用户查看两个与 Amazon S3 有关的特定检查项目(并对其执行其他操作):
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "trustedadvisor:*",
"Resource": [
"arn:aws:trustedadvisor:*:123456789012:checks/fault_tolerance/BueAdJ7NrP",
"arn:aws:trustedadvisor:*:123456789012:checks/security/Pfx0RwqBli"
]
}
]
}
特定操作
您可以控制想让用户看到的信息量,还可以控制刷新检查项目、从检查项目结果中排除和包含项目以及查看和修改通知偏好设置的能力。
要在策略中允许或拒绝使用特定 Trusted Advisor 操作,应在操作前加上“trustedadvisor:”命名空间前缀。
下表显示了可以指定的操作以及拒绝该操作权限的结果。
表 5:Trusted Advisor 操作
|
操作
|
拒绝后的效果
|
|---|---|
|
DescribeCheckResult
|
无法查看任何 Trusted Advisor 信息。 |
|
DescribeCheckItems
|
无法查看详细信息(结果表中的项目)。 |
|
RefreshCheck
|
无法刷新检查项目,也无法变更项目的排除或包含状态,因为变更项目状态需要刷新检查项目。 |
|
ExcludeCheckItems
|
无法将项目的状态从包含改为排除。 |
|
IncludeCheckItems
|
无法将项目的状态从排除改为包含。 |
|
DescribeNotificationPreferences
|
无法查看通知偏好设置页面中的信息。 |
|
UpdateNotificationPreferences
|
无法变更通知偏好设置页面中的选项。 |
表 5:Trusted Advisor 操作
以下示例策略允许用户查看所有 Trusted Advisor 检查项目,但不允许用户刷新任何检查项目:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "trustedadvisor:*",
"Resource": [
"arn:aws-cn:trustedadvisor:*:123456789012:checks/fault_tolerance/BueAdJ7NrP",
"arn:aws-cn:trustedadvisor:*:123456789012:checks/security/Pfx0RwqBli"
]
}
]
}
更多
有关如何构建策略的更多信息,请参阅 Amazon Identity and Access Management 用户指南中的 Amazon IAM 策略概览。