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

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

如果您需要为 Systems Manager Automation 创建一个服务角色,请完成以下任务。有关 Automation 何时需要服务角色的更多信息,请参阅 Automation 入门

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

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

注意

您也可以在 Automation 文档(例如 AWS-CreateManagedLinuxInstance 文档)中使用此角色。在 Automation 文档中使用此角色或 ARN 时,可以让 Automation 在您的环境中执行操作,例如启动新实例以及代表您执行操作。

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

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

  2. 在导航窗格中,选择角色,然后选择创建角色

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

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

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

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

  7. 选择创建角色。系统将您返回到角色页。

  8. 角色页面中,选择刚刚创建的角色以打开摘要页面。记下角色名称角色 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 函数更宽泛的访问权限。

(可选)添加 Automation 内联策略来调用其他 AWS 服务

如果您运行使用 IAM 服务角色调用其他 AWS 服务的自动化,则必须使用权限将该服务角色配置为调用这些服务。此要求适用于所有 AWS Automation 文档(AWS-* 文档),例如 AWS-ConfigureS3BucketLoggingAWS-CreateDynamoDBBackupAWS-RestartEC2Instance 文档。对于您创建的所有自定义自动化文档,如果这些文档使用调用其他服务的操作调用其他 AWS 服务,此要求同样适用。例如,如果您使用 aws:executeAwsApiaws:CreateStackaws:copyImage 操作等,则您必须配置具有权限的服务角色来调用这些服务。您可以通过将 IAM 内联策略添加到角色来启用其他 AWS 服务的权限。

为服务角色嵌入内联策略(IAM 控制台)

  1. Sign in to the AWS Management Console and open the IAM console at https://console.amazonaws.cn/iam/.

  2. 在导航窗格中,选择角色

  3. 在列表中,选择您要编辑的角色的名称。

  4. 选择 Permissions 选项卡。

  5. 选择添加内联策略

  6. 选择 JSON 选项卡。

  7. 输入您希望调用的 AWS 服务的 JSON 策略文档。以下是两个示例 JSON 策略文档。

    Amazon S3 PutObject 和 GetObject 示例

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject" ], "Resource": "arn:aws:s3:::my-bucket-name/*" } ] }

    Amazon EC2 CreateSnapshot 和 DescribeSnapShots 示例

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":"ec2:CreateSnapshot", "Resource":"*" }, { "Effect":"Allow", "Action":"ec2:DescribeSnapshots", "Resource":"*" } ] }

    有关 IAM 策略语言的详细信息,请参阅 IAM User Guide 中的 IAM JSON 策略参考

  8. 完成后,选择查看策略策略验证程序将报告任何语法错误。

  9. Review policy (查看策略) 页面上,为创建的策略输入 Name (名称)。查看策略摘要以查看您的策略授予的权限。然后,选择创建策略以保存您的工作。

  10. 创建内联策略后,它会自动嵌入您的角色。

任务 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. Filter actions (筛选操作) 文本框中,键入 PassRole,然后选择 PassRole 选项。

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

  8. Specify ARN for role 字段中,粘贴您在任务 1 结束时复制的自动化角色 ARN。系统会自动填充 Account (账户)Role name with path (具有路径的角色名称) 字段。

    注意

    如果希望 Automation 服务角色将 IAM 实例配置文件角色附加到 EC2 实例,则必须添加 IAM 实例配置文件角色的 ARN。这使 Automation 服务角色可以将 IAM 实例配置文件角色传递给目标 EC2 实例。

  9. 选择添加

  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. Create policy (创建策略) 页面上,选择 Visual Editor (可视化编辑器),然后选择 Choose a service (选择服务)

  5. AWS Services (服务),选择 AWS Identity and Access Management

  6. 对于 Actions (操作),请在 Filter actions (筛选器操作) 提示符下输入 PassRole,然后选择 PassRole

  7. Resources (资源) 部分中,选择 Add ARN (添加 ARN),粘贴您在任务 1 结束时复制的 Automation 服务角色的 ARN,然后选择 Add (添加)

  8. 选择查看策略

  9. Review Policy (查看策略) 页面上,提供策略的 Name (名称),然后选择 Create policy (创建策略)

您已完成了为 Automation 配置所需的角色。现在,您可在 Automation 文档中使用 Automation 服务角色 ARN。