堡垒机对接阿里云账户体系。阿里云账号(主账号)默认为系统超级管理员角色,可以为RAM用户(子账号)分配不同的权限策略(管理员权限、项目管理员权限、审计员权限、只读权限和运维员权限),以满足企业在使用堡垒机时不同角色的需求,实现权限最小化以保障堡垒机系统的安全。本文介绍如何为RAM用户授予不同的权限策略。
背景信息
通过对RAM用户授权不同权限实现堡垒机使用限制,包括管理员权限、项目管理员权限、审计员权限、只读查看权限等。详细说明如下:
管理员权限(对应权限策略:AliyunYundunBastionHostFullAccess)可以进行堡垒机实例、用户及资产管理,以及控制策略设置、系统设置、查看审计信息等操作,同时支持通过 AK/SK 调用堡垒机管理类 API。
重要如果作为管理员角色的RAM用户需要导入阿里云资产或RAM用户,则至少需要给管理员授予对应资产或访问控制(RAM)的只读权限,例如,您要导入ECS资产时,管理员需要被授予ECS只读权限AliyunECSReadOnlyAccess;您要导入RAM用户时,管理员需要被授予访问控制(RAM)只读权限AliyunRAMReadOnlyAccess。
项目管理员权限(对应权限策略:AliyunYundunBastionHostProjectAdminAccess)可以对在堡垒机内已授权的项目进行用户组管理、资产管理、资产授权管理、控制策略设置、查看审计信息等操作。
重要由于 AliyunYundunBastionHostProjectAdminAccess 为 Deny 类型 Policy,如果需要授予堡垒机管理员权限(AliyunYundunBastionHostFullAccess),请勿同时为同一用户授予 AliyunYundunBastionHostProjectAdminAccess 权限,否则会导致该用户无法使用堡垒机中系统设置等模块功能。
审计员权限(对应权限策略:AliyunYundunBastionHostAuditOnlyAccess)仅可以在堡垒机管理页面查看日志、录像等审计相关信息,同时支持通过 AK/SK 调用审计类 API。
只读权限仅可以使用堡垒机管理页面读取配置、审计、系统等相关信息。
运维员权限仅可以作为运维用户,使用堡垒机管理页面中的资产运维功能进行运维等操作。
如果 RAM 用户需要通过 AK/SK 调用堡垒机 API(例如 ListHostAccounts、GetWatermarkConfig 等管理接口),需授予 AliyunYundunBastionHostFullAccess 或包含对应 Action 的自定义权限策略;若仅需调用审计类 API,可使用 AliyunYundunBastionHostAuditOnlyAccess。
如果 RAM 用户需要同时运维堡垒机和其他阿里云产品(例如运维负载均衡 SLB),除授予堡垒机相应权限策略外,还需额外授予对应云产品的权限策略(例如 AliyunSLBFullAccess)。
以上权限策略是对RAM用户使用堡垒机管理页面的限制,RAM用户使用客户端运维时不受上述权限策略限制。客户端运维操作主要通过堡垒机上的用户和资产的授权关系进行控制,用户授权资产后即可通过客户端运维资产。
阿里云账号仅拥有堡垒机的管理权限,目前不支持导入到堡垒机中作为堡垒机用户。
您可以同时为同一个RAM用户授予多个权限。
前提条件
您已在开通堡垒机实例的阿里云账号下创建RAM用户。具体操作,请参见创建RAM用户。
如果导入的阿里云RAM用户需要关联虚拟MFA设备,请参见RAM用户自行绑定MFA设备。堡垒机会使用MFA认证设置作为RAM用户登录堡垒机时的双因子认证方式设置。
操作步骤
使用RAM管理员登录RAM控制台。
在左侧导航栏,选择。
在用户页面,单击目标RAM用户操作列的添加权限。您也可以选中多个RAM用户,单击用户列表下方的添加权限,为RAM用户批量授权。
在添加权限面板,为堡垒机RAM用户添加权限。
选择资源范围。
账号级别:权限在当前阿里云账号内生效。
资源组级别:权限在指定的资源组内生效。
重要指定资源组授权生效的前提是该云服务及资源类型已支持资源组,详情请参见支持资源组的云服务。资源组授权示例,请参见使用资源组限制RAM用户管理指定的ECS实例。
选择授权主体。
授权主体即需要添加权限的RAM用户。系统会自动选择当前的RAM用户。
选择堡垒机权限策略。
说明创建堡垒机实例时,除
AliyunYundunBastionHostFullAccess外,还需要AliyunBSSOrderAccess权限才能完成实例订单支付,否则创建堡垒机实例会因权限不足而失败。创建堡垒机实例所需的权限策略如下:AliyunYundunBastionHostFullAccess:管理云盾堡垒机(Bastionhost)的权限。AliyunBSSOrderAccess:在费用中心查看订单、支付订单及取消订单的权限。
AliyunYundunBastionHostFullAccess仅包含堡垒机管理、查看实例详情等相关权限,不包含费用中心的订单支付权限,因此仅授予该策略无法完成堡垒机实例的创建。
单击确认新增授权。
单击关闭。
常见问题
RAM 用户调用堡垒机 API 报错 InvalidAccessKeyId 或 unknown endpoint 怎么办?
若 RAM 用户通过 AK/SK 调用堡垒机 API 时出现 InvalidAccessKeyId 或 unknown endpoint 报错,请按以下步骤排查:
检查权限策略:登录 RAM 控制台,进入目标 RAM 用户的授权页面,确认该用户已绑定 AliyunYundunBastionHostFullAccess,或已绑定包含目标 API Action(如
yundun-bastionhost:ListHostAccounts)的自定义权限策略。显式指定 Endpoint:堡垒机 API 不支持默认 Endpoint 自动解析,调用时必须显式指定地域端点。例如上海地域请在 SDK 配置或 API 请求中指定
yundun-bastionhost.aliyuncs.com并传入正确的 RegionId 参数。若未指定或 Endpoint 格式有误,SDK 将报错unknown endpoint。验证 AK/SK 有效性:在 RAM 控制台确认 AccessKey ID 与 AccessKey Secret 匹配且处于启用状态。若怀疑 AccessKey Secret 泄露或不匹配,建议在 RAM 控制台用户详情页重新创建 AccessKey,并使用新凭证重新测试。
通过 OpenAPI 门户验证权限:建议在 OpenAPI 门户选择对应地域,使用目标 AK/SK 测试调用 ListHostAccounts 接口(需传入 RegionId)。若调用成功,则证明权限配置和 Endpoint 均正确。
RAM 用户登录堡垒机运维页面报错缺少 ListTagResources 权限怎么办?
问题原因:堡垒机预设的只读权限策略(AliyunYundunBastionHostReadOnlyAccess)未包含 yundun-bastionhost:ListTagResources 操作,导致运维页面在加载标签资源时鉴权失败。
解决方法:
在 RAM 控制台为目标 RAM 用户创建并绑定一条自定义权限策略:
登录 RAM 控制台,在左侧导航栏选择权限策略 > 创建权限策略。
在创建页面,将服务选择为堡垒机,在操作中添加
yundun-bastionhost:ListTagResources,完成策略创建。在 RAM 用户详情页的授权页面,将上述自定义策略授权给目标 RAM 用户。
RAM 用户调用 GetWatermarkConfig 等管理接口提示权限不足怎么办?
问题原因:当 RAM 用户的权限策略采用资源组级别授权时,若授权的资源组未包含目标堡垒机实例所在的资源组,即使该用户已被授予 AliyunYundunBastionHostFullAccess 等管理权限,调用 GetWatermarkConfig 等管理接口时仍会因资源范围不匹配而报权限不足错误。
解决方法:
根据业务需求,选择以下任意一种方式处理:
方式一(扩展资源组授权范围):登录 RAM 控制台,在目标 RAM 用户的授权列表中找到对应的资源组级别策略,确认其授权范围是否已覆盖目标堡垒机实例所属的资源组。如未覆盖,将该实例所属资源组添加到授权范围中。
方式二(改为账号级授权):将该权限策略的授权方式从资源组级别改为账号级别,使策略覆盖当前阿里云账号下的所有堡垒机实例,从根本上消除资源范围不匹配问题。