云服务器内容精选

  • 操作流程 以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 切换角色 在“切换角色”页面中,输入委托方的账号名称,输入账号名称后,系统将会按照顺序自动匹配委托名称。 如果自动匹配的是没有授权的委托,系统将提示没有权限访问,可以删除委托名称,在下拉框中选择已授权的委托名称。 单击“确定”,切换至委托方账号中。
  • 步骤3:IAM用户登录并验证权限 IAM用户登录有多种方式,如下步骤仅讲述其中一种,更多登录方式请参见:登录华为云。 在华为云登录页面,单击右下角的“IAM用户登录”。 在“IAM用户登录”页面,使用新创建的用户登录,输入账号名、用户名及用户密码。 图8 IAM用户登录 账号名为该IAM用户所属华为云账号的名称。 用户名和密码为账号在IAM创建用户时输入的用户名和密码。 登录成功后,进入华为云控制台,请先切换至授权区域“华东-上海二”。 在“服务列表”中选择虚拟私有云VPC、弹性负载均衡ELB,云解析服务DNS,可以进入这些服务的主页面并进行管理操作,权限配置成功。 在“服务列表”中选择除以上服务外的任一服务,系统提示权限不足,权限配置成功。 切换区域至除“华东-上海二”的任一区域,无法进入任何服务主页面,包括虚拟私有云VPC、弹性负载均衡ELB,云解析服务DNS,表示权限配置成功。
  • 开通并创建企业项目 通过本节在企业管理控制台创建名为“企业项目A”、“企业项目B”的企业项目。如果您已开通企业项目,请直接操作步骤 4。 A公司使用注册的华为账号登录华为云控制台,单击“用户名”,选择“基本信息”。 在基本信息页面,单击“开通企业项目”。 如果您为未实名认证的账号,请先进行企业实名认证。 在开通企业项目页面,勾选“我已阅读并同意《华为云企业管理使用协议》”,单击“申请开通”,开通企业项目。 在华为云控制台,单击“企业”,选择“项目管理”。 图2 进入企业管理服务 在企业项目管理页面,单击“创建企业项目”。 图3 进入创建企业项目页面 在创建企业项目页面,输入“名称”为“企业项目A”,单击“确定”,完成“企业项目A”创建。 重复步骤5~6,创建“企业项目B”。 创建企业项目后,项目管理列表中显示新创建的“企业项目A”和“企业项目B”。
  • 被委托方跨账号管理 当A账号与B账号创建委托关系后,即B账号为被委托方,B账号通过切换角色的方法,可以切换到A账号中,管理委托方授权的资源。B账号需要提前获取A账号的华为账号名称以及所创建的委托名称。 B账号登录华为云,进入控制台。 在右上方的用户名中,选择“切换角色”。 图3 切换角色 在“切换角色”页面中,输入委托方的账号名称,输入账号名称后,系统将会按照顺序自动匹配委托名称。 图4 切换角色 单击“确定”,切换至委托方A账号中。
  • 解决方案 针对以上企业需求,可以使用IAM的委托功能来实现跨账号的资源授权与管理。 A账号在IAM控制台创建一个委托,指定委托的使用者为B账号,并将需要代运维的资源授权给这个委托。 B账号进一步授权,将A账号委托的资源分配给账号下专职管理委托的IAM用户,让IAM用户帮助管理。 当合作关系发生变更时,A账号随时可以修改或者删除这个委托,B账号以及账号下可以管理该委托的用户对该委托的使用权限将自动修改或者撤销。 图1 跨账号授权模型
  • 应用场景 假如您是一位开发者,开发了一个应用程序,这个应用程序运行在ECS实例上,应用程序的代码中涉及调用API访问华为云服务。此时,因为华为云服务要求访问请求方出示访问凭证,所以您的API调用将会面临提供访问凭证的问题。 访问凭证按照时效性可分为永久凭证和临时凭证,相较于永久性访问凭证,例如用户名和密码,临时访问密钥因为有效期短且刷新频率高,所以安全性更高。因此,您的应用程序若想要以更安全的方式访问云服务,需要获取临时访问凭证,而IAM的委托功能,则支持通过ECS委托获取临时访问密钥。 图1 应用程序获取临时访问密钥 如图1所示,以访问数据库服务举例。因为数据库服务要求访问请求方提供访问凭证,所以应用程序需要获得委托的临时访问密钥AK、SK。应用程序与ECS元数据服务通信,ECS元数据服务再与IAM通信,拿到临时AK、SK后返回给应用程序。然后,应用程序将临时AK、SK作为访问凭证出示给数据库服务,数据库服务收到请求后,先校验访问凭证是否合法,凭证通过校验后,ECS实例上的应用程序才能访问数据库服务。
  • 解决方案 针对以上应用场景,可使用IAM对ECS云服务的委托来获取临时访问密钥。在IAM上对ECS云服务授权,并对应用程序所在的ECS实例进行授权委托管理。ECS实例获得委托权限之后,应用程序可申请指定委托的临时访问密钥,从而以临时访问密钥为凭证安全访问华为云资源。详细方案如下: 创建ECS云服务委托。账号在IAM控制台创建委托,指定委托对象为ECS云服务。委托创建时,选择权限策略,选择可访问的资源范围,不同的委托对应不同的权限策略。 ECS实例配置委托。在ECS实例的配置项中选择上一步创建的委托,一个ECS实例只可以选择一个委托。 获取委托的临时凭证。ECS实例配置了委托参数后,就获得了委托权限。此时,ECS实例上运行的应用程序可获取委托的临时访问密钥AK、SK。拥有临时访问密钥的应用程序可与华为云服务进行交互,交互行为遵循账号授予的权限策略和资源使用范围。
  • 定期修改身份凭证 如果您不知道自己的密码或访问密钥已泄露,定期进行修改可以将不小心泄露的风险降至最低。 定期轮换密码可以通过设置密码有效期策略进行,您以及您账号中的用户在设置的时间内必须修改密码,否则密码将会失效,IAM会在密码到期前15天开始提示用户修改密码。 轮换访问密钥可以通过创建两个访问密钥进行,将两个访问密钥作为一主一备,一开始先使用主访问密钥一,一段时间后,使用备访问密钥二,然后在控制台删除主访问密钥一,并重新生成一个访问密钥,在您的应用程序中定期轮换使用。
  • 开启虚拟MFA功能 Multi-Factor Authentication (简称MFA) 是一种非常简单的安全实践方法,建议您给华为账号以及您账号中具备较高权限的用户开启MFA功能,它能够在用户名和密码之外再额外增加一层保护。启用MFA后,用户登录控制台时,系统将要求用户输入用户名和密码(第一安全要素),以及来自其MFA设备的验证码(第二安全要素)。这些多重要素结合起来将为您的账户和资源提供更高的安全保护。 MFA设备可以基于硬件也可以基于软件,系统目前仅支持基于软件的虚拟MFA,虚拟MFA是能产生6位数字认证码的应用程序,此类应用程序可在移动硬件设备(包括智能手机)上运行,非常方便。
  • 在ECS实例上运行的应用程序使用ECS委托 在华为云ECS实例上运行的应用程序需要凭证才能访问其他华为云服务。若要以安全的方式提供应用程序所需的凭证,可使用ECS委托获取临时访问密钥。在ECS获取临时访问密钥,需要在IAM上对ECS授权,并对相应的弹性云服务器资源进行授权委托管理。ECS通过向IAM申请指定委托的临时凭证,从而安全访问资源。ECS会为您自动轮换这些临时凭证,从而确保每次申请的临时凭证安全、有效。 当您启动ECS实例时,您可指定实例的委托,以作为启动参数。在ECS实例上运行的应用程序在访问华为云资源时可使用委托的临时访问密钥,同时委托的权限将确定允许访问资源的应用程序。
  • 不给华为账号创建访问密钥 华为账号是您华为云资源归属、资源使用计费的主体,对其所拥有的资源及云服务具有完全的访问权限。密码与访问密钥(AK/SK)都是账号的身份凭证,具有同等效力,密码用于登录界面控制台,是您必须具备的身份凭证,访问密钥用于使用开发工具进行编程调用,是第二个身份凭证,为辅助性质,非必须具备。为了提高账号安全性,建议您仅使用密码登录控制台即可,不要给账号创建第二个身份凭证(访问密钥),避免因访问密钥泄露带来的信息安全风险。
  • 合理设置访问方式 IAM支持为用户设置编程访问、管理控制台访问方式,请参考如下说明为IAM用户设置访问方式: 如果IAM用户仅需登录管理控制台访问云服务,建议访问方式选择管理控制台访问,凭证类型为密码。 如果IAM用户仅需编程访问华为云服务,建议访问方式选择编程访问,凭证类型为访问密钥。 如果IAM用户需要使用密码作为编程访问的凭证(部分API要求),建议访问方式选择编程访问,凭证类型为密码。 如果IAM用户使用部分云服务时,需要在其控制台验证访问密钥(由IAM用户输入),建议访问方式选择编程访问和管理控制台访问,凭证类型为密码和访问密钥。例如IAM用户在控制台使用云数据迁移CDM服务创建数据迁移,需要通过访问密钥进行身份验证。
  • 响应示例 状态码为 200 时: 请求成功。 { "projects": [ { "domain_id": "d78cbac186b744899480f25...", "is_domain": false, "parent_id": "d78cbac186b744899480f2...", "name": "af-south-1", "description": "", "links": { "self": "https://iam.myhuaweicloud.com/v3/projects/06f1cbbaf280106b2f14c00313a9d065" }, "id": "06f1cbbaf280106b2f14c00313a9...", "enabled": true }, { "domain_id": "d78cbac186b744899480f25bd02...", "is_domain": false, "parent_id": "d78cbac186b744899480f25bd0...", "name": "cn-north-1", "description": "", "links": { "self": "https://iam.myhuaweicloud.com/v3/projects/065a7c66da0010992ff7c0031e..." }, "id": "065a7c66da0010992ff7c0031e5...", "enabled": true } ], "links": { "self": "https://iam.myhuaweicloud.com/v3/OS-FEDERATION/projects" } }
  • 响应参数 表2 响应Body参数 参数 参数类型 描述 links Object 资源链接信息。 projects Array of objects 项目信息列表。 表3 links 参数 参数类型 描述 self String 资源链接地址。 表4 projects 参数 参数类型 描述 is_domain Boolean false. description String 项目描述信息。 links Object 项目的资源链接。 enabled Boolean 项目是否可用。 id String 项目ID。 parent_id String 如果查询自己创建的项目,则此处返回所属区域的项目ID。 如果查询的是系统内置项目,如cn-north-1,则此处返回账号ID。 domain_id String 项目所属账号ID。 name String 项目名称。 表5 projects.links 参数 参数类型 描述 self String 资源链接地址。
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。 GET:请求服务器返回指定资源。 PUT:请求服务器更新指定资源。 POST:请求服务器新增资源或执行特殊操作。 DELETE:请求服务器删除指定资源,如删除对象等。 HEAD:请求服务器资源头部。 PATCH:请求服务器更新资源的部分内容。当资源不存在的时候,PATCH可能会去创建一个新的资源。 在获取IAM用户Token(使用密码)的URI部分,您可以看到其请求方法为“POST”,则其请求为: POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens