云服务器内容精选

  • 操作流程 以B账号将委托分配给 IAM 用户进行管理为例,说明使用IAM的用户授权功能,实现分配委托以及对委托进行精细授权的操作方法,委托权限分配完成后,B账号中的IAM用户通过切换角色的方式,可以切换到A账号中,管理委托方授权的资源。B账号需要提前获取委托公司的华为账号名称、所创建的委托名称以及委托的ID。 创建用户组并授权。 B账号在 统一身份认证 服务左侧导航窗格中,单击“用户组”。 在“用户组”界面中,单击“创建用户组”。 输入“用户组名称”,例如“委托管理”。 单击“确定”。 返回用户组列表,用户组列表中显示新创建的用户组。 单击新建用户组右侧的“授权”,进入授权界面。 如果需要用户仅管理一个特定的委托,请执行以下步骤对委托进行精细授权。 如果需要用户管理所有委托,请跳过该步骤,直接执行下一步。 在选择策略页面,单击权限列表右上角“新建策略”。 输入“策略名称”,例如“管理A公司的委托1”。 “策略配置方式”选择“JSON视图”。 在“策略内容”区域,填入以下内容: { "Version": "1.1", "Statement": [ { "Action": [ "iam:agencies:assume" ], "Resource": { "uri": [ "/iam/agencies/b36b1258b5dc41a4aa8255508xxx..." ] }, "Effect": "Allow" } ] } "b36b1258b5dc41a4aa8255508xxx..."需要替换为待授权委托的ID,需要提前向委托方获取,其他内容不需修改,直接拷贝即可。 单击“下一步”,继续完成授权。 选择上一步中创建的自定义策略“管理A公司的委托1”,或者“Agent Operator”权限。 自定义策略:用户仅能管理指定ID的委托,不能管理其他委托。 “Agent Operator”权限:用户可以管理所有委托。 选择授权作用范围。 单击“确定”。 创建用户并加入用户组。 在统一身份认证服务左侧导航窗格中,单击“用户” 在“用户”界面,单击“创建用户”。 在“创建用户”界面,输入“用户名”“邮箱”。 “访问方式”选择“管理控制台访问”。 “凭证类型”选择“首次登录时设置”。 “登录保护”选择“开启”,并选择身份验证方式,单击“下一步”。 在“加入用户组”页面,选择步骤2中创建的用户组“委托管理”,单击“创建用户”。 切换角色。 使用步骤3创建的用户,使用“IAM用户登录”方式,登录华为云。登录方法,请参见:IAM用户登录。 在控制台页面,右上方的用户名中,选择“切换角色”。 图1 切换角色 在“切换角色”页面中,输入委托方的账号名称,输入账号名称后,系统将会按照顺序自动匹配委托名称。 如果自动匹配的是没有授权的委托,系统将提示没有权限访问,可以删除委托名称,在下拉框中选择已授权的委托名称。 单击“确定”,切换至委托方账号中。
  • 解决方案 针对以上应用场景,可使用IAM对E CS 云服务的委托来获取临时访问密钥。在IAM上对ECS云服务授权,并对应用程序所在的ECS实例进行授权委托管理。ECS实例获得委托权限之后,应用程序可申请指定委托的临时访问密钥,从而以临时访问密钥为凭证安全访问华为云资源。详细方案如下: 创建ECS云服务委托。账号在IAM控制台创建委托,指定委托对象为ECS云服务。委托创建时,选择权限策略,选择可访问的资源范围,不同的委托对应不同的权限策略。 ECS实例配置委托。在ECS实例的配置项中选择上一步创建的委托,一个ECS实例只可以选择一个委托。 获取委托的临时凭证。ECS实例配置了委托参数后,就获得了委托权限。此时,ECS实例上运行的应用程序可获取委托的临时访问密钥AK、SK。拥有临时访问密钥的应用程序可与华为云服务进行交互,交互行为遵循账号授予的权限策略和资源使用范围。
  • 应用场景 假如您是一位开发者,开发了一个应用程序,这个应用程序运行在ECS实例上,应用程序的代码中涉及调用API访问华为云服务。此时,因为华为云服务要求访问请求方出示访问凭证,所以您的API调用将会面临提供访问凭证的问题。 访问凭证按照时效性可分为永久凭证和临时凭证,相较于永久性访问凭证,例如用户名和密码,临时访问密钥因为有效期短且刷新频率高,所以安全性更高。因此,您的应用程序若想要以更安全的方式访问云服务,需要获取临时访问凭证,而IAM的委托功能,则支持通过ECS委托获取临时访问密钥。 图1 应用程序获取临时访问密钥 如图1所示,以访问数据库服务举例。因为数据库服务要求访问请求方提供访问凭证,所以应用程序需要获得委托的临时访问密钥AK、SK。应用程序与ECS元数据服务通信,ECS元数据服务再与IAM通信,拿到临时AK、SK后返回给应用程序。然后,应用程序将临时AK、SK作为访问凭证出示给数据库服务,数据库服务收到请求后,先校验访问凭证是否合法,凭证通过校验后,ECS实例上的应用程序才能访问数据库服务。