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

为 Session Manager 创建自定义 IAM 实例配置文件

您可以创建一个仅为在您的实例上执行 Session Manager 操作提供权限的自定义 IAM 实例配置文件。您还可以创建策略来提供将会话活动日志发送到 Amazon S3 和 CloudWatch Logs 所需的权限。

创建实例配置文件后,请参阅将 IAM 角色附加到实例附加或替换实例配置文件了解有关如何将实例配置文件附加到实例的信息。另请参阅 IAM User Guide 中的使用实例配置文件适用于 Amazon EC2 的 IAM 角色了解 IAM 实例配置文件和角色的更多信息。

创建具有最小 Session Manager 权限的实例配置文件(控制台)

使用以下过程可创建一个自定义 IAM 实例配置文件,其策略仅提供在实例上执行 Session Manager 操作的权限。

创建具有最小 Session Manager 权限的实例配置文件(控制台)

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

  2. 在导航窗格中选择策略,然后选择创建策略。(如果 Get Started 按钮出现,选择此按钮,然后选择 Create Policy。)

  3. 选择 JSON 选项卡。

  4. 将默认内容替换为以下内容:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:UpdateInstanceInformation", "ssmmessages:CreateControlChannel", "ssmmessages:CreateDataChannel", "ssmmessages:OpenControlChannel", "ssmmessages:OpenDataChannel" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:GetEncryptionConfiguration" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": "key-name" } ] }

    关于“ssmmessages”

    有关 ssmmessages 的信息,请参阅参考:ec2messages、ssmmessages 和其他 API 调用

    关于 “kms:Decrypt”

    在此策略中,kms:Decrypt 权限为会话数据启用客户密钥加密和解密。如果您将为您的会话数据使用 AWS Key Management Service (AWS KMS) 加密,请将 key-name 替换为您要使用的客户主密钥 (CMK) 的 ARN,使用格式 arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-12345EXAMPLE

    如果您不为会话数据使用 AWS KMS 加密,您可以从策略中删除以下内容:

    , { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": "key-name" }

    有关使用 AWS KMS 和 CMK 加密会话数据的信息,请参阅 启用会话数据 AWS KMS 密钥加密(控制台)

  5. 选择查看策略

  6. 查看策略页面上,对于名称,输入内联策略的名称。例如:SessionManagerPermissions

  7. (可选)对于描述,输入策略的描述。

  8. 选择 Create policy

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

  10. 创建角色页面上,选择 AWS 服务,然后从选择将使用此角色的服务列表中,选择 EC2

  11. 选择 Next: Permissions (下一步: 权限)

  12. 附加的权限策略页面上,选中刚刚创建的策略名称左侧的复选框。例如:SessionManagerPermissions

  13. 选择 Next: Review

  14. 审核页面中,对于角色名称,输入 IAM 实例配置文件的名称。例如 MySessionManagerInstanceProfile

  15. (可选)对于角色描述,输入实例配置文件的描述。

  16. 选择创建角色

创建具有 Session Manager、Amazon S3 和 CloudWatch Logs 权限的实例配置文件(控制台)

使用以下过程可创建一个自定义 IAM 实例配置文件,其策略提供了在实例上执行 Session Manager 操作的权限。此策略还提供了将会话日志存储在 Amazon S3 存储桶和 CloudWatch Logs 日志组中所需的权限。

有关指定存储会话日志的首选项的信息,请参阅审计和记录会话活动

创建具有 Session Manager、Amazon S3 和 CloudWatch Logs 权限的实例配置文件(控制台)

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

  2. 在导航窗格中选择策略,然后选择创建策略。(如果 Get Started 按钮出现,选择此按钮,然后选择 Create Policy。)

  3. 选择 JSON 选项卡。

  4. 将默认内容替换为以下内容。请务必将 s3-bucket-names3-bucket-prefix 替换为您的存储桶名称及其前缀(如果有)。有关以下策略中的 ssmmessages 的信息,请参阅 参考:ec2messages、ssmmessages 和其他 API 调用

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssmmessages:CreateControlChannel", "ssmmessages:CreateDataChannel", "ssmmessages:OpenControlChannel", "ssmmessages:OpenDataChannel", "ssm:UpdateInstanceInformation" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogGroups", "logs:DescribeLogStreams" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::s3-bucket-name/s3-bucket-prefix" }, { "Effect": "Allow", "Action": [ "s3:GetEncryptionConfiguration" ], "Resource": "*" }, { "Effect": "Allow", "Action": "kms:GenerateDataKey", "Resource": "*" } ] }

    重要

    要将会话日志输出到其他 AWS 账户所有的 Amazon S3 存储桶,您必须将 IAM s3:PutObjectAcl 权限添加到此策略。如果此权限未添加,拥有 S3 存储桶的账户将无法访问会话输出日志。

  5. 选择查看策略

  6. 查看策略页面上,对于名称,输入内联策略的名称。例如:SessionManagerPermissions

  7. (可选)对于描述,输入策略的描述。

  8. 选择 Create policy

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

  10. 创建角色页面上,选择 AWS 服务,然后从选择将使用此角色的服务列表中,选择 EC2

  11. 选择 Next: Permissions (下一步: 权限)

  12. 附加的权限策略页面上,选中刚刚创建的策略名称左侧的复选框。例如:SessionManagerPermissions

  13. 选择 Next: Review

  14. 审核页面中,对于角色名称,输入 IAM 实例配置文件的名称。例如 MySessionManagerInstanceProfile

  15. (可选)对于角色描述,输入实例配置文件的描述。

  16. 选择创建角色