AWS Systems Manager
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

方法 2:使用 IAM 为 Automation 配置角色

配置对 Systems Manager Automation 的访问权限需要完成以下任务。

  1. 验证用户访问权限:验证您是否拥有运行 Automation 工作流程的权限。如果已为您的 AWS Identity and Access Management (IAM) 用户账户、组或角色分配管理员权限,则您可以访问 Systems Manager Automation。如果您没有管理员权限,则管理员必须通过向您的 IAM 账户、组或角色分配 AmazonSSMFullAccess 托管策略或提供类似权限的策略来向您授予权限。

  2. 通过创建和分配实例配置文件角色配置实例访问权限 (必需):运行 Automation 工作流程的每个实例都需要一个 IAM 实例配置文件角色。此角色为 Automation 提供在您的实例上执行操作的权限,例如执行命令或启动和停止服务。如果之前已经为 Systems Manager 创建了实例配置文件角色 (如配置对 Systems Manager 的访问权限主题中的任务 2:为 Systems Manager 创建实例配置文件所述),则您可以为 Automation 使用同一个实例配置文件角色。有关如何将此角色附加到现有实例的信息,请参阅 Amazon EC2 用户指南中的将 IAM 角色附加到实例

注意

Automation 之前需要您指定服务角色 (或代入 角色),以便服务有权代表您执行操作。Automation 不再需要此角色,因为服务现在通过使用已调用执行的用户的上下文来操作。

不过,以下情况仍需要您为 Automation 指定服务角色:

  • 当您想限制用户对资源的权限,但希望用户运行需要更高权限的自动化工作流程时。在此方案中,您可以创建具有更高权限的服务角色并允许用户运行此工作流程。

  • 运行时长预计将超过 12 小时的操作需要一个服务角色。

如果您需要为 Systems Manager Automation 创建一个实例配置文件角色和一个服务角色,请完成以下任务。

任务 1:为 Automation 创建服务角色

使用以下步骤为 Systems Manager Automation 创建一个服务角色 (或代入角色)。

注意

您还可以在 Automation 文档中使用这些角色及其 Amazon 资源名称 (ARN),例如 AWS-UpdateLinuxAmi 文档。在 Automation 文档中使用这些角色或其 ARN,可以让 Automation 在您的托管实例上执行操作、启动新实例以及代表您执行操作。要查看示例,请参阅 Automation CLI 演练:修补 Linux AMI

创建 IAM 角色并允许 Automation 代入该角色

  1. Open the IAM console at https://console.amazonaws.cn/iam/.

  2. 在导航窗格中,选择 Roles,然后选择 Create Role

  3. Select type of trusted entity 页面上的 AWS Service 下,选择 EC2

  4. 选择您的使用案例部分,选择 EC2,然后选择下一步:权限

  5. 附加的权限策略页面中,搜索 AmazonSSMAutomationRole 策略,选择它,然后选择下一步:审核

  6. Review 页面上,在 Role name 框中键入名称,然后键入描述。

  7. 选择 Create role。系统将让您返回到 Roles 页。

  8. 角色页面中,选择刚刚创建的角色以打开摘要页面。记下 Role NameRole ARN。在后面的步骤中,当您将 iam:PassRole 策略附加到您的 IAM 账户时,将指定该角色 ARN。您还可以在 Automation 文档中指定角色名称和 ARN。

    使摘要页面保持打开状态。

注意

AmazonSSMAutomationRole 策略会将 Automation 角色权限分配给您账户内 AWS Lambda 函数的子集。这些函数以“Automation”开头。如果您计划通过 Lambda 函数使用 Automation,则 Lambda ARN 必须使用以下格式:

"arn:aws:lambda:*:*:function:Automation*"

如果现有 Lambda 函数的 ARN 未使用此格式,您还必须为 Automation 角色附加额外的 Lambda 策略,例如 AWSLambdaRole 策略。其他策略或角色必须提供对 AWS 账户内 Lambda 函数更宽泛的访问权限。

任务 2:为 Automation 添加信任关系

使用以下过程配置信任 Automation 的服务角色策略。

