Amazon EC2 Systems Manager
用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

使用自定义角色和策略配置访问权限

如果您选择不使用 Systems Manager 托管策略,请使用以下过程为 Systems Manager 创建和配置自定义实例角色和用户账户。

重要

如果您要使用现有 实例角色和用户账户,则必须将此部分中显示的策略附加到该角色和该用户账户。还必须验证 实例角色的信任策略中是否列出了 ec2.amazonaws.com。有关更多信息,请参阅 任务 4:验证信任策略

任务 1:为 Systems Manager 托管实例创建自定义 IAM 策略

以下 IAM 策略允许托管实例与 Systems Manager API 进行通信。在本主题的后面部分,您将创建一个角色并将此策略附加到该角色。

为 Systems Manager 托管实例创建 IAM 策略

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

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

  3. 在 Filter 字段中键入 AmazonEC2RoleforSSM。

  4. 选择 AmazonEC2RoleforSSM 策略。系统显示该策略的 Policy Document

  5. 复制策略文档的内容。

    注意

    您不能在 IAM 控制台中修改策略文档的内容,因为这是托管策略,但您可以复制策略文档。

  6. 在导航窗格中,选择 Policies

  7. 选择 Create Policy

  8. Create Your Own Policy 旁边,选择 Select

  9. 键入策略名称 (例如,SystemsManagerInstance) 和描述,然后将您之前复制的策略粘贴到 Policy Document 字段中.

  10. 根据您的需要更改策略。

    重要

    在此 IAM 策略的最后一个部分,您可以通过指定 Amazon 资源名称 (ARN) 限制对 Amazon S3 存储桶的访问。例如,您可以将最后一个 "Resource": "*" 项目更改为 "Resource": "arn:aws-cn:s3:::AnS3Bucket/*

  11. 选择 Validate Policy。验证策略是否有效。如果您收到错误,请验证您是否包含了左右大括号 { }。验证完策略后,请选择 Create Policy

任务 2:创建自定义 IAM 用户策略

IAM 用户策略确定用户可在 Document 列表中查看的 Systems Manager 文档。用户可在 Amazon EC2 控制台中查看此列表,或者使用 AWS CLI 或适用于 Windows PowerShell 的 AWS 工具调用 ListDocuments 来查看此列表。该策略还限制用户可使用 Systems Manager 文档执行的操作。

注意

稍后,您将创建一个用户账户并将此策略附加到该账户。

以下步骤中的 IAM 策略允许用户对实例执行任何 Systems Manager 操作。将此策略仅分配给受信任的管理员。对于其他所有用户,根据本部分的描述创建限制性 IAM 策略,或使用 AmazonSSMReadOnlyAccess 策略。

为 Systems Manager 创建 IAM 用户策略

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

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

  3. 在 Filter 字段中键入 AmazonSSMFullAccess。

  4. 选择 AmazonSSMFullAccess 策略。系统显示该策略的 Policy Document

  5. 复制策略文档的内容。

    注意

    您不能在 IAM 控制台中修改策略文档的内容,因为这是托管策略,但您可以复制策略文档。

  6. 在导航窗格中,选择 Policies

  7. 选择 Create Policy

  8. Create Your Own Policy 旁边,选择 Select

  9. 键入策略名称 (例如,SystemsManagerUserFull) 和描述,然后将您之前复制的策略粘贴到 Policy Document 字段中

  10. 根据您的需要更改策略。

  11. 选择 Validate Policy。验证策略是否有效。如果您收到错误,请验证您是否包含了左右大括号 { }。验证完策略后,请选择 Create Policy

创建限制性的 IAM 用户策略

创建限制性 IAM 用户策略来进一步委派对 Systems Manager 的访问权限。以下示例 IAM 策略允许用户执行以下操作。

  • 列出 Systems Manager 文档和文档版本。

  • 查看有关文档的详细信息。

  • 使用策略中指定的文档发送命令。

    文档名称由此条目确定:

    arn:aws-cn:ssm:us-east-1:*:document/name_of_restrictive_document
  • 发送命令到三个实例。

    实例由第二个 Resource 部分中的以下条目确定:

    "arn:aws-cn:ec2:us-east-1:*:instance/i-1234567890abcdef0",
    "arn:aws-cn:ec2:us-east-1:*:instance/i-0598c7d356eba48d7",
    "arn:aws-cn:ec2:us-east-1:*:instance/i-345678abcdef12345",
  • 发送命令后查看有关命令的详细信息。

  • 启动和停止 Automation 执行。

  • 获取有关 Automation 执行的信息。

