参考:AWS权限

您在 AWS 中设置的 IAM 身份必须指定 Turbonomic 发现、监控和优化 AWS 工作负载所需的权限。

最低权限--工作量监控

监控 AWS 工作负载需要以下最低权限。

透平功能 必需的许可权
发现 AWS 组织
  • organizations:DescribeOrganization

    发现当前账户所在组织的相关信息(组织 ID、管理账户 ID)。 需要访问管理帐户和成员帐户的目标需要此权限。

  • organizations:ListAccounts

    发现属于当前组织的所有账户。 可读取账户 ID、名称和状态等详细信息。 只有需要访问管理帐户的目标才需要此权限。

  • organizations:ListTagsForResource

    发现与组织内所有账户相关的标记键值对。 只有需要访问管理帐户的目标才需要此权限。

发现 IAM 身份(IAM 用户和/或 IAM 角色)
  • iam:GetUser

    查询 IAM 用户 ARN 的详细信息。 该权限读取账户 ID,以检测当前账户是管理账户还是成员账户。

  • sts:AssumeRole

    允许用户承担 IAM 角色并获取临时访问凭证,然后使用这些凭证调用 AWS API。 只有需要访问管理帐户的目标才需要此权限。

发现区域和可用性区域
  • ec2:DescribeAvailabilityZones

    检索所有可访问区域的可用性区域信息(逻辑区域名称 us-west-2a 和物理区域 ID usw2-az1

  • ec2:DescribeRegions

    发现可访问 EC2 地区的名称

发现各实体的衡量标准
  • cloudwatch:GetMetricData

    收集某些实体类型的指标,如 RDS 数据库服务器和 Redshift 数据仓库

  • cloudwatch:GetMetricStatistics

    根据特定命名空间和维度收集虚拟机和卷的指标(CPU 利用率

  • cloudwatch:ListMetrics

    查询有关需要收集的实体度量的元数据(名称、名称空间、维度

  • cloudwatch:ListTagsForResource

    检索与某些 CloudWatch 资源相关的标签键/值对

  • pi:GetResourceMetrics

    如果 RDS 数据库服务器启用了性能洞察 (PI),则会收集与 PI 相关的指标,如 DB 缓存命中率

  • pi:ListAvailableResourceMetrics

    查询可用于查询的 RDS 指标的元数据

发现 EC2 虚拟机和实例
  • ec2:DescribeAddresses

    发现可用的弹性 IP 地址及其与虚拟机实例的关联,包括公有和私有 IP 地址以及网络接口的信息

  • ec2:DescribeImages

    发现创建虚拟机时使用的映像信息。 然后利用这些信息来检测虚拟机上运行的客户操作系统。

  • ec2:DescribeInstanceTypeOfferings

    检测每个区域中可用的虚拟机实例类型。 这些信息随后将用于创建策略,防止虚拟机错误地扩展到其区域不支持的实例类型。

  • ec2:DescribeInstances

    发现 EC2 实例信息,如电源状态、实例 ID、区域和平台

  • ec2:DescribeInstanceTypes

    发现运行加速器(GPU)卡的虚拟机实例的信息,包括加速器卡的信息,如卡名、卡数、卡内存和制造商。 这些信息随后将用于为运行加速卡的虚拟机生成正确的扩展建议。

  • ec2:DescribeSpotInstanceRequests

    发现有关 EC2 Spot VM 实例的产品描述

  • ec2:DescribeSpotPriceHistory

    检索 EC2 Spot 虚拟机实例的当前 Spot 价格

发现 EC2 自动缩放群组
  • autoscaling:DescribeAutoScalingGroups

    查询有关可用自动缩放组的信息

  • autoscaling:DescribeTags

    获取与自动缩放组相关的标记信息

  • autoscaling:DescribeLaunchConfigurations

    获取有关可用 EC2 Auto Scaling 组启动配置的信息,如名称和实例类型。 AWS 建议使用启动模板而不是启动配置。

  • ec2:DescribeLaunchTemplateVersions

    发现自动扩展群组的最新和默认启动模板版本详细信息(ID、实例类型

发现 EBS 卷
  • ec2:DescribeVolumes

    发现有关 EBS 卷的信息(ID、类型、标签、大小

  • ec2:DescribeVolumeStatus

    执行卷标尺操作时检查卷的状态

  • ec2:DescribeVolumesModifications

    发现卷的最后修改时间和当前状态

查询 EBS 卷附件历史
  • cloudtrail:LookupEvents

    在初始目标注册过程中,从 CloudTrail 提取与卷相关的历史事件(如附加、分离和修改)。 该信息用于正确生成未连接卷的删除操作。

发现 RDS 数据库服务器
  • rds:DescribeDBClusters

    发现有关支持的 RDS DB 集群的信息

  • rds:DescribeDBInstances

    发现有关支持的 RDS DB 实例的信息

  • rds:DescribeDBParameters

    发现 RDS DB 参数组的参数信息

  • rds:DescribeOrderableDBInstanceOptions

    发现 DB 引擎类型的可订购 DB 实例选项信息

  • rds:DescribeReservedDBInstances

    发现有关在账户下购买的 RDS DB 实例的预留实例的信息(ID、类别、持续时间、提供类型

  • rds:ListTagsForResource

    发现与 RDS 资源相关的标签键值对信息

发现 Redshift 数据仓库
  • redshift:DescribeClusters

    发现有关 Redshift 配置集群的信息(ID、节点类型、状态

  • redshift:DescribeTags

    发现与 Redshift 资源相关的标记键值对

发现预留实例
  • ec2:DescribeReservedInstances

    发现有关为 AWS 账户购买的 EC2 和 RDS 预留实例的信息(ID、实例类型、租用期、范围

  • ec2:DescribeReservedInstancesModifications

    发现有关对已购买的预留实例所做修改的一些信息

发现储蓄计划
  • savingsplans:DescribeSavingsPlans

    发现有关可用储蓄计划的信息(承诺、 EC2 家庭实例、提供 ID

  • savingsplans:DescribeSavingsPlansOfferingRates

    发现有关指定储蓄计划发行费率的信息

  • ce:GetReservationUtilization

    使用成本资源管理器 API 发现有关预留实例利用率的信息(利用率百分比、购买小时数、实际小时数)。 只有管理和计费账户目标才需要此权限。

  • ce:GetSavingsPlansUtilizationDetails

    发现属性并汇总计费时段内可用储蓄计划的使用和储蓄数据。 只有管理和计费账户目标才需要此权限。

发现定价信息
  • pricing:DescribeServices

    从 AWS 定价 API 端点发现服务列表。 只有需要访问管理帐户的目标才需要此权限。

  • pricing:GetAttributeValues

    发现 AWS Pricing API 以前发现的每项服务的服务名称属性值。 只有需要访问管理帐户的目标才需要此权限。

发现现货定价历史
  • ec2:DescribeAccountAttributes

    检测往来账户是否为 EC2 Classic 类型。 查询现货定价历史记录所需的某些过滤操作需要此权限。

访问 S3 桶
  • s3:GetBucketAcl

    检索 S3 桶的访问控制列表(ACL)。 ACL 包含为 AWS 账户授予该桶的权限列表。 此权限检查是否可以访问与 AWS 云计费账户相关联的 S3 桶。 只有需要访问管理帐户的目标才需要此权限。

  • s3:GetObject

    从 S3 bucket 下载文件。 例如,成本导出 JSON 文件。 只有需要访问管理帐户的目标才需要此权限。

最低权限 - 行动执行

执行 AWS 工作负载的操作需要以下权限。

透平功能 必需的许可权
执行 EC2 虚拟机的操作
  • ec2:ModifyInstanceAttribute

    更改虚拟机实例类型属性,作为执行虚拟机扩展操作的一部分

  • ec2:StopInstances

    如果虚拟机实例正在运行,则在执行缩放操作前停止它们

  • ec2:StartInstances

    如果虚拟机实例之前正在运行,则在执行缩放操作后启动它们

执行 EC2 Auto Scaling 组和组中单个虚拟机的操作
  • autoscaling:CreateLaunchConfiguration

    创建具有新虚拟机实例类型的新启动配置,作为对自动扩展组中的虚拟机执行扩展操作的一部分。 请注意, AWS 鼓励对自动扩展组使用启动模板而不是启动配置。

  • autoscaling:DeleteLaunchConfiguration

    在自动扩展组中的虚拟机执行扩展操作时,一旦成功创建了具有新虚拟机实例类型的新启动配置,就会删除旧的启动配置

  • autoscaling:SuspendProcesses

    在缩放自动缩放组中的虚拟机之前,禁用 HealthCheck 进程。 缩放操作成功完成后,该过程将重新开始。

  • autoscaling:ResumeProcesses

    在自动扩展组中扩展虚拟机后启用 HealthCheck 进程

  • ec2:DescribeInstanceStatus

    一旦作为自动扩展组中虚拟机执行扩展操作的一部分更改了实例类型,确认 HealthCheck 进程已启动

  • autoscaling:SetDesiredCapacity

    调整自动扩展组在执行停放操作(启动和停止)时将尝试维护的虚拟机实例的目标数量

  • autoscaling:TerminateInstanceInAutoScalingGroup

    作为执行虚拟机挂起操作的一部分,终止自动扩展组中的虚拟机实例

  • autoscaling:UpdateAutoScalingGroup

    更新自动缩放组的最小大小、最大大小和所需容量,作为执行停放和暂停操作的一部分

  • ec2:CreateLaunchTemplateVersion

    创建具有新虚拟机实例类型的新启动模板版本,作为自动扩展组中虚拟机执行扩展操作的一部分

  • ec2:ModifyLaunchTemplate

    修改启动模板版本,作为对自动扩展组中的虚拟机执行扩展操作的一部分

  • iam:PassRole

    为自动扩展组中的虚拟机执行扩展操作。 只有为自动扩展组指定了 IAM 实例配置文件,才需要此权限。 IAM 实例配置文件包含一个 IAM 角色,自动扩展组启动的新 EC2 实例上运行的任何新应用程序都会使用该角色。 如果正在缩放的自动缩放组没有 IAM 实例配置文件,则不需要此权限。

  • ec2:RunInstances

    作为自动扩展组虚拟机扩展操作执行的一部分,启动新模板

  • ec2:CreateTags

    作为自动扩展组虚拟机扩展操作执行的一部分,启动新模板。 只有当使用的启动模板带有标记时,才需要此权限。 可以选择将权限范围限制为仅自动缩放组虚拟机资源,而不是使用 * 符号。

执行 EBS 卷的行动
  • ec2:ModifyVolume

    修改卷属性(如卷类型、大小、IOPS 和吞吐量),作为执行卷扩展操作的一部分

  • ec2:DeleteVolume

    删除当前未连接的卷

执行 RDS 数据库服务器的操作
  • rds:ModifyDBInstance

    更新分配的存储和 IOPS 值,作为 RDS 数据库服务器执行扩展操作的一部分

  • rds:StartDBInstance

    启动之前作为执行停放操作的一部分而停止的 RDS 实例

  • rds:StopDBInstance

    作为执行停机操作的一部分,暂时停止运行中的 RDS DB 实例

为 Redshift 数据仓库执行操作
  • redshift:PauseCluster

    暂时中止 Redshift 集群

密钥管理
  • KMS:CreateGrant

    允许委托人在密钥管理服务 (KMS) 密钥上创建授权(为其他委托人分配使用密钥权限的机制)

许可资源

在 AWS 中设置 IAM 身份之前,请下载相应的 JSON 或 YAML 资源,其中指定了前几节中概述的权限。 请参考下表,了解根据 IAM 政策需要下载的资源。

湍流目标 IAM 策略
AWS 计费 选择以下某个选项:
AWS