为 Automation 添加信任关系

  1. 在刚刚创建的角色的摘要页面上,选择信任关系选项卡,然后选择编辑信任关系

  2. 按照以下示例中所示添加 "ssm.amazonaws.com":

    { "Version":"2012-10-17", "Statement":[ { "Sid":"", "Effect":"Allow", "Principal":{ "Service":[ "ec2.amazonaws.com", "ssm.amazonaws.com" ] }, "Action":"sts:AssumeRole" } ] }
  3. 选择 Update Trust Policy

  4. 使摘要页面保持打开状态。

任务 3:将 iam:PassRole 策略附加到您的 Automation 角色

使用以下过程将 iam:PassRole 策略附加到您的 Automation 服务角色。这使 Automation 服务能够在运行 Automation 工作流程时将角色传递给其他服务或 Systems Manager 功能。

将 iam:PassRole 策略附加到您的 Automation 角色

  1. 在刚刚创建的角色的摘要页面中,选择权限选项卡。

  2. 选择添加内联策略

  3. 创建策略页面上,选择可视化编辑器选项卡。

  4. 选择服务,然后选择 IAM

  5. 选择选择操作

  6. 筛选操作文本框中,键入 PassRole,然后选择 PassRole 选项。

  7. 选择资源。确保已选择 Specific,然后选择添加 ARN

  8. Specify ARN for role 字段中,粘贴您在任务 1 结束时复制的自动化角色 ARN。系统会自动填充 AccountRole name with path 字段。

  9. 选择 Add

  10. 选择查看策略

  11. 查看策略页面上键入一个名称,然后选择创建策略

任务 4:配置用户对 Automation 的访问权限

如果已为您的 AWS Identity and Access Management (IAM) 用户账户、组或角色分配管理员权限,则您可以访问 Systems Manager Automation。如果您没有管理员权限,则管理员必须通过向您的 IAM 账户、组或角色分配 AmazonSSMFullAccess 托管策略或提供类似权限的策略来向您授予权限。

使用以下过程配置用户账户,以使用 Automation。您选择的用户账户会拥有配置并运行自动化的权限。如果您需要创建新的用户账户,请参阅 IAM User Guide 中的在您的 AWS 账户中创建 IAM 用户

配置用户访问权限并将 iam:PassRole 策略附加到用户账户

  1. 在 IAM 导航窗格中,选择用户,然后选择您要配置的用户账户。

  2. 权限选项卡上的策略列表中,验证其中是否列出了 AmazonSSMFullAccess 策略或者授予账户访问 Systems Manager 权限的类似策略。

  3. 选择添加内联策略

  4. Set Permissions 页面上,选择 Policy Generator,然后选择 Select

  5. 验证 Effect 是否已设置为 Allow

  6. AWS Services 中选择 AWS Identity and Access Management

  7. 操作中,选择 PassRole

  8. Amazon 资源名称 (ARN) 字段中,粘贴您在任务 1 结束时复制的 Automation 服务角色的 ARN。

  9. 选择 Add Statement,然后选择 Next Step

  10. Review Policy 页面上,选择 Apply Policy

任务 5:创建实例配置文件角色

运行 Automation 工作流程的每项实例都需要一个 IAM 实例配置文件角色。此角色为 Automation 提供在您的实例上执行操作的权限,例如执行命令或启动和停止服务。如果之前已经为 Systems Manager 创建了实例配置文件角色 (如配置对 Systems Manager 的访问权限主题中的任务 2:为 Systems Manager 创建实例配置文件所述),则您可以为 Automation 使用同一个实例配置文件角色。如果您尚未按该主题中所述的方法创建实例配置文件角色,请立即创建一个。有关如何将此角色附加到现有实例的信息,请参阅 Amazon EC2 用户指南中的将 IAM 角色附加到实例

您已完成了为 Automation 配置所需的角色。现在,您可在 Automation 文档中使用实例配置文件角色和 Automation 服务角色 ARN。有关更多信息,请参阅 Automation 控制台演练:修补 Linux AMIAutomation CLI 演练:修补 Linux AMI