如果您要授予用户权限以使用本文档向该用户目前有权访问 (取决于其 AWS 用户账户) 的任何实例发送命令,您可以在 Resource 部分指定以下条目并删除其他实例条目。

"arn:aws-cn:ec2:us-east-1:*:instance/*"

请注意,Resource 部分包含一个 Amazon S3 ARN 条目:

arn:aws-cn:s3:::bucket_name

您还可为此条目设置格式,如下所示:

arn:aws-cn:s3:::bucket_name/*

-or-

arn:aws-cn:s3:::bucket_name/key_prefix_name
Copy
{ "Version":"2012-10-17", "Statement":[ { "Action":[ "ssm:ListDocuments", "ssm:ListDocumentsVersions", "ssm:DescribeDocument", "ssm:GetDocument", "ssm:DescribeInstanceInformation", "ssm:DescribeDocumentParameters", "ssm:DescribeInstanceProperties" ], "Effect":"Allow", "Resource":"*" }, { "Action":"ssm:SendCommand", "Effect":"Allow", "Resource": [ "arn:aws-cn:ec2:us-east-1:*:instance/i-1234567890abcdef0", "arn:aws-cn:ec2:us-east-1:*:instance/i-0598c7d356eba48d7", "arn:aws-cn:ec2:us-east-1:*:instance/i-345678abcdef12345", "arn:aws-cn:s3:::bucket_name", "arn:aws-cn:ssm:us-east-1:*:document/name_of_restrictive_document" ] }, { "Action":[ "ssm:CancelCommand", "ssm:ListCommands", "ssm:ListCommandInvocations" ], "Effect":"Allow", "Resource":"*" }, { "Action":"ec2:DescribeInstanceStatus", "Effect":"Allow", "Resource":"*" }, { "Action":"ssm:StartAutomationExecution", "Effect":"Allow", "Resource":[ "arn:aws:ssm:::automation-definition/" ] }, { "Action":"ssm:DescribeAutomationExecutions ", "Effect":"Allow", "Resource":[ "*" ] }, { "Action":[ "ssm:StopAutomationExecution", "ssm:GetAutomationExecution" ], "Effect":"Allow", "Resource":[ "arn:aws:ssm:::automation-execution/" ] } ] }

有关创建 IAM 用户策略的更多信息,请参阅托管策略与内联策略

任务 3:为 Systems Manager 托管实例创建角色

借助实例角色,实例能够与 Systems Manager API 进行通信。该角色使用您先前创建 实例策略。

为 Systems Manager 托管实例创建一个角色

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

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

  3. Select role type 页面上的 AWS Service Role 下,选择 Amazon EC2 部分中的 Select

  4. Attach Policy 页面上,使用筛选框搜索您在上一过程中创建的策略。选择所需策略,然后选择 Next Step

  5. Set role name and review 页面上的 Role name 框中键入名称,然后键入描述。

    注意

    记下角色名称。您在创建希望使用 Systems Manager 进行管理的新实例时,将指定此角色名称。

  6. 选择 Create Role。系统将让您返回到 Roles 页。

任务 4:验证信任策略

使用以下步骤来验证实例配置文件角色的 IAM 策略是否包括 ssm.amazonaws.com 作为可信实体。

验证信任策略

  1. 在 IAM 控制台的导航窗格中,选择 Roles,然后选择您刚刚创建的服务器角色。

  2. 选择 Trust Relationships

  3. Trusted Entities 下,选择 Edit Trust Relationship

  4. 将下面的策略复制并粘贴到 Policy Document 字段中并创建策略:

    Copy
    { "Version":"2012-10-17", "Statement":[ { "Sid":"", "Effect":"Allow", "Principal":{ "Service":"ssm.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }

任务 5:创建用户账户

利用用户账户,用户可在实例上调用 Systems Manager API。此账户使用您先前创建的 IAM 用户策略。

为 Systems Manager 创建用户账户

  1. IAM 控制台上的 Users 页面中,选择 Add User

  2. Set user details 部分指定用户名 (例如,SystemsManagerUserFullAccess)。

  3. Select AWS access type 部分,选择一个或两个访问权限选项。如果您选择 AWS Management Console access,还必须选择密码选项。

  4. 选择下一步:权限

  5. Set permissions for 部分,选择 Attach existing policies directly

  6. 在 Filter 字段中,键入您之前创建的用户策略的名称。

  7. 选中该策略旁边的复选框,然后选择 Next:Review

  8. 验证详细信息,然后选择 Create

创建使用您创建的自定义实例角色的 Amazon EC2 实例。有关更多信息,请参阅 任务 3:创建使用 Systems Manager 角色的 Amazon EC2 实例