跳至主要内容

亚马逊云科技支持

控制对 Trusted Advisor 控制台的访问

概述

通过添加新的 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:*",
"Resource": "*"

管理员访问
高级用户访问

只读访问

"Action": "trustedadvisor:Describe*",
"Resource": "*"

只读访问

特定检查项目类别

"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
VolumeId
tag:Name
VolumeType
AttachmentSet.Item.VolumeId
AttachmentSet.Item.InstanceId
AttachmentSet.Item.Device

Amazon EBS 预调配 IOPS 卷附加配置

区域/可用区 | 卷 ID | 卷名称 | 卷附件 | 实例 ID | 实例类型 | EBS 优化 | 状态

ec2:DescribeInstanceAttribute

InstanceId
EbsOptimized

Amazon EBS 快照

区域 | 卷 ID | 卷名称 | 快照 ID | 快照名称 | 快照存留时间 | 卷附件 | 状态 | 原因

ec2:DescribeVolumes

VolumeId
VolumeType
tag:Name

Amazon EBS 快照

区域 | 卷 ID | 卷名称 | 快照 ID | 快照名称 | 快照存留时间 | 卷附件 | 状态 | 原因

cloudwatch:GetMetricStatistics

VolumeReadOps
VolumeWriteOps

Amazon EC2 可用区平衡

区域 | a 区实例 | b 区实例 | c 区实例 | d 区实例 | e 区实例 | 状态 | 原因

ec2:DescribeInstances

AvailabilityZone

Amazon S3 存储桶日志记录

区域 | 存储桶名称 | 目标名称 | 目标存在 | 同一所有者 | 启用写入 | 状态 | 原因

s3:GetService

BucketName
Owner

Amazon S3 存储桶日志记录

区域 | 存储桶名称 | 目标名称 | 目标存在 | 同一所有者 | 启用写入 | 状态 | 原因

s3:GetBucketLogging

TargetName

Amazon S3 存储桶日志记录

区域 | 存储桶名称 | 目标名称 | 目标存在 | 同一所有者 | 启用写入 | 状态 | 原因

s3:GetBucketAcl

Grantee
Permission

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
InstanceId
tag:Name

高使用率 Amazon EC2 实例

区域/可用区 | 实例 ID | 实例名称 | 实例类型 | 第 1 天...第 14 天 | 14 天平均 CPU 使用率 | CPU 使用率超过 90% 的天数

cloudwatch:GetMetricStatistics

CPUUtilization
NetworkIn
NetworkOut

应用于实例的过多 EC2 安全组规则

区域 | 实例 ID | 实例名称 | VPC ID | 入站规则总数 | 出站规则总数

ec2:DescribeInstances
ec2:DescribeGroups

InstanceId
tag:Name
VpcId
GroupId
GroupName

应用于实例的过多 EC2 安全组规则

区域 | 实例 ID | 实例名称 | VPC ID | 入站规则总数 | 出站规则总数

ec2:DescribeGroups

IpPermissions
IpPermissionsEgress

EC2 安全组中的过多规则

区域 | 安全组名称 | 组 ID | 描述 | 实例计数 | VPC ID | 入站规则总数 | 出站规则总数

ec2:DescribeGroups

GroupName
GroupId
GroupDescription
VpcId
IpPermissions
IpPermissionsEgress

EC2 安全组中的过多规则

区域 | 安全组名称 | 组 ID | 描述 | 实例计数 | VPC ID | 入站规则总数 | 出站规则总数

ec2:DescribeInstances

GroupId
InstanceId

负载均衡器优化

区域 | 负载均衡器名称 | 区域数量 | a 区实例 | b 区实例 | c 区实例 | d 区实例 | e 区实例 | 状态 | 原因

elasticloadbalancing: DescribeLoadBalancers

LoadBalancerName
AvailabilityZones

过度使用的标准 Amazon EBS 卷

区域 | 卷 ID | 卷名称 | 第 1 天...第 14 天 | 超出天数 | 最大每日中间值 | 状态

ec2:DescribeVolumes

VolumeId
VolumeType
tag:Name

过度使用的标准 Amazon EBS 卷

区域 | 卷 ID | 卷名称 | 第 1 天...第 14 天 | 超出天数 | 最大每日中间值 | 状态

cloudwatch:GetMetricStatistics

VolumeReadOps
VolumeWriteOps

安全组 – 特定端口不受限制

区域 | 安全组名称 | 安全组 ID | 协议 | 状态 | 端口

ec2:DescribeSecurityGroups

GroupName
GroupId
IpPermissions
IpProtocol
FromPort
ToPort

安全组 – 不受限制的访问

区域 | 安全组名称 | 安全组 ID | 协议 | 端口 | 状态 | IP 范围

ec2:DescribeSecurityGroups

GroupName
GroupId
IpPermissions
IpProtocol
FromPort
ToPort
IpRanges

服务限制

区域 | 服务 | 限制名称 | 限制量 | 当前使用量 | 状态

[显示限制和多项服务的当前使用量。请参阅 Trusted Advisor 常见问题中的“您要检查哪些服务限制”了解详细信息。]

[Varies]

无关联的弹性 IP 地址

区域 | IP 地址

ec2:DescribeAddresses

PublicIp
InstanceId

无关联的弹性 IP 地址

区域 | IP 地址

ec2:DescribeInstances

InstanceState

IAM 策略示例

下面是 IAM 策略的示例,您可以使用这些示例来控制对 Trusted Advisor 控制台的访问。有关如何制定策略的更多信息,请参阅《Amazon Identity and Access Management 用户指南》中的 Overview of Amazon IAM Policies。

拒绝所有访问

以下示例策略会拒绝对所有 Trusted Advisor 检查项目结果的访问:

bash
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "trustedadvisor:*",
            "Resource": "*"
        }
    ]
}

允许所有访问

以下示例策略会允许用户查看所有 Trusted Advisor 检查项目(并对其采取一切操作):

bash
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "trustedadvisor:*",
            "Resource": "*"
        }
    ]
}

检查项目类别

要在策略中指定 Trusted Advisor 检查项目类别,请使用以下格式的 Amazon 资源名称(ARN):

bash
arn:aws-cn:trustedadvisor:*:accountnumber:checks/categoryCode/*

查看类别

要查看检查项目类别,请参阅表 2。下表显示了为每个类别指定的类别代码。

表 4:类别和类别代码

类别
类别代码
成本优化

cost_optimizing

性能

performance

安全性

security

容错能力

fault_tolerance

表 4:类别和类别代码

以下示例策略通过指定类别代码,允许用户查看容错能力和性能类别中的检查项目(并对其执行其他操作):

bash
{   
    "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):

bash
arn:aws-cn:trustedadvisor:*:accountnumber:checks/categoryCode/checkId

特定检查项目

类别和 ID 显示在表 2;类别代码显示在表 4 中。

示例策略

以下示例策略通过指定检查项目的类别和 ID,允许用户查看两个与 Amazon S3 有关的特定检查项目(并对其执行其他操作):

bash
{   
    "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 的权限。

IncludeCheckItems

无法将项目的状态从排除改为包含。
可能可以将项目从包含改为排除,这取决于 ExcludeCheckItems 的权限。

DescribeNotificationPreferences

无法查看通知偏好设置页面中的信息。

UpdateNotificationPreferences

无法变更通知偏好设置页面中的选项。

表 5:Trusted Advisor 操作

以下示例策略允许用户查看所有 Trusted Advisor 检查项目,但不允许用户刷新任何检查项目:

json
{   
    "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 策略概览