我想控制对我的实例的访问权限,以便某些用户可以启动会话管理器,这是 AWS Systems Manager 会话的功能。
简短描述
使用会话管理器管理您的 Amazon Elastic Compute Cloud (Amazon EC2) 实例或本地实例。会话管理器通过基于浏览器的 Shell 或 AWS 命令行界面 (AWS CLI) 进行连接。
使用 Identity and Access Management (IAM) 策略来控制可以使用会话管理器访问实例的用户。IAM 策略还控制用户可以执行的 API 操作。
**注意:**如果在运行 AWS CLI 命令时收到错误,请参阅排查 AWS CLI 错误。此外,请确保您使用的是最新版本的 AWS CLI。
先决条件:
解决方法
要允许用户连接到会话管理器,请先创建一个 IAM 策略,向 IAM 用户授予 StartSession 访问权限。然后,将 IAM 策略附加到 IAM 角色。
完成以下步骤:
- 打开 IAM 控制台。
- 在导航窗格中的 Access management(访问管理)下,选择 Policies(策略)。
- 选择 Create policy(创建策略),然后选择 JSON 选项卡。
- 复制限制访问特定托管节点示例 JSON 文档,然后在控制台的 JSON 选项卡中输入该策略。
**重要事项:**示例策略中的资源 ARN 使用 us-east-2 AWS 区域,包括 instance ID(实例 ID)和 account ID(账户 ID)的占位符。将这些值替换为您自己的值。
- 选择 Next(下一步)。
- 在 Review and create(查看和创建)页面中,输入以下信息:
对于 Policy name(策略名称),输入您的策略的名称。
(可选)对于 Description(描述),输入策略的描述。
- 选择 Create policy(创建策略)。
- 将 IAM 策略附加到用户。
有访问权限的用户可以运行以下命令来启动 start-session API 调用:
aws ssm start-session --target instance-id
**注意:**将 instance-id 替换为用户想要启动会话的实例 ID。
要允许用户使用 Amazon EC2 控制台启动会话,请将以下 AWS 托管策略附加到用户:
- AmazonSSMReadOnlyAccess
- AmazonEC2ReadOnlyAccess
相关信息
会话管理器的其他 IAM 策略示例
启动会话
创建 IAM 策略(控制台)
AWS Systems Manager 如何与 IAM 协同工作
AWS Systems Manager 托管策略