

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 将服务相关角色用于 AWS Compute Optimizer
<a name="using-service-linked-roles"></a>

AWS Compute Optimizer 使用 AWS Identity and Access Management (IAM) [服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)。服务相关角色是一种独特类型的 IAM 角色，它直接链接到 Compute Optimizer。服务相关角色由 Compute Optimizer 预定义，并包含服务代表您调用其他服务所需的所有权限。

对于服务相关角色，设置 Compute Optimizer 无需手动添加必要权限。Compute Optimizer 定义其服务相关角色的权限，除非另外定义，否则只有 Compute Optimizer 可以代入该角色。定义的权限包括信任策略和权限策略，而且权限策略不能附加到任何其他 IAM 实体。

有关支持服务相关角色的其它服务的信息，请参阅[使用 IAM 的AWS 服务](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)并查找**角色**列中显示为**是**的服务。请选择**是**与查看该服务的服务相关角色文档的链接。

**Topics**
+ [Compute Optimizer 的服务相关角色权限](#slr-permissions)
+ [服务相关角色权限](#service-linked-role-permissions)
+ [为 Compute Optimizer 创建服务相关角色](#create-slr)
+ [为 Compute Optimizer 编辑服务相关角色](#edit-slr)
+ [为 Compute Optimizer 删除服务相关角色](#delete-slr)
+ [Compute Optimizer 服务相关角色的支持区域](#slr-regions)
+ [其他资源](#slr-resources)

## Compute Optimizer 的服务相关角色权限
<a name="slr-permissions"></a>

Compute Optimizer 使用已命名的服务相关角色来**AWSServiceRoleForComputeOptimizer**访问账户中 AWS 资源的亚马逊 CloudWatch 指标。

 AWSServiceRoleForComputeOptimizer 服务相关角色信任以下服务来代入该角色：
+ `compute-optimizer.amazonaws.com`

根据角色权限策略，Compute Optimizer 能够对指定资源完成以下操作：
+ 操作：`cloudwatch:GetMetricData`对所有 AWS 资源采取行动。
+ 操作：`cloudwatch:DescribeAlarms`对所有 AWS 资源采取行动。
+ 操作：`organizations:DescribeOrganization`对所有 AWS 资源采取行动。
+ 操作：`organizations:ListAccounts`对所有 AWS 资源采取行动。
+ 操作：`organizations:ListAWSServiceAccessForOrganization`（针对所有 AWS 资源）。
+ 操作：`organizations:ListDelegatedAdministrators`（针对所有 AWS 资源）。
+ 操作：`autoscaling:DescribeAutoScalingInstances`（针对所有 AWS 资源）。
+ 操作：`autoscaling:DescribeAutoScalingGroups`（针对所有 AWS 资源）。
+ 操作：`autoscaling:DescribePolicies`（针对所有 AWS 资源）。
+ 操作：`autoscaling:DescribeScheduledActions`（针对所有 AWS 资源）。
+ 操作：`ec2:DescribeInstances`（针对所有 AWS 资源）。
+ 操作：`ec2:DescribeSnapshots`（针对所有 AWS 资源）。
+ 操作：`ec2:DescribeVolumesModifications`（针对所有 AWS 资源）。
+ 操作：`ec2:CreateVolume`（针对所有 AWS 资源）。
+ 操作：`ec2:ModifyVolume`（针对所有 AWS 资源）。
+ 操作：`ec2:DeleteVolume`（针对所有 AWS 资源）。
+ 操作：`ec2:CreateSnapshot`（针对所有 AWS 资源）。
+ 操作：`ec2:createTags`（针对所有 AWS 资源）。

## 服务相关角色权限
<a name="service-linked-role-permissions"></a>

要为 Compute Optimizer 创建服务相关角色，请配置权限以便使 IAM 实体（如用户、组或角色）创建服务相关角色。有关更多信息，请参阅《IAM 用户指南》**中的[服务相关角色权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)。

**允许 IAM 实体为 Compute Optimizer 创建特定服务相关角色**

将以下策略添加到需要创建服务相关角色的 IAM 实体中。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:CreateServiceLinkedRole",
            "Resource": "arn:aws:iam::*:role/aws-service-role/compute-optimizer.amazonaws.com/AWSServiceRoleForComputeOptimizer*",
            "Condition": {"StringLike": {"iam:AWSServiceName": "compute-optimizer.amazonaws.com"}}
        },
        {
            "Effect": "Allow",
            "Action": "iam:PutRolePolicy",
            "Resource": "arn:aws:iam::*:role/aws-service-role/compute-optimizer.amazonaws.com/AWSServiceRoleForComputeOptimizer"
        },
        {
            "Effect": "Allow",
            "Action": "compute-optimizer:UpdateEnrollmentStatus",
            "Resource": "*"
        }
    ]
}
```

------

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:CreateServiceLinkedRole",
            "Resource": "arn:aws-cn:iam::*:role/aws-service-role/compute-optimizer.amazonaws.com/AWSServiceRoleForComputeOptimizer*",
            "Condition": {"StringLike": {"iam:AWSServiceName": "compute-optimizer.amazonaws.com"}}
        },
        {
            "Effect": "Allow",
            "Action": "iam:PutRolePolicy",
            "Resource": "arn:aws-cn:iam::*:role/aws-service-role/compute-optimizer.amazonaws.com/AWSServiceRoleForComputeOptimizer"
        },
        {
            "Effect": "Allow",
            "Action": "compute-optimizer:UpdateEnrollmentStatus",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "organizations:DescribeOrganization",
            "Resource": "*"
        }
    ]
}
```

------

**允许 IAM 实体创建任何服务相关角色**

将以下语句添加到 IAM 实体的权限策略，该实体需要创建服务相关角色或任何包含所需策略的服务角色。此策略会将策略附加到角色。

```
{
    "Effect": "Allow",
    "Action": "iam:CreateServiceLinkedRole",
    "Resource": "arn:aws:iam::*:role/aws-service-role/*"
}
```

**允许 Compute Optimizer 代表客户执行建议的操作**

向需要创建服务相关角色的 IAM 实体或包含所需策略的任何服务角色的权限策略添加声明。此策略会将策略附加到角色。有关更多信息，请参阅托管策略页面[AWS 托管策略： ComputeOptimizerAutomationServiceRolePolicy](managed-policies.md#security-iam-awsmanpol-ComputeOptimizerAutomationServiceRolePolicy)上的。

## 为 Compute Optimizer 创建服务相关角色
<a name="create-slr"></a>

您无需手动创建服务关联角色。当你在、或 AWS API 中选择加入 Compute Optimizer 服务时 AWS 管理控制台，Compute Optimizer 会为你创建与服务相关的角色。 AWS CLI

**重要**  
如果您在其他使用此服务相关角色支持的功能的服务中完成某个操作，此角色会显示在您的账户中。有关更多信息，请参阅[我的 IAM 账户中出现新角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_roles.html#troubleshoot_roles_new-role-appeared)。

如果您删除该服务关联角色，然后需要再次创建，您可以使用相同流程在账户中重新创建此角色。当您选择加入 Compute Optimizer 服务时，Compute Optimizer 会再次为您创建服务相关角色。

## 为 Compute Optimizer 编辑服务相关角色
<a name="edit-slr"></a>

Compute Optimizer 不允许你编辑 AWSServiceRoleForComputeOptimizer 服务相关角色。在创建服务相关角色后，您将无法更改角色的名称，因为可能有多种实体引用该角色。不过，您可以使用 IAM 编辑角色的说明。有关更多信息，请参阅《IAM 用户指南》**中的[编辑服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)。

## 为 Compute Optimizer 删除服务相关角色
<a name="delete-slr"></a>

如果您不再需要使用 Compute Optimizer，我们建议您删除 AWSServiceRoleForComputeOptimizer 服务相关角色。通过这样的方式，就不会有未被主动监控或维护的未使用实体。但是，您必须先选择退出 Compute Optimizer，才能手动删除服务相关角色。

**选择退出 Compute Optimizer**

有关选择退出 Compute Optimizer 的信息，请参阅[选择退出 Compute Optimizer](account-opt-out.md)。

**使用 IAM 手动删除服务关联角色**

使用 IAM 控制台 AWS CLI、或 AWS API 删除 AWSServiceRoleForComputeOptimizer 服务相关角色。有关更多信息，请参阅《IAM 用户指南》**中的[删除服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)。

## Compute Optimizer 服务相关角色的支持区域
<a name="slr-regions"></a>

Compute Optimizer 支持在服务可用的所有区域中使用服务相关角色。要查看当前支持的 AWS 区域 和适用于 Compute Optimizer 的端点，请参阅**《AWS 一般参考》中的 [Compute Optimizer 端点和配额](https://docs.aws.amazon.com/general/latest/gr/compute-optimizer.html)。

## 其他资源
<a name="slr-resources"></a>
+ 故障排除 – [Compute Optimizer 中的故障排除](troubleshooting-account-opt-in.md)
+ [AWS 的托管策略 AWS Compute Optimizer](managed-policies.md)
+ [选择加入 AWS Compute Optimizer](account-opt-in.md)
+ [适用于 Identity and Access 管理 AWS Compute Optimizer](security-iam.md)