

• AWS Systems Manager CloudWatch 控制面板在 2026 年 4 月 30 日之后将不再可用。客户可以像现在一样继续使用 Amazon CloudWatch 控制台来查看、创建和管理其 Amazon CloudWatch 控制面板。有关更多信息，请参阅 [Amazon CloudWatch 控制面板文档](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)。

# 配置 Systems Manager 所需的实例权限
<a name="setup-instance-permissions"></a>

默认情况下，AWS Systems Manager 没有在您的实例上执行操作的权限。您可以使用 AWS Identity and Access Management（IAM）角色在账户级别提供实例权限，也可以使用实例配置文件在实例级别提供实例权限。如果您的应用场景允许，我们建议使用“默认主机管理配置”在账户级别授予访问权限。

**注意**  
您可以跳过此步骤，并允许 Systems Manager 在设置统一控制台时为您的实例应用所需的权限。有关更多信息，请参阅 [设置 AWS Systems Manager](systems-manager-setting-up-console.md)。

## EC2 实例权限的建议配置
<a name="default-host-management"></a>

“默认主机管理配置”允许 Systems Manager 自动管理您的 Amazon EC2 实例。在您打开此设置后，在 AWS 区域 和已安装 SSM Agent 版本 3.2.582.0 或更高版本的 AWS 账户 中，使用实例元数据服务版本 2（IMDSv2）的所有实例都将自动变为托管实例。“默认主机管理配置”不支持实例元数据服务版本 1。有关过渡到 IMDSv2 的信息，请参阅《Amazon EC2 用户指南》**中的[过渡到使用实例元数据服务版本 2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-metadata-transition-to-version-2.html)。有关检查您的实例上安装的 SSM Agent 版本的信息，请参阅 [正在检查 SSM Agent 版本号](ssm-agent-get-version.md)。有关更新 SSM Agent 的信息，请参阅 [自动更新 SSM Agent](ssm-agent-automatic-updates.md#ssm-agent-automatic-updates-console)。托管实例具有以下好处：
+ 可以使用 Session Manager 安全地连接到您的实例。
+ 可以使用 Patch Manager 执行自动补丁扫描。
+ 可以使用 Systems Manager 清单查看有关您的实例的详细信息。
+ 可以使用 Fleet Manager 追踪和管理实例。
+ 可以自动保持 SSM Agent 处于最新状态。

Fleet Manager、Inventory、Patch Manager和Session Manager都是 AWS Systems Manager 中的工具。

“默认主机管理配置”允许在不使用实例配置文件的情况下进行实例管理，并可确保 Systems Manager 有权管理相应区域和账户中的所有实例。如果提供的权限不足以满足您的应用场景要求，您还可以向“默认主机管理配置”创建的默认 IAM 角色添加策略。或者，如果您不需要默认 IAM 角色提供的所有功能的权限，可以创建自己的自定义角色和策略。对您为“默认主机管理配置”选择的 IAM 角色所做的任何更改，都适用于相应区域和账户中的所有托管 Amazon EC2 实例。有关“默认主机管理配置”所用策略的更多信息，请参阅 [AWS 托管式策略：AmazonSSMManagedEC2InstanceDefaultPolicy](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonSSMManagedEC2InstanceDefaultPolicy)。有关“默认主机管理配置”的更多信息，请参阅[使用默认主机管理配置自动管理 EC2 实例](fleet-manager-default-host-management-configuration.md)。

**重要**  
使用默认主机管理配置注册的实例将在 `/lib/amazon/ssm` 或 `C:\ProgramData\Amazon` 目录中本地存储注册信息。如果移除这些目录或其中的文件，将导致实例无法使用默认主机管理配置获取连接到 Systems Manager 所需的凭证。在这些情况下，您必须使用实例配置文件为您的实例提供所需的权限，或者重新创建实例。

**注意**  
此过程仅由管理员执行。在允许个人配置或修改“默认主机管理配置”时，实施最低权限访问。您必须在要自动管理 Amazon EC2 实例的每个 AWS 区域 中打开“默认主机管理配置”。

**打开“默认主机管理配置”设置**  
您可以从 Fleet Manager 控制台打开“默认主机管理配置”。要使用 AWS 管理控制台 或您的首选命令行工具成功完成此过程，您必须拥有 [GetServiceSetting](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetServiceSetting.html)、[ResetServiceSetting](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_ResetServiceSetting.html) 和 [UpdateServiceSetting](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_UpdateServiceSetting.html) API 操作的权限。此外，您还必须有权获得 `AWSSystemsManagerDefaultEC2InstanceManagementRole` IAM 角色的 `iam:PassRole` 权限。以下是示例策略。将每个*示例资源占位符*替换为您自己的信息。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetServiceSetting",
                "ssm:ResetServiceSetting",
                "ssm:UpdateServiceSetting"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:servicesetting/ssm/managed-instance/default-ec2-instance-management-role"
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "arn:aws:iam::111122223333:role/service-role/AWSSystemsManagerDefaultEC2InstanceManagementRole",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": [
                        "ssm.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

在开始之前，如果您已将实例配置文件附加到您的 Amazon EC2 实例，请移除允许该 `ssm:UpdateInstanceInformation` 操作的任何权限。在使用“默认主机管理配置”权限之前，SSM Agent 将尝试使用实例配置文件权限。如果您在实例配置文件中允许该 `ssm:UpdateInstanceInformation` 操作，则该实例将不使用“默认主机管理配置”权限。

1. 访问 [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)，打开 AWS Systems Manager 控制台。

1. 在导航窗格中，请选择 **Fleet Manager**。

1. 在**账户管理**下拉列表中选择**配置默认主机管理配置**。

1. 打开**启用默认主机管理配置**。

1. 选择用于为实例启用 Systems Manager 工具的 IAM角色。我们建议使用“默认主机管理配置”提供的默认角色。它包含使用 Systems Manager 管理您的 Amazon EC2 实例所需的最低权限集合。如果您更喜欢使用自定义角色，则该角色的信任策略必须允许 Systems Manager 作为可信实体。

1. 选择**配置**以完成设置。

在打开“默认主机管理配置”后，您的实例可能需要最长 30 分钟才能使用所选角色的凭证。您必须在要自动管理 Amazon EC2 实例的每个区域中打开“默认主机管理配置”。

## EC2 实例权限的替代配置
<a name="instance-profile-add-permissions"></a>

您可以使用 AWS Identity and Access Management（IAM）实例配置文件来授予单个实例级别的访问权限。实例配置文件是一个容器，可在启动时将 IAM 角色信息传递给 Amazon Elastic Compute Cloud (Amazon EC2) 实例。您可以把一个或多个定义所需权限的 IAM policy 附加到新角色或已创建的角色上，以便为 Systems Manager 创建实例配置文件。

**注意**  
可以使用Quick Setup（AWS Systems Manager 中的一项工具），在您 AWS 账户中的所有实例上快速配置实例配置文件。Quick Setup还可创建 IAM 服务角色（或*担任*角色），该角色允许 Systems Manager 代表您在实例上安全地运行命令。在使用 Quick Setup 时，您可以跳过该步骤（步骤 3）和步骤 4。有关更多信息，请参阅 [AWS Systems Manager Quick Setup](systems-manager-quick-setup.md)。

请注意以下有关创建 IAM 实例配置文件的详细信息：
+ 如果您在[混合和多云](operating-systems-and-machine-types.md#supported-machine-types)环境中为 Systems Manager 配置非 EC2 计算机，则无需为它们创建实例配置文件。相反，您必须将服务器和 VM 配置为使用 IAM 服务角色。有关更多信息，请参阅[在混合和多云环境中创建 Systems Manager 所需的 IAM 服务角色](hybrid-multicloud-service-role.md)。
+ 如果更改 IAM 实例配置文件，实例凭证可能需要一些时间才能刷新。刷新后，SSM Agent 才会处理请求。要加快刷新过程，您可以重新启动 SSM Agent或重新启动实例。

根据您是为实例配置文件创建新角色还是为现有角色添加所需权限，请使用以下过程之一。<a name="setup-instance-profile-managed-policy"></a>

**为 Systems Manager 托管实例创建实例配置文件（控制台）**

1. 访问：[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)，打开 IAM 控制台。

1. 在导航窗格中，选择**角色**，然后选择**创建角色**。

1. 对于 **Trusted entity type**（可信实体类型），选择 **AWS 服务**。

1. 在 **Use case**（应用场景）下，选择 **EC2**，然后选择 **Next**（下一步）。

1. 在 **Add permissions**（添加权限）页面上，请执行以下操作：
   + 使用**搜索**字段查找 **AmazonSSMManagedInstanceCore** 策略。选中其名称旁边的复选框，如下图所示。  
![\[该复选框在 AmazonSSMManagedInstanceCore 行中处于选中状态。\]](http://docs.aws.amazon.com/zh_cn/systems-manager/latest/userguide/images/setup-instance-profile-2.png)

     即使您搜索其他策略，控制台也会保留您选择的内容。
   + 如果您在上一过程中创建了自定义 S3 存储桶策略 [（可选）为 S3 存储桶访问创建自定义策略](#instance-profile-custom-s3-policy)，请搜索该策略并选中其名称旁边的复选框。
   + 如果您打算将实例加入 Directory Service 管理的 Active Directory，请搜索 **AmazonSSMDirectoryServiceAccess** 并选中其名称旁边的复选框。
   + 如果您打算使用 Eventbridge 或 CloudWatch Logs 来管理或监控您的实例，请搜索 **CloudWatchAgentServerPolicy** 并选中其名称旁边的复选框。

1. 选择**下一步**。

1. 对于**Role name**（角色名称），请输入新实例配置文件的名称，例如 **SSMInstanceProfile**。
**注意**  
记下角色名称。在创建希望使用 Systems Manager 进行管理的新实例时，将选择该角色。

1. （可选）对于 **Description**（描述），更新此实例配置文件的描述。

1. （可选）对于 **Tags**（标签），添加一个或多个标签键值对，以组织、跟踪或控制此角色的访问，然后选择 **Create role**（创建角色）。系统将让您返回到 **角色** 页面。<a name="setup-instance-profile-custom-policy"></a>

**将 Systems Manager 的实例配置文件权限添加到现有角色（控制台）**

1. 访问：[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)，打开 IAM 控制台

1. 在导航窗格中，选择**角色**，然后选择要与 Systems Manager 操作关联的实例配置文件关联的现有角色。

1. 在 **Permissions**（权限）选项卡上，选择 **Add Permissions, Attach policies**（添加权限，附上策略）。

1. 在 **Attach policy**（附上策略）页面上，执行以下操作：
   + 使用**搜索**字段查找 **AmazonSSMManagedInstanceCore** 策略。选中其名称旁边的复选框。
   + 如果您已经创建了自定义 S3 存储桶策略，请搜索该策略并选中其名称旁边的复选框。有关实例配置文件的自定义 S3 存储桶策略的信息，请参阅 [（可选）为 S3 存储桶访问创建自定义策略](#instance-profile-custom-s3-policy)。
   + 如果您打算将实例加入 Directory Service 管理的 Active Directory，请搜索 **AmazonSSMDirectoryServiceAccess** 并选中其名称旁边的复选框。
   + 如果您打算使用 Eventbridge 或 CloudWatch Logs 来管理或监控您的实例，请搜索 **CloudWatchAgentServerPolicy** 并选中其名称旁边的复选框。

1. 选择**附加策略**。

有关如何更新角色以包含可信实体或进一步限制访问的信息，请参阅 *IAM 用户指南*中的[修改角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html)。

## （可选）为 S3 存储桶访问创建自定义策略
<a name="instance-profile-custom-s3-policy"></a>

只有在 Systems Manager 操作中使用 VPC 端点或使用您自己的 S3 存储桶时，才需要为 Amazon S3 访问创建自定义策略。您可以将此策略附加到由“默认主机管理配置”创建的默认 IAM 角色，或您在之前的过程中创建的实例配置文件。

有关您在以下策略中提供访问权限的 AWS 托管 S3 存储桶的信息，请参阅 [SSM Agent 与 AWS 托管 S3 存储桶进行通信](ssm-agent-technical-details.md#ssm-agent-minimum-s3-permissions)。

1. 访问：[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)，打开 IAM 控制台。

1. 在导航窗格中，选择 **Policies (策略)**，然后选择 **Create policy (创建策略)**。

1. 选择 **JSON** 选项卡，并将原定设置文本替换为以下内容。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "s3:GetObject",
               "Resource": [
                   "arn:aws:s3:::aws-ssm-us-east-2/*",
                   "arn:aws:s3:::aws-windows-downloads-us-east-2/*",
                   "arn:aws:s3:::amazon-ssm-us-east-2/*",
                   "arn:aws:s3:::amazon-ssm-packages-us-east-2/*",
                   "arn:aws:s3:::us-east-2-birdwatcher-prod/*",
                   "arn:aws:s3:::aws-ssm-distributor-file-us-east-2/*",
                   "arn:aws:s3:::aws-ssm-document-attachments-us-east-2/*",
                   "arn:aws:s3:::patch-baseline-snapshot-us-east-2/*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetObject",
                   "s3:PutObject",
                   "s3:PutObjectAcl",
                   "s3:GetEncryptionConfiguration"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket/*",
                   "arn:aws:s3:::amzn-s3-demo-bucket"
               ]
           }
       ]
   }
   ```

------
**注意**  
只有在使用 VPC 端点时，才需要使用第一个 `Statement` 元素。  
只有在 Systems Manager 操作中使用您创建的 S3 存储桶时，才需要使用第二个 `Statement` 元素。  
只有在您打算为其他账户中的 S3 存储桶提供跨账户访问支持时，才需要使用 `PutObjectAcl` 访问控制列表权限。  
如果您的 S3 存储桶配置为使用加密，则 `GetEncryptionConfiguration` 元素是必需的。  
如果您的 S3 存储桶配置为使用加密，则 S3 存储桶根（例如 `arn:aws:s3:::amzn-s3-demo-bucket`）必须列在**资源**部分。您的用户、组或角色必须配置为有权访问根存储桶。

1. 如果在操作中使用 VPC 端点，请执行以下操作：

   在第一个 `Statement` 元素中，将每个*区域*占位符替换为将使用该策略 AWS 区域 的标识符。例如，对于美国东部 (俄亥俄) 区域，请使用 `us-east-2`。有关支持的 *region* 值的列表，请参阅《Amazon Web Services 一般参考》**中的 [Systems Manager service endpoints](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region) 的 **Region** 列。
**重要**  
我们建议您避免在该策略中使用通配符 (\$1) 以替代特定区域。例如，使用 `arn:aws:s3:::aws-ssm-us-east-2/*` 而不使用 `arn:aws:s3:::aws-ssm-*/*`。使用通配符可能会提供对您不打算授予访问权限的 S3 存储桶的访问。如果要将实例配置文件用于多个区域，我们建议每个区域重复使用第一个 `Statement` 元素。

   -或者-

   如果在操作中不使用 VPC 端点，您可以删除第一个 `Statement` 元素。

1. 如果在 Systems Manager 操作中使用您自己的 S3 存储桶，请执行以下操作：

   在第二个 `Statement` 元素中，将 *amzn-s3-demo-bucket* 替换为您的账户中的 S3 存储桶的名称。将在 Systems Manager 操作中使用该存储桶。它将 `"arn:aws:s3:::my-bucket-name/*"` 作为资源，以便为存储桶中的对象提供权限。有关为存储桶或存储桶中的对象提供权限的更多信息，请参阅 [Amazon Simple Storage Service 用户指南](https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html)中的 *Amazon S3 操作*主题，以及 AWS 博客文章 [IAM policy、存储桶策略和 ACL！Oh, My\$1 (Controlling Access to S3 Resources)](https://aws.amazon.com/blogs/security/iam-policies-and-bucket-policies-and-acls-oh-my-controlling-access-to-s3-resources/)。
**注意**  
如果您使用多个存储桶，请提供每个存储桶的 ARN。有关存储桶的权限，请参阅以下示例。  

   ```
   "Resource": [
   "arn:aws:s3:::amzn-s3-demo-bucket1/*",
   "arn:aws:s3:::amzn-s3-demo-bucket2/*"
                  ]
   ```

   - 或者 -

   如果在 Systems Manager 操作中不使用您自己的 S3 存储桶，您可以删除第二个 `Statement` 元素。

1. 选择**下一步：标签**。

1. （可选）通过选择 **Add tag**（添加标签）并输入策略的首选标签来添加标签。

1. 选择**下一步：审核**。

1. 在 **Name**（名称）中，输入用于标识此策略的名称，例如 **SSMInstanceProfileS3Policy**。

1. 选择**创建策略**。

## 托管实例的其他策略注意事项
<a name="instance-profile-policies-overview"></a>

本部分介绍了一些策略，您可以将这些策略添加到由“默认主机管理配置”或您的 AWS Systems Manager 实例配置文件创建的默认 IAM 角色中。要为实例和 Systems Manager API 之间的通信提供权限，我们建议您创建反映系统需求和安全要求的自定义策略。根据您的操作计划，您可能需要具有在其他策略的一个或多个策略中表示的权限。

**策略：`AmazonSSMDirectoryServiceAccess`**  
只有在您打算将 Windows Server 的 Amazon EC2 实例加入 Microsoft AD 目录时才需要。  
该 AWS 托管策略允许 SSM Agent 代表您访问 AWS Directory Service，以处理托管实例加入域的请求。有关更多信息，请参阅 *AWS Directory Service 管理指南*中的[无缝加入 Windows EC2 实例](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/launching_instance.html)。

**策略：`CloudWatchAgentServerPolicy`**  
只有在您打算在实例上安装并运行 CloudWatch 代理，以读取实例上的指标和日志数据并将其写入到 Amazon CloudWatch 时才需要。这些操作可以帮助您监控、分析和快速响应存在的问题或对您的 AWS 资源的更改。  
仅当您将使用 Amazon EventBridge 或 Amazon CloudWatch Logs 等功能时，由“默认主机管理配置”或实例配置文件创建的默认 IAM 角色才需要此策略。（您还可以创建限制性更强的策略，例如，限制对特定 CloudWatch Logs 日志流的写入访问。）  
使用 EventBridge 和 CloudWatch Logs 功能是可选的。但是，如果您决定使用这些功能，我们建议您在开始执行 Systems Manager 配置过程时就设置这些功能。有关更多信息，请参阅 *[Amazon EventBridge User Guide](https://docs.aws.amazon.com/eventbridge/latest/userguide/)* 和 *[Amazon CloudWatch Logs User Guide](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/)*。
要创建拥有其他 Systems Manager 工具权限的 IAM 策略，请参阅以下资源：  
+ [使用 IAM 策略限制对 Parameter Store 参数的访问](sysman-paramstore-access.md)
+ [设置自动化](automation-setup.md)
+ [步骤 2：验证或添加 Session Manager 的实例权限](session-manager-getting-started-instance-profile.md)

## 将 Systems Manager 实例配置文件附加到实例（控制台）
<a name="attach-instance-profile"></a>

以下步骤介绍了如何使用 Amazon EC2 控制台将 IAM 实例配置文件附加到 Amazon EC2 实例。

1. 登录 AWS 管理控制台，打开 Amazon EC2 控制台：[https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)。

1. 在导航窗格中的 **Instances** 下，选择 **Instances**。

1. 导航至并从列表中选择您的 EC2 实例。

1. 在**操作** 菜单中，选择**安全**、**修改 IAM 角色**。

1. 对于 **IAM role (IAM 角色)**，选择您使用 [EC2 实例权限的替代配置](#instance-profile-add-permissions) 中的过程创建的实例配置文件。

1. 选择 **Update **IAM role****（更新 IAM 角色）。

有关将 IAM 角色附加到实例的更多信息，请选择以下操作之一，具体取决于您选择的操作系统类型：
+ 《Amazon EC2 用户指南》**中的[将 IAM 角色附加到实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#attach-iam-role)
+ 《Amazon EC2 用户指南》**中的[将 IAM 角色附加到实例](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/iam-roles-for-amazon-ec2.html#attach-iam-role)

继续[使用适用于 Systems Manager 的 VPC 端点提高 EC2 实例的安全性](setup-create-vpc.md)。