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

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

混合环境中的服务器和虚拟机 (VM) 需要与 Systems Manager SSM 服务通信的 IAM 角色。该角色向 AssumeRole 授予对 SSM 服务的信任。

注意

您只需为每个 AWS 账户创建该服务角色一次。

使用AWS Tools for Windows PowerShell 创建 IAM 服务角色

  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(如下所示)以允许 SSMServiceRole 创建会话令牌。此会话令牌向托管实例授予使用 Systems Manager 运行命令的权限。

    Register-IAMRolePolicy -RoleName SSMServiceRole -PolicyArn arn:aws:iam::aws:policy/service-role/AmazonEC2RoleforSSM

使用 AWS CLI 创建 IAM 服务角色

  1. 使用以下信任策略创建文本文件 (在此示例中,它名为 SSMService-Trust.json)。使用 .json 文件扩展名保存该文件。

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": {"Service": "ssm.amazonaws.com"}, "Action": "sts:AssumeRole" } }
  2. 使用 create-role 命令创建服务角色。此示例创建一个名为 SSMServiceRole 的角色。

    aws iam create-role --role-name SSMServiceRole --assume-role-policy-document file://SSMService-Trust.json
  3. 使用 attach-role-policy (如下所示) 以允许 SSMServiceRole 创建会话令牌。此会话令牌向托管实例授予使用 Systems Manager 运行命令的权限。

    aws iam attach-role-policy --role-name SSMServiceRole --policy-arn arn:aws:iam::aws:policy/service-role/AmazonEC2RoleforSSM

注意

您的公司或组织中在混合计算机上使用 Systems Manager 的用户必须在 IAM 中获得授权,才能调用 SSM API。有关更多信息,请参阅配置对 Systems Manager 的访问权限