

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

# Amazon Systems Manager 如何与 IAM 协同工作
<a name="security_iam_service-with-iam"></a>

在使用 Amazon Identity and Access Management (IAM) 管理对 Amazon Systems Manager 的访问权限之前，您应该了解哪些 IAM 功能可用于 Systems Manager。要大致了解 Systems Manager 和其他 Amazon Web Services 服务如何与 IAM 一起使用，请参阅《IAM 用户指南》**中的[与 IAM 一起使用的 Amazon Web Services 服务](https://docs.amazonaws.cn/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)。

**Topics**
+ [Systems Manager 基于身份的策略](#security_iam_service-with-iam-id-based-policies)
+ [Systems Manager 基于资源的策略](#security_iam_service-with-iam-resource-based-policies)
+ [基于 Systems Manager 标签的授权](#security_iam_service-with-iam-tags)
+ [Systems Manager IAM 角色](#security_iam_service-with-iam-roles)

## Systems Manager 基于身份的策略
<a name="security_iam_service-with-iam-id-based-policies"></a>

使用 IAM 基于身份的策略，您可以指定允许或拒绝的操作和资源以及允许或拒绝操作的条件。Systems Manager 支持特定的操作、资源和条件密钥。要了解在 JSON 策略中使用的所有元素，请参阅《IAM 用户指南》中的 [IAM JSON 策略元素参考](https://docs.amazonaws.cn/IAM/latest/UserGuide/reference_policies_elements.html)**。

### 操作
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

管理员可以使用 Amazon JSON 策略来指定谁有权访问什么内容。也就是说，哪个**主体**可以对什么**资源**执行**操作**，以及在什么**条件**下执行。

JSON 策略的 `Action` 元素描述可用于在策略中允许或拒绝访问的操作。在策略中包含操作以授予执行关联操作的权限。

Systems Manager 中的策略操作在操作前使用以下前缀：`ssm:`。例如，要授予某人使用 Systems Manager `PutParameter` API 操作创建 Systems Manager 参数（SSM 参数）的权限，您应将 `ssm:PutParameter` 操作纳入其策略中。策略语句必须包括 `Action` 或 `NotAction` 元素。Systems Manager 定义了自己的一组操作，这些操作描述了可使用该服务执行的任务。

要在单个语句中指定多项操作，请使用逗号将它们隔开，如下所示：

```
"Action": [
      "ssm:action1",
      "ssm:action2"
]
```

**注意**  
Amazon Systems Manager 中以下工具在操作之前使用不同的前缀。  
Amazon AppConfig 在操作之前使用前缀 `appconfig:`。
Incident Manager 在操作之前使用前缀 `ssm-incidents:` 或 `ssm-contacts:`。
Systems Manager GUI Connect 在操作之前使用前缀 `ssm-guiconnect:`。
Quick Setup 在操作之前使用前缀 `ssm-quicksetup:`。

您也可以使用通配符（\$1）指定多个操作。例如，要指定以单词 `Describe` 开头的所有操作，包括以下操作：

```
"Action": "ssm:Describe*"
```



要查看 Systems Manager 操作的列表，请参阅《服务授权参考》中的 [Amazon Systems Manager 定义的操作](https://docs.amazonaws.cn/service-authorization/latest/reference/list_awssystemsmanager.html#awssystemsmanager-actions-as-permissions)。**

### 资源
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

管理员可以使用 Amazon JSON 策略来指定谁有权访问什么内容。也就是说，哪个**主体**可以对什么**资源**执行**操作**，以及在什么**条件**下执行。

`Resource` JSON 策略元素指定要向其应用操作的一个或多个对象。作为最佳实践，请使用其 [Amazon 资源名称（ARN）](https://docs.amazonaws.cn/IAM/latest/UserGuide/reference-arns.html)指定资源。对于不支持资源级权限的操作，请使用通配符 (\$1) 指示语句应用于所有资源。

```
"Resource": "*"
```



例如，Systems Manager 维护时段资源具有以下 ARN 格式。

```
arn:aws:ssm:region:account-id:maintenancewindow/window-id
```

要在美国东部（俄亥俄州）区域的语句中指定 mw-0c50858d01EXAMPLE 维护时段，请使用与以下类似的 ARN。

```
"Resource": "arn:aws:ssm:us-east-2:123456789012:maintenancewindow/mw-0c50858d01EXAMPLE"
```

要指定属于特定账户的所有维护时段，请使用通配符 (\$1)。

```
"Resource": "arn:aws:ssm:region:123456789012:maintenancewindow/*"
```

对于 `Parameter Store` API 操作，可以使用层次结构名称和 Amazon Identity and Access Management (IAM) 策略提供或限制对层次结构的一个级别中所有参数的访问权限，如下所示。

```
"Resource": "arn:aws:ssm:region:123456789012:parameter/Dev/ERP/Oracle/*"
```

某些 Systems Manager 操作（例如用于创建资源的那些操作）不能在特定资源上执行。在这些情况下，您必须使用通配符（\$1)。

```
"Resource": "*"
```

有些 Systems Manager API 操作接受多个资源。要在单个语句中指定多个资源，请使用逗号分隔其 ARN，如下所示。

```
"Resource": [
      "resource1",
      "resource2"
```

**注意**  
大多数 Amazon Web Services 服务将 ARN 中的冒号（:）或正斜杠（/）视为同一个字符。不过，Systems Manager 在资源模式和规则中要求精确匹配。创建事件模式时，请务必使用正确的 ARN 字符，以使其与资源的 ARN 匹配。

下表介绍了 Systems Manager 支持的资源类型的 ARN 格式。

**注意**  
请注意以下 ARN 格式的例外情况。  
Amazon Systems Manager 中以下工具在操作之前使用不同的前缀。  
Amazon AppConfig 在操作之前使用前缀 `appconfig:`。
Incident Manager 在操作之前使用前缀 `ssm-incidents:` 或 `ssm-contacts:`。
Systems Manager GUI Connect 在操作之前使用前缀 `ssm-guiconnect`。
Amazon 拥有的文档和自动化定义资源，以及 Amazon 和第三方来源提供的公有参数，都未在 ARN 格式中包含账户 ID。例如：  
SSM 文档 `AWS-RunPatchBaseline`：  
`arn:aws:ssm:us-east-2::document/AWS-RunPatchBaseline` 
自动化运行手册 `AWS-ConfigureMaintenanceWindows`：  
`arn:aws:ssm:us-east-2::automation-definition/AWS-ConfigureMaintenanceWindows`
公有参数 `/aws/service/bottlerocket/aws-ecs-1-nvidia/x86_64/1.13.4/image_version`：  
`arn:aws:ssm:us-east-2::parameter/aws/service/bottlerocket/aws-ecs-1-nvidia/x86_64/1.13.4/image_version`
有关这些第三方资源类型的更多信息，请参阅以下主题：  
[使用文档](documents-using.md)
[运行由 Systems Manager Automation 支持的自动化操作](running-simple-automations.md)
[使用 Parameter Store 中的公有参数](parameter-store-public-parameters.md)
Quick Setup 在操作之前使用前缀 `ssm-quicksetup:`。


| 资源类型 | ARN 格式 | 
| --- | --- | 
| 应用程序 (Amazon AppConfig) | arn:aws:appconfig:region:account-id:application/application-id | 
| 关联 | arn:aws:ssm:region:account-id:association/association-id | 
| 自动化执行 | arn:aws:ssm:region:account-id:automation-execution/automation-execution-id | 
| 自动化定义 (使用版本子资源) |  arn:aws:ssm:*region*:*account-id*:automation-definition/*automation-definition-id*:*version-id* **1**  | 
| 配置文件 (Amazon AppConfig) | arn:aws:appconfig:region:account-id:application/application-id/configurationprofile/configurationprofile-id | 
| 联系人 (Incident Manager) |  arn:aws:ssm-contacts:*region*:*account-id*:contact/*contact-alias*  | 
| 部署策略 (Amazon AppConfig) | arn:aws:appconfig:region:account-id:deploymentstrategy/deploymentstrategy-id | 
| 文档 |  arn:aws:ssm:*region*:*account-id*:document/*document-name*  | 
| 环境 (Amazon AppConfig) | arn:aws:appconfig:region:account-id:application/application-id/environment/environment-id | 
| 事件 |  arn:aws:ssm-incidents:*region*:*account-id*:incident-record/*response-plan-name*/*incident-id*  | 
| 维护时段 |  arn:aws:ssm:*region*:*account-id*:maintenancewindow/*window-id*  | 
| 托管式节点 |  arn:aws:ssm:*region*:*account-id*:managed-instance/*managed-node-id*  | 
| 托管式节点清单 | arn:aws:ssm:region:account-id:managed-instance-inventory/managed-node-id | 
| OpsItem | arn:aws:ssm:region:account-id:opsitem/OpsItem-id | 
| 参数 |  一级参数： [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/systems-manager/latest/userguide/security_iam_service-with-iam.html) 使用分层结构命名的参数： [\[See the AWS documentation website for more details\]](http://docs.amazonaws.cn/systems-manager/latest/userguide/security_iam_service-with-iam.html)  | 
| 补丁基准 |  arn:aws:ssm:*region*:*account-id*:patchbaseline/*patch-baseline-id*   | 
| 响应计划 |  arn:aws:ssm-incidents:*region*:*account-id*:response-plan/*response-plan-name*  | 
| 会话 |  arn:aws:ssm:*region*:*account-id*:session/*session-id* **3**  | 
|  所有 Systems Manager 资源  |  arn:aws:ssm:\$1  | 
|  指定 Amazon Web Services 账户在指定 Amazon Web Services 区域拥有的所有 Systems Manager 资源  |  arn:aws:ssm:*region*:*account-id*:\$1  | 

**注意**  
自动化定义资源已被弃用。请更新您的 IAM 策略，进而包括允许对 `document` 和 `automation-execution` 资源执行 `ssm:StartAutomationExecution` 或 `ssm:StartChangeRequestExecution`。要查看设置 IAM 权限的最佳实践和示例，请参阅我们的[设置基于身份的策略示例](https://docs.amazonaws.cn/systems-manager/latest/userguide/automation-setup-identity-based-policies.html)用户指南。

**1** 对于自动化定义，Systems Manager 支持二级资源*版本 ID*。在 Amazon 中，这些二级资源称作*子资源*。通过指定自动化定义资源的版本子资源，您可以提供对自动化定义的特定版本的访问权限。例如，您可能需要确保在节点管理中只使用最新版本的自动化定义。

**2** 要组织和管理参数，可以使用分层结构为参数创建名称。在分层结构中，参数名称可以包含使用正斜杠定义的路径。您可以命名最多包含十五个级别的参数资源。建议创建反映环境中现有层次结构的层次结构。有关更多信息，请参阅 [在 Systems Manager 中创建 Parameter Store 参数](sysman-paramstore-su-create.md)。

**3** 在大多数情况下，会话 ID 是用启动会话的账户用户的 ID 构造的，外加字母数字后缀。例如：

```
arn:aws:us-east-2:111122223333:session/JohnDoe-1a2b3c4sEXAMPLE
```

但是，如果用户 ID 不可用，则改为通过以下方式构造 ARN：

```
arn:aws:us-east-2:111122223333:session/session-1a2b3c4sEXAMPLE
```

有关 ARN 格式的更多信息，请参阅《Amazon Web Services 一般参考》**中的 [Amazon 资源名称（ARN）](https://docs.amazonaws.cn/general/latest/gr/aws-arns-and-namespaces.html)。

有关 Systems Manager 资源类型及其 ARN 的列表，请参阅《服务授权参考》中的 [Amazon Systems Manager 定义的资源](https://docs.amazonaws.cn/service-authorization/latest/reference/list_awssystemsmanager.html#awssystemsmanager-resources-for-iam-policies)。**要了解您可以在哪些操作中指定每个资源的 ARN，请参阅 [Amazon Systems Manager 定义的操作](https://docs.amazonaws.cn/service-authorization/latest/reference/list_awssystemsmanager.html#awssystemsmanager-actions-as-permissions)。<a name="policy-conditions"></a>

### Systems Manager 的条件键
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

管理员可以使用 Amazon JSON 策略来指定谁有权访问什么内容。也就是说，哪个**主体**可以对什么**资源**执行**操作**，以及在什么**条件**下执行。

`Condition` 元素根据定义的条件指定语句何时执行。您可以创建使用[条件运算符](https://docs.amazonaws.cn/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html)（例如，等于或小于）的条件表达式，以使策略中的条件与请求中的值相匹配。要查看所有 Amazon 全局条件键，请参阅《IAM 用户指南》**中的 [Amazon 全局条件上下文键](https://docs.amazonaws.cn/IAM/latest/UserGuide/reference_policies_condition-keys.html)。



有关 Systems Manager 条件密钥的列表，请参阅《服务授权参考》中的 [Amazon Systems Manager 的条件密钥](https://docs.amazonaws.cn/service-authorization/latest/reference/list_awssystemsmanager.html#awssystemsmanager-policy-keys)。**要了解您可以对哪些操作和资源使用条件键，请参阅 [Amazon Systems Manager 定义的操作](https://docs.amazonaws.cn/service-authorization/latest/reference/list_awssystemsmanager.html#awssystemsmanager-actions-as-permissions)。

有关使用 `ssm:resourceTag/*` 条件键的信息，请参阅以下主题：
+ [通过 SSM Agent 限制对根级别命令的访问](ssm-agent-restrict-root-level-commands.md)
+ [根据标签限制 Run Command 访问](run-command-setting-up.md#tag-based-access) 
+ [基于实例标签限制会话访问](getting-started-restrict-access-examples.md#restrict-access-example-instance-tags)

有关使用 `ssm:Recursive`、`ssm:Policies` 和 `ssm:Overwrite` 条件键的信息，请参阅 [防止访问 Parameter Store API 操作](parameter-store-policy-conditions.md)。

### 示例
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



要查看 Systems Manager 基于身份的策略的示例，请参阅 [Amazon Systems Manager 基于身份的策略示例](security_iam_id-based-policy-examples.md)。

## Systems Manager 基于资源的策略
<a name="security_iam_service-with-iam-resource-based-policies"></a>

其他 Amazon Web Services 服务 [如 Amazon Simple Storage Service（Amazon S3）] 支持基于资源的权限策略。例如，您可以将权限策略挂载到 S3 存储桶以管理对该存储桶的访问权限。

Systems Manager 不支持基于资源的策略。

## 基于 Systems Manager 标签的授权
<a name="security_iam_service-with-iam-tags"></a>

您可以将标签附加到 Systems Manager 资源或将请求中的标签传递到 Systems Manager。要基于标签控制访问，您需要使用 `ssm:resourceTag/key-name`、`aws:ResourceTag/key-name`、`aws:RequestTag/key-name` 或 `aws:TagKeys` 条件密钥在策略的[条件元素](https://docs.amazonaws.cn/IAM/latest/UserGuide/reference_policies_elements_condition.html)中提供标签信息。在创建或更新下列资源类型时，您可以向其中添加标签：
+ 文档
+ 托管式节点
+ 维护时段
+ 参数
+ 补丁基准
+ OpsItem

要查看基于身份的策略（用于根据资源上的标签来限制对该资源的访问）的示例，请参阅 [基于标签查看 Systems Manager 文档](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-view-documents-tags)。

## Systems Manager IAM 角色
<a name="security_iam_service-with-iam-roles"></a>

[IAM 角色](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_roles.html)是 Amazon Web Services 账户中具有特定权限的实体。

### 将临时凭证用于 Systems Manager
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

可以使用临时凭证进行联合身份验证登录，分派 IAM 角色或分派跨账户角色。您可以调用 Amazon Security Token Service (Amazon STS) API 操作（如 [AssumeRole](https://docs.amazonaws.cn/STS/latest/APIReference/API_AssumeRole.html) 或 [GetFederationToken](https://docs.amazonaws.cn/STS/latest/APIReference/API_GetFederationToken.html)）以获得临时安全凭证。

Systems Manager 支持使用临时凭证。

### 服务关联角色
<a name="security_iam_service-with-iam-roles-service-linked"></a>

[服务相关角色](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)允许 Amazon Web Services 服务访问其它服务中的资源以代表您完成操作。服务相关角色列在您的 IAM 账户中，并归相应的服务所有。管理员可以查看但不能编辑服务相关角色的权限。

Systems Manager 支持服务关联角色。有关创建或管理 Systems Manager 服务关联角色的详细信息，请参阅 [将服务关联角色用于 Systems Manager](using-service-linked-roles.md)。

### 服务角色
<a name="security_iam_service-with-iam-roles-service"></a>

此功能允许服务代表您担任[服务角色](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role)。此角色允许服务访问其他服务中的资源以代表您完成操作。服务角色显示在您的 IAM 账户中，并归相应的账户所有。这意味着管理员可以更改此角色的权限。但是，这样做可能会中断服务的功能。

Systems Manager 支持服务角色。

### 在 Systems Manager 中选择 IAM 角色
<a name="security_iam_service-with-iam-roles-choose"></a>

要让 Systems Manager 与您的托管式节点交互，您必须选择一个角色以允许 Systems Manager 代表您访问节点。如果您之前已经创建了一个服务角色或服务相关角色，则 Systems Manager 会为您提供一个角色列表供您选择。选择一个允许访问以启动和停止托管式节点的角色很重要。

要访问 EC2 实例，您必须配置实例权限。有关信息，请参阅[配置 Systems Manager 所需的实例权限](setup-instance-permissions.md)。

要访问[混合和多云](operating-systems-and-machine-types.md#supported-machine-types)中的非 EC2 节点，Amazon Web Services 账户 需要的角色是 IAM 服务角色。有关信息，请参阅[在混合和多云环境中创建 Systems Manager 所需的 IAM 服务角色](hybrid-multicloud-service-role.md)。

自动化工作流可以在服务角色（或代入角色）的上下文下启动。这样服务就能够代表您执行操作。如果未指定代入角色，则自动化将使用已调用执行的用户的上下文。不过，在特定情况下需要您为自动化指定服务角色。有关更多信息，请参阅 [为自动化配置服务角色（担任角色）访问权限](automation-setup.md#automation-setup-configure-role)。

### Amazon Systems Manager 托管策略
<a name="managed-policies"></a>

Amazon 通过提供由 Amazon 创建和管理的独立 IAM 策略来满足许多常用使用案例的要求。这些 Amazon *托管策略* 授予常见使用案例的必要权限，这样您不必调查需要哪些权限。（此外，您还可以创建您自己的自定义 IAM 策略，以授予 Systems Manager 操作和资源的相关权限。） 

有关 Systems Manager 托管策略的更多信息，请参阅 [适用于 Amazon Systems Manager 的 Amazon 托管式策略](security-iam-awsmanpol.md)。

有关托管策略的一般信息，请参阅《IAM 用户指南**》中的 [Amazon 托管策略](https://docs.amazonaws.cn/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)。