方法 2:使用 IAM 为 Automation 配置角色 - Amazon Web Services Systems Manager
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

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

如果您需要为 Automation 创建一个服务角色,请使用Amazon Web Services Systems Manager,请完成以下任务。有关 Automation 何时需要服务角色的详细信息,请参阅设置 Automation

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

使用以下过程创建服务角色(或承角色),用于 Systems Manager Automation。

注意

您也可以在 Runbook 中使用此角色,例如AWS-CreateManagedLinuxInstance运行手册。在 Runbook 中使用此角色或 AWS Identity and Access Management (IAM) 角色的 Amazon 资源名称 (ARN),可以让 Automation 在您的环境中执行操作,例如启动新实例以及代表您执行操作。

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

  1. 通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

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

  3. Select type of trusted entity (选择受信任实体的类型) 下,选择 Amazon service ( 服务)

  4. 选择使用案例部分,选择。Systems Manager,然后选择后续:Permissions (下一步:权限)

  5. 在存储库的附加权限策略页面上,搜索AmazonSSMAutomationRole策略,选择它,然后选择后续:审核

  6. 在存储库的审核页面上,在Role name (角色名称)框中,然后输入描述。

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

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

注意

这些区域有:AmazonSSMAutomationRole策略将 Automation 角色权限分配给Amazon Lambda函数。这些函数以“Automation”开头。如果计划通过 Lambda 函数使用 Automation,则 Lambda ARN 必须使用以下格式:

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

如果现有 Lambda 函数的 ARN 未使用此格式,则还必须为 Automation 角色附加额外的 Lambda 策略,例如奥斯兰布达罗尔策略。其他策略或角色必须提供对Amazon Web Services 账户。

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

如果您运行的自动化调用其他Amazon服务,则必须使用 IAM 服务角色具有调用这些服务的权限。该要求适用于所有AmazonAutomation 运行手册 (AWS-*运行手册),例如AWS-ConfigureS3BucketLoggingAWS-CreateDynamoDBBackup, 和AWS-RestartEC2Instance运行手册,仅举几个例子。对于您创建的所有自定义运行簿,如果这些运行簿调用其他Amazon服务,通过使用调用其他服务的操作。例如,如果您使用 aws:executeAwsApiaws:CreateStackaws:copyImage 操作等,则您必须配置具有权限的服务角色来调用这些服务。您可以启用对其他Amazon服务,方法是将 IAM 内联策略添加到该角色。

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

  1. 登录 Amazon Web Services Management Console,单击 https://console.aws.amazon.com/iam/ 打开 IAM 控制台。

  2. 在导航窗格中,选择 Roles

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

  4. 选择 Permissions 选项卡。

  5. 选择添加内联策略

  6. 选择 JSON 选项卡。

  7. 输入一个 JSON 策略文档Amazon服务。以下是两个示例 JSON 策略文档。

    Amazon S3 PutObject 和 GetObject 示例

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

    Amazon EC2 CreateSnapshot 和 DescribeSnapShots 示例

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

    有关 IAM 策略语言的详细信息,请参阅。IAM JSON 策略参考中的IAM 用户指南

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

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

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

任务 2:将 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. 选择资源。确保已选择 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. 查看策略页面上键入一个名称,然后选择创建策略

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

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

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

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

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

  2. 在存储库的Permissions (权限)选项卡的策略列表中,验证AmazonSSMFullAccess策略或者存在可向账户授予访问 Systems Manager 权限的相当策略。

  3. 选择添加内联策略

  4. Create policy (创建策略) 页面上,选择 Visual Editor (可视化编辑器),然后选择 Choose a service (选择服务)

  5. Amazon服务中,选择AWS Identity and Access Management

  6. 适用于操作,输入PassRole中的筛选器操作提示,然后选择PassRole

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

  8. 选择查看策略

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

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