第 2 步:为混合环境创建 IAM 服务角色 - Amazon Web Services Systems Manager
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

第 2 步:为混合环境创建 IAM 服务角色

混合环境中的服务器和虚拟机 (VM) 需要使用 AWS Identity and Access Management (IAM) 角色以与Amazon Web Services Systems Manager服务。角色授予Amazon Security Token Service(Amazon STS)AssumeRole信任到 Systems Manager 服务。您只需为混合环境创建一次服务角色Amazon Web Services 账户。

注意

您的公司或组织中在混合计算机上使用 Systems Manager 的用户必须在 IAM 中为其授予权限以调用 Systems Manager API。有关更多信息,请参阅 。为 Systems Manager 创建非管理员 IAM 用户和组

S3 存储桶策略要求

如果出现以下任一情况,您必须在完成该过程之前为 Amazon Simple Simple Service (Amazon S3) 存储桶创建自定义 IAM 权限策略:

  • 案例 1:您使用 VPC 终端节点将 VPC 私密地连接到支持Amazon服务和 VPC 终端节点服务AmazonPrivateLink。

  • 案例 2:您计划使用在 Systems Manager 操作期间创建的 Amazon S3 存储桶,例如,将 “运行命令” 命令或会话管理器会话输出存储到 Amazon S3 存储桶中。在继续之前,请按照为实例配置文件创建自定义 S3 存储桶策略。该主题中有关 S3 存储桶策略的信息也适用于服务角色。

    注意

    如果您使用本地防火墙并计划使用 Patch Manager,则该防火墙还必须允许访问补丁基准终端节点arn:aws:s3:::patch-baseline-snapshot-region/*

    区域表示Amazon Web Services 区域支持Amazon Web Services Systems Manager之外的压缩算法(例如us-east-2,以指定美国东部(俄亥俄)区域。有关受支持的区域,请参阅区域columnSystems Manager 服务终端节点中的Amazon Web Services 一般参考

Amazon CLI

为混合环境创建 IAM 服务角色 (AmazonCLI)

  1. 使用以下信任策略创建一个名为 SSMService-Trust.json 的文本文件。确保使用 .json 文件扩展名保存该文件。

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "sts:AssumeRole" } }
  2. 使用 create-role 命令创建服务角色。该示例创建一个名为 SSMServiceRole 的角色。如果愿意,您也可以选择其他名称。

    Linux & macOSWindows
    Linux & macOS
    aws iam create-role \ --role-name SSMServiceRole \ --assume-role-policy-document file://SSMService-Trust.json
    Windows
    aws iam create-role ^ --role-name SSMServiceRole ^ --assume-role-policy-document file://SSMService-Trust.json
  3. 按如下方式使用 attach-role-policy 启用您刚创建的服务角色以创建会话令牌。此会话令牌向托管实例授予使用 Systems Manager 运行命令的权限。

    注意

    您为混合环境中的托管实例的服务配置文件添加的策略与用于为 Amazon Elastic Compute Cloud (Amazon EC2) 实例创建实例配置文件的策略相同。有关Amazon策略的详细信息,请参阅为 Systems Manager 创建 IAM 实例配置文件

    (必需)运行以下命令以允许托管实例使用 Amazon Web Services Systems Manager 服务核心功能。

    Linux & macOSWindows
    Linux & macOS
    aws iam attach-role-policy \ --role-name SSMServiceRole \ --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore
    Windows
    aws iam attach-role-policy ^ --role-name SSMServiceRole ^ --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore

    如果为服务角色创建了一个自定义 S3 存储桶策略,请运行以下命令启用Amazon Web Services Systems ManagerSSM 代理访问您在策略中指定的存储桶。Replaceaccount-id我的存储桶策略名称和Amazon Web Services 账户ID 和您的存储桶名称。

    Linux & macOSWindows
    Linux & macOS
    aws iam attach-role-policy \ --role-name SSMServiceRole \ --policy-arn arn:aws:iam::account-id:policy/my-bucket-policy-name
    Windows
    aws iam attach-role-policy ^ --role-name SSMServiceRole ^ --policy-arn arn:aws:iam::account-id:policy/my-bucket-policy-name

    (可选)运行以下命令以允许 SSM 代理访问Amazon Directory Service代表您以处理托管实例加入域的请求。只有在将实例加入 Microsoft AD 目录时,实例配置文件才需要使用该策略。

    Linux & macOSWindows
    Linux & macOS
    aws iam attach-role-policy \ --role-name SSMServiceRole \ --policy-arn arn:aws:iam::aws:policy/AmazonSSMDirectoryServiceAccess
    Windows
    aws iam attach-role-policy ^ --role-name SSMServiceRole ^ --policy-arn arn:aws:iam::aws:policy/AmazonSSMDirectoryServiceAccess

    (可选)运行以下命令以允许 CloudWatch 代理在托管实例上运行。通过使用该命令,可以读取实例上的信息并将其写入到 CloudWatch 中。只有在使用服务(如 Amazon EventBridge 或 Amazon CloudWatch Logs)时,服务配置文件才需要使用该策略。

    aws iam attach-role-policy \ --role-name SSMServiceRole \ --policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
Tools for PowerShell

为混合环境创建 IAM 服务角色 (Amazon适用于 Windows PowerShell 的工具)

  1. 使用以下信任策略创建一个名为 SSMService-Trust.json 的文本文件。确保使用 .json 文件扩展名保存该文件。

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "sts:AssumeRole" } }
  2. 使用 New-IAMRole(如下所示)创建服务角色。该示例创建一个名为 SSMServiceRole 的角色。如果愿意,您也可以选择其他名称。

    New-IAMRole ` -RoleName SSMServiceRole ` -AssumeRolePolicyDocument (Get-Content -raw SSMService-Trust.json)
  3. 按如下方式使用 Register-IAMRolePolicy 启用您创建的服务角色以创建会话令牌。此会话令牌向托管实例授予使用 Systems Manager 运行命令的权限。

    注意

    您为混合环境中的托管实例的服务配置文件添加的策略与用于为 EC2 实例创建实例配置文件的策略相同。有关的更多信息。Amazon策略的详细信息,请参阅为 Systems Manager 创建 IAM 实例配置文件

    (必需)运行以下命令以允许托管实例使用 Amazon Web Services Systems Manager 服务核心功能。

    Register-IAMRolePolicy ` -RoleName SSMServiceRole ` -PolicyArn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore

    如果为服务角色创建了一个自定义 S3 存储桶策略,请运行以下命令以允许 SSM Agent 访问在策略中指定的存储桶。Replaceaccount-id我的存储桶策略名称和Amazon Web Services 账户ID 和您的存储桶名称。

    Register-IAMRolePolicy ` -RoleName SSMServiceRole ` -PolicyArn arn:aws:iam::account-id:policy/my-bucket-policy-name

    (可选)运行以下命令以允许 SSM 代理访问Amazon Directory Service代表您以处理托管实例加入域的请求。只有在将实例加入 Microsoft AD 目录时,实例配置文件才需要使用该策略。

    Register-IAMRolePolicy ` -RoleName SSMServiceRole ` -PolicyArn arn:aws:iam::aws:policy/AmazonSSMDirectoryServiceAccess

    (可选)运行以下命令以允许 CloudWatch 代理在托管实例上运行。通过使用该命令,可以读取实例上的信息并将其写入到 CloudWatch 中。只有在使用服务(如 Amazon EventBridge 或 Amazon CloudWatch Logs)时,服务配置文件才需要使用该策略。

    Register-IAMRolePolicy ` -RoleName SSMServiceRole ` -PolicyArn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
注意

您的公司或组织中在混合计算机上使用 Systems Manager 的用户必须在 IAM 中为其授予权限以调用 Systems Manager API。有关更多信息,请参阅 。创建用户和分配权限

继续浏览第 3 步:在本地服务器和 VM 上安装 TLS 证书