云服务器内容精选

  • Hyperledger Fabric增强版 Hyperledger Fabric增强版的 区块链服务BCS 提供专业版、企业版和铂金版供您选择使用,每个版本均有不同的规格支持,详细请参见表3。集群规格信息请参考表4。 各版本的价格请参见:产品价格详情。 一个容器集群目前只能部署一个 区块链 实例。 表3 各版本区别 功能 专业版 企业版 铂金版 适用场景类型 满足小规模商用 满足中等规模商用 满足大规模商用(大企业金融和数字政府等) 联盟链 支持 支持 支持 交易峰值性能 不超过500 TPS 不超过2000 TPS 不超过10000 TPS 共识算法 Raft(CFT) 支持 支持 支持 FBFT 不支持 支持 支持 节点管理 最大成员组织数 2 5 10 单组织最大成员节点数 2 2 5 最大共识(Orderer)节点数 3 4 10 最大通道数 2 4 10 节点故障自动恢复 支持 支持 支持 节点弹性伸缩 支持 支持 支持 最大轻节点数 不支持 10 40 安全功能 ECDSA 支持 支持 支持 国密 不支持 支持 支持 加法同态 不支持 支持 支持 零知识证明 不支持 支持 支持 高可用 Restful接口调用智能合约 支持 支持 支持 普通部署 支持 支持 支持 高可用部署 不支持 不支持 支持 运维监控 运维日志 支持 支持 支持 节点状态监控 支持 支持 支持 状态告警 支持 支持 支持 服务支持 专属服务经理 不支持 不支持 支持 研发远程技术支持 不支持 不支持 7*24小时研发团队远程技术支持。 点对点故障处理客户现场支持 不支持 不支持 现场技术支持,每季度不超过一人天。 表4 规格信息 规格 CCE规格 E CS 节点 EIP VPC及subnet 容器网络 专业版 cce.s1.small(小规模单控制节点CCE集群,最大50节点) 单AZ 规格:4核8GB 个数:组织节点(peer)数/2+1个(orderer) 私有链:不创EIP 联盟链:每个集群节点(node)1个eip EIP带宽大小:1M 1个VPC及subnet VPC网络 企业版 cce.s2.small (小规模高可用CCE集群,最大50节点) 多AZ 规格:8核16GB 个数:组织节点(peer)数/2+orderer数 私有链:不创EIP 联盟链:每个集群节点(node)1个eip EIP带宽大小:5M 1个VPC及subnet VPC网络 铂金版 cce.s2.small (小规模高可用CCE集群,最大50节点) 多AZ 规格:8核16GB 个数:组织节点(peer)数+orderer数 私有链:不创EIP 联盟链:每个集群节点(node)1个eip EIP带宽大小:10M 1个VPC及subnet VPC网络
  • 华为云区块链引擎 华为云区块链引擎服务当前仅“华北-北京四”区域支持。 华为云区块链引擎架构版本的区块链服务 BCS 提供专业版、企业版和铂金版供您选择使用,每个版本均有不同的规格支持,详情请查看表1。 表1 各版本区别 功能 专业版 企业版 铂金版 适用场景类型 满足小规模商用 满足中等规模商用 满足大规模商用(大企业金融和数字政府等) 性能峰值(TPS) 不超过2000 TPS 不超过10000 TPS 不超过50000 TPS 共识策略 Raft 支持 支持 支持 功能和规模 最大组织个数 2 10 100 每个组织存储空间(GB) 500GB 2000GB 6000GB 富媒体存储带宽 1M/s 2M/s 5M/s 安全功能 ECDSA 支持 支持 支持 国密 不支持 支持 支持 高可用 容器高可靠 不支持 支持 支持 多AZ容灾 不支持 支持 支持 运维监控 合约日志 支持 支持 支持 容量监控 支持 支持 支持 服务支持 专属服务经理 不支持 不支持 支持 研发远程技术支持 不支持 不支持 支持 点对点故障处理客户现场支持 不支持 不支持 支持
  • Hyperledger Besu 华为云区块链引擎服务当前仅“华北-北京四”区域支持。 Hyperledger Besu架构版本的区块链服务BCS提供专业版和企业版供您选择使用,每个版本均有不同的规格支持,详情请查看表2。 表2 各版本区别 功能 专业版 企业版 适用场景类型 仅限基础开发测试使用,不保证可靠性。 满足中等规模商用。 共识策略 Raft 支持 支持 功能和规模 最大节点个数 4 10 每个节点存储空间(GB) 500GB 2000GB 安全功能 ECDSA 支持 支持 国密 不支持 支持 高可用 容器高可靠 不支持 支持 多AZ容灾 不支持 支持 运维监控 合约日志 支持 支持 容量监控 支持 支持 服务支持 专属服务经理 不支持 不支持 研发远程技术支持 不支持 不支持 点对点故障处理客户现场支持 不支持 不支持
  • 华为云区块链引擎权限 默认情况下,新建的 IAM 用户没有任何权限,您需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 BCS部署时通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域(如华北-北京1)对应的项目(cn-north-1)中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问BCS时,需要先切换至授权区域。 权限根据授权精细程度分为角色和策略: 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。例如:针对ECS服务,管理员能够控制IAM用户仅能对某一类云服务器资源进行指定的管理操作。 表2 华为云区块链引擎权限 系统权限 权限描述 权限类别 依赖关系 BCS Administrator 区块链服务的所有执行权限。 系统角色 BSS Administrator、VPCEndpoint Administrator、VPC Administrator BCS Huaweicloudchain FullAccess 华为云区块链引擎权限所有权限。 系统策略 BSS Administrator、VPCEndpoint Administrator、VPC Administrator BCS Huaweicloudchain ReadOnlyAccess 华为云区块链引擎权限只读权限。 系统策略 VPCEP Administrator BCS Huaweicloudchain FullAccess策略内容: { "Version": "1.1", "Statement": [ { "Action": [ "bcs:huaweiCloudChain*:*", "vpc:vpcs:list", "vpc:vpcs:get", "vpc:subnets:get" ], "Effect": "Allow" } ] } BCS Huaweicloudchain ReadOnlyAccess策略内容: { "Version": "1.1", "Statement": [ { "Effect": "Deny", "Action": [ "bcs:huaweiCloudChain*:delete*", "bcs:huaweiCloudChain*:update*", "bcs:huaweiCloudChain*:create*", "bcs:huaweiCloudChain*:install", "bcs:huaweiCloudChain*:download*" ] }, { "Effect": "Allow", "Action": [ "bcs:huaweiCloudChain*:get*", "bcs:huaweiCloudChain*:list*", "bcs:huaweiCloudChain*:inquire", "vpc:vpcs:list", "vpc:vpcs:get", "vpc:subnets:get" ] } ] } 相关链接: IAM产品介绍。 创建用户组、用户并授予BCS权限,请参考创建用户并授权使用BCS。 细粒度策略支持的授权项,请参考“策略及授权项说明”章节。
  • Hyperledger Fabric增强版权限 默认情况下,新建的IAM用户没有任何权限,您需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 BCS部署时通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域(如华北-北京1)对应的项目(cn-north-1)中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问BCS时,需要先切换至授权区域。 如表1所示,包括了Hyperledger Fabric增强版的所有系统权限。 表1 Hyperledger Fabric增强版系统权限 系统权限 权限描述 权限类别 依赖关系 BCS Administrator 区块链服务Hyperledger Fabric增强版的所有执行权限。 系统角色 Tenant Guest、Server Administrator、ELB Administrator、SFS Administrator、SWR Admin、 APM FullAccess、 AOM FullAccess、CCE Administrator、VPC Administrator、EVS Administrator、CCE Cluster Admin BCS Fabric FullAccess 区块链服务Hyperledger Fabric增强版的所有权限。 系统策略 无 BCS Fabric ReadOnlyAccess 区块链服务Hyperledger Fabric增强版只读权限。 系统策略 无 BCS Fabric FullAccess策略内容: { "Version": "1.1", "Statement": [ { "Action": [ "bcs:fabric*:*", "cce:*:*", "ecs:*:*", "evs:*:*", "vpc:*:*", "elb:*:*", "aom:*:*", "apm:*:*", "rds:*:*", "dms:*:*", "sfs:*:*", "sfsturbo:*:*", "cloudIDE:*:*" ], "Effect": "Allow" } ] } BCS Fabric ReadOnlyAccess策略内容: { "Version": "1.1", "Statement": [ { "Action": [ "bcs:fabric*:get*", "bcs:fabric*:list*", "cce:*:get*", "cce:*:list*", "ecs:*:get*", "ecs:*:list*", "evs:*:get*", "evs:*:list*", "vpc:*:get*", "vpc:*:list*", "elb:*:get*", "elb:*:list*", "aom:*:get*", "aom:*:list*", "apm:*:get*", "apm:*:list*", "rds:*:get*", "rds:*:list*", "dms:*:get*", "dms:*:list*", "sfs:*:get*", "sfsturbo:*:get*", "cloudIDE:*:get*", "cloudIDE:*:list*" ], "Effect": "Allow" } ] }
  • 支持的授权项 策略支持的操作与API相对应,授权项列表说明如下: 权限:允许或拒绝某项操作。 对应API接口:自定义策略实际调用的API接口。 授权项:自定义策略中支持的Action,在自定义策略中的Action中写入授权项,可以实现授权项对应的权限功能。 依赖的授权项:部分Action存在对其他Action的依赖,需要将依赖的Action同时写入授权项,才能实现对应的权限功能。 IAM项目(Project)/企业项目(Enterprise Project): 自定义策略的授权范围,包括IAM项目与企业项目。授权范围如果同时支持IAM项目和企业项目,表示此授权项对应的自定义策略,可以在IAM和企业管理两个服务中给用户组授权并生效。如果仅支持IAM项目,不支持企业项目,表示仅能在IAM中给用户组授权并生效,如果在企业管理中授权,则该自定义策略不生效。关于IAM项目与企业项目的区别,详情请参见:IAM与企业管理的区别。 如果您需要允许或者禁止某个接口的操作权限,请使用策略。使用策略时,注意事项如下: 目前只有基于已有集群创建的区块链实例支持细粒度授权功能,区块链所使用的集群需要进行权限预处理,应使用具有CCE Administrator及以上权限的账号在CCE控制台的权限管理页面为指定集群授予命名空间权限。例如为具有BCS Fabric ReadOnlyAccess权限的用户组授予view命名空间权限,为具有BCS Fabric FullAcces权限的用户组授予cluster admin命名空间权限。具体操作请参考CCE命名空间权限。 若用户想要查询委托状态,则需额外授予IAM ReadOnlyAccess。若需要授权委托,请联系具有Security Administrator角色的账号进行授权。 如果需要创建包周期区块链实例,需要额外授予BSS Operator角色。请勿将BCS Fabric ReadOnlyAccess和BSS的角色放在一起使用,以免造成意外退订。 请勿将Tenant Guest角色与BCS Fabric FullAccess策略放在一起使用,否则会造成部分功能界面隐藏。 企业项目授权时,由于依赖服务的个别接口未实现基于企业项目的权限管理,需要在IAM用户组授予对应的项目权限。例如创建实例需要同时授予VPC ReadOnlyAccess项目权限,查看监控需要同时授予AOM ReadOnlyAccess项目权限,查看合约实例需要同时授予CloudIDE ReadOnlyAccess项目权限,增加组织需要同时授予SFS Turbo ReadOnlyAccess项目权限。
  • 请求URI 请求URI由如下部分组成。 {URI-scheme} :// {Endpoint} / {resource-path} ? {query-string} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 URI-scheme: 表示用于传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint: 指定承载REST服务端点的服务器 域名 或IP,不同服务不同区域的Endpoint不同,您可以从地区和终端节点获取。 例如:BCS服务在“华北-北京一”区域的Endpoint为“bcs.cn-north-1.myhuaweicloud.com”。 resource-path: 资源路径,也即API访问路径。从具体API的URI模块获取,例如“获取用户Token”API的resource-path为“/v3/auth/tokens”。 query-string: 查询参数,是可选部分,并不是每个API都有查询参数。查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“limit=10”,表示查询不超过10条数据。 例如您需要获取IAM在“华北-北京一”区域的Token,则需使用“华北-北京一”区域的Endpoint(iam.cn-north-1.myhuaweicloud.com),并在获取IAM用户Token(使用密码)的URI部分找到resource-path(/v3/auth/tokens),拼接起来如下所示。 1 https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens 图1 URI示意图 为查看方便,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
  • 请求方法 HTTPS请求方法(也称为操作或动词),它告诉服务用户正在请求什么类型的操作。 GET:请求服务器返回指定资源。 PUT:请求服务器更新指定资源。 POST:请求服务器新增资源或执行特殊操作。 DELETE:请求服务器删除指定资源,如删除对象等。 HEAD:请求服务器资源头部。 PATCH:请求服务器更新资源的部分内容。当资源不存在的时候,PATCH可能会去创建一个新的资源。 在获取IAM用户Token(使用密码)的URI部分,您可以看到其请求方法为“POST”,则其请求为: 1 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
  • 请求消息体 请求消息体通常以结构化格式发出,与请求消息头中Content-type对应,传递除请求消息头之外的内容。若请求消息体中参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取IAM用户Token(使用密码)接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,domainname为用户所属的账号名称,********为用户登录密码,xxxxxxxxxxxxxxxxxx为project的ID,获取方法请参见获取项目ID。 scope参数定义了Token的作用域,下面示例中获取的Token仅能访问project下的资源。您还可以设置Token作用域为某个账号下所有资源或账号的某个project下的资源,详细定义请参见获取IAM用户Token(使用密码)。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "id": "xxxxxxxxxxxxxxxxxx" } } } } 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。对于获取用户Token接口,返回的响应消息头中“x-subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。
  • 请求消息头 附加请求头字段,如指定的URI和HTTPS方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 如下公共消息头需要添加到请求中。 Content-Type:消息体的类型(格式),必选,默认取值为“application/json”,有其他取值时会在具体接口中专门说明。 X-Auth-Token:用户Token,可选,当使用Token方式认证时,必须填充该字段。用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 API同时支持使用AK/SK认证,AK/SK认证是使用SDK对请求进行签名,签名过程会自动往请求中添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。 AK/SK认证的详细说明请参考AK/SK认证。 对于获取IAM用户Token(使用密码)接口,由于不需要认证,所以只添加“Content-Type”即可,添加消息头后的请求如下所示。 1 2 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json
  • API概览 通过使用区块链服务所提供的管理接口,您可以通过调用API使用区块链服务的功能,包括BCS实例的创建、删除,构建联盟链等,接口说明如表1所示。 表1 API概览 类型 API 说明 BCS管理 创建服务实例 创建BCS服务实例。 查询创建状态 查询指定服务实例创建状态。 查询实例信息 查询指定服务实例详细信息。 修改服务实例 修改实例的节点、组织,目前仅支持添加节点,添加组织。 创建通道 创建通道。 查询通道信息 查询指定服务实例通道信息。 peer节点加入通道 peer节点加入通道。 BCS组织退出某通道 用于BCS组织退出某通道。 下载证书 下载指定服务实例相关证书。 下载SDK配置 下载指定服务实例SDK配置文件。 生成用户证书 通过用户名生成指定服务实例组织用户证书。 解冻用户证书 解冻指定服务实例组织用户证书,解冻后需等待半分钟到一分钟左右生效。 冻结用户证书 冻结指定服务实例组织用户证书,冻结后需等待半分钟到一分钟左右生效。 查询配额 查询当前项目下BCS服务所有资源的配额信息。 查询规格 查询当前项目下所有服务实例的简要信息。 查询节点信息 查询指定服务实例节点信息。 查询异步操作结果 查询异步操作结果。 查询服务实例列表 查询当前项目下所有服务实例的简要信息。 删除bcs实例 删除BCS实例。 BCS某个组织中的节点退出某通道 BCS某个组织中的节点退出某通道。 BCS删除某个通道 BCS删除某个通道。 BCS联盟 邀请联盟成员 批量邀请联盟成员加入通道,此操作会向被邀请方发出邀请通知。 处理联盟邀请 处理联盟邀请。 获取全部通知 获取全部通知。 获取联盟成员列表 获取联盟成员列表。 删除邀请成员信息 批量取消邀请或删除对已退出或拒绝加入或解散的成员邀请信息。 被邀请方退出联盟 被邀请方退出联盟。 BCS监控 查询服务实例告警信息 用于查询BCS服务的监控数据,可以指定相应的指标名称。 查询服务实例告警统计接口 用于查询BCS服务的告警统计数据,可以指定相应的指标名称。 查询BCS服务实例监控数据 用于查询BCS服务的监控数据,可以指定相应的指标名称。 查询BCS组织监控数据列表 用于查询BCS组织的监控数据列表。 查询BCS组织实例监控数据详情 用于BCS组织实例监控数据详情。 父主题: Hyperledger Fabric增强版管理
  • 基本概念 账号 用户注册账号时,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建用户并使用该用户进行日常管理工作。 用户 由账号在IAM中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看账号ID和用户ID。通常在调用API的鉴权过程中,您需要用到账号、用户和密码等信息。 区域(Region) 从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 可用区(AZ,Availability Zone) 一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中创建资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精确。 图1 项目隔离模型 同样在我的凭证下,您可以查看项目ID。 父主题: 使用前必读
  • AK/SK认证 AK/SK签名认证方式仅支持消息体大小12M以内,12M以上的请求请使用Token认证。 AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而通过身份认证。 AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 SK(Secret Access Key):与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。 使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见API签名指南。 签名SDK只提供签名功能,与服务提供的SDK不同,使用时请注意。
  • Token认证 Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 Token可通过调用获取用户Token接口获取,调用本服务API需要project级别的Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择project,如下所示。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxx" } } } } 获取Token 后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 1 2 3 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/projects Content-Type: application/json X-Auth-Token: ABCDEFJ....
  • 响应消息体 响应消息体通常以结构化格式(如JSON或XML)返回,与响应消息头中Content-Type对应,传递除响应消息头之外的内容。 对于获取IAM用户Token(使用密码)接口,返回如下消息体。为篇幅起见,这里只展示部分内容。 1 2 3 4 5 6 7 8 9 10 11 12 { "token": { "expires_at": "2019-02-13T06:52:13.855000Z", "methods": [ "password" ], "catalog": [ { "endpoints": [ { "region_id": "az-01", ...... 当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所示。 { "error_msg": "The format of message is error", "error_code": "AS.0001" } 其中,error_code表示错误码,error_msg表示错误描述信息。