云服务器内容精选

  • TDIS权限 默认情况下,新建的 IAM 用户没有任何权限,您需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 TDIS部署时通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域(如华北-北京4)对应的项目(cn-north-4)中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问TDIS时,需要先切换至授权区域。 如下表所示,包括了TDIS的所有系统权限。 表1 TDIS系统权限 系统权限 权限描述 权限类别 说明 Tenant Administrator 全部云服务管理员(除IAM权限) 系统角色 详情请参考系统权限。 Tenant Guest 全部云服务只读权限(除IAM管理权限) 系统角色
  • 方案优势 完备的身份和认证管理 随着数字社会的发展,数字身份得到越来越多的使用。传统的身份管理中,身份颁发和获取依赖中心化的第三方,无法实现身份的自主可控、自解释。同时身份的可移植性差。TDIS服务可提供完备的身份管理和认证凭证管理。 强数据隐私保护 分布式场景下用户通过出示凭证获得相应的权限和权益。但凭证出示粒度较粗,隐私保护能力较差,在出示验签的过程中导致用户无关属性暴露。TDIS服务提供强数据隐私保护能力,保障证照应用中的证照数据可用不可见。 丰富易用的扩展组件 证照应用中凭证多种多样,难于管理和维护。凭证模板管理组件可以提将证照统一化、标准化。屏蔽底层 区块链 用户接入门槛,可快速集成分布式身份构建业务。
  • 产品优势 分布式身份系统 遵循W3C的 Decentralized Identifiers(DIDs)v1.0 和 Verifiable Credentials(VC)v1.0 标准规范实现。系统扩展性强,支持身份和可验证凭证的全流程链上管理能力。 强数据隐私保护 可验证凭证支持基于属性级别的细粒度出示,凭证使用者可根据隐私保护需要,任意组合出示凭证中的属性给验证者完成验证,最大程度保护用户隐私,同时解除了已签发凭证对应用业务场景的限制。 凭证申请和签发的相关材料全链路加密存储,使数据可用不可见。 丰富的扩展组件 提供凭证模板管理、链下凭证签发、密钥托管等扩展功能组件,帮助用户基于分布式身份快速构建应用,无须购买和管理区块链资源。
  • 使用方式 根据持有者申请可验证凭证的方式,将可信分布式身份服务的使用分为链外申请模式和链上申请模式。 链外申请模式中,持有者将申请可验证凭证的身份/凭证数据直接发送给签发者。 链上申请模式中,持有者将申请可验证凭证的身份/凭证 数据加密 存储于区块链。 图2 可信分布式身份使用时序图(链外申请模式) 链上申请模式中,根据持有者与签发者之间是否需要通信信道,分为在线申请和离线申请。 图3 可信分布式身份使用时序图(链上申请-在线申请模式) 图4 可信分布式身份使用时序图(链上申请-离线申请模式)
  • 区块链服务BCS 的关系 区块链服务(Blockchain Service简称 BCS )是面向企业及开发者提供的区块链技术服务平台,它可以帮助您快速部署、管理、维护区块链网络,降低您使用区块链的门槛,让您专注于自身业务的开发与创新,实现业务快速上链。 分布式身份服务TDIS依赖区块链服务B CS 。用户无需在区块链服务BCS购买区块链,可直接开通TDIS服务使用基于BCS服务构建的可信分布式身份服务。实现分布式身份和可验证凭证的生成、申请、签发等管理能力,以及数据的发布、授权、分享、解密等能力。
  • 基本概念 分布式身份(Decentralized Identity, DID):一种新型的标识符,可实现可验证的、去中心化的数字身份。 可验证凭证(Verifiable Credential, VC): 一种可验证具备防篡改能力的数字化凭证。包含物理凭证可代表的所有信息,签发机构(者)相关信息、凭证类型信息(驾照、保险卡)、凭证声明属性信息(出生日期、国籍)、凭证限制相关信息(过期时间、使用条款)、凭证所有者信息(身份证号、did标识、姓名)等等。 签发者(Issuer): 分布式身份系统中的角色之一,根据业务逻辑验证后,负责签发可验证凭证。 持有者(Holder): 分布式身份系统中的角色之一,根据业务需要可向签发者申请可验证凭证,向验证者出示已持有的可验证凭证。 验证者(Verifier): 分布式身份系统的角色之一,可校验持有者出示的可验证凭证,用于支撑后续业务决策。 每个did可以是设备、应用、组织或者个人。每个did身份可以同时是签发者、持有者或者验证者角色。
  • 入门指引 可信分布式身份服务(Trusted Decentralized Identity Service,简称TDIS)为个人和企业用户提供统一的、可自解释的、移植性强的分布式身份标识。以下为TDIS服务使用流程,希望对您的使用有所引导及帮助。 当前仅“华北-北京四”区域支持可信分布式身份服务。 开通服务 开通可信分布式身份服务。 申请套餐包 申请免费套餐包,即可注册基于区块链的分布式身份,包含2000次调用。 业务调用 通过RESTful接口完成分布式身份和可验证凭证的业务调用。 查看服务监控 查看API调用的统计监控。
  • 请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 如下公共消息头需要添加到请求中。 Content-Type:消息体的类型(格式),必选,默认取值为“application/json”,有其他取值时会在具体接口中专门说明。 X-Auth-Token:用户Token,可选,当使用Token方式认证时,必须填充该字段。用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 对于获取用户Token接口,由于不需要认证,所以只添加“Content-Type”即可,添加消息头后的请求如下所示。 12 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokensContent-Type: application/json
  • 请求消息体 请求消息体通常以结构化格式发出,与请求消息头中Content-type对应,传递除请求消息头之外的内容。若请求消息体中参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,domainname为用户所属的帐号名称,********为用户登录密码,xxxxxxxxxxxxxxxxxx为project的ID,获取方法请参见获取项目ID。 scope参数定义了Token的作用域,下面示例中获取的Token仅能访问project下的资源。您还可以设置Token作用域为某个帐号下所有资源或帐号的某个project下的资源,详细定义请参见获取用户Token。 1 2 3 4 5 6 7 8 91011121314151617181920212223242526 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokensContent-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。
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。 GET:请求服务器返回指定资源。 PUT:请求服务器更新指定资源。 POST:请求服务器新增资源或执行特殊操作。 DELETE:请求服务器删除指定资源,如删除对象等。 HEAD:请求服务器资源头部。 PATCH:请求服务器更新资源的部分内容。当资源不存在的时候,PATCH可能会去创建一个新的资源。 在获取用户Token的URI部分,您可以看到其请求方法为“POST”,则其请求为: 1 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
  • 请求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),并在获取用户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在同一个区域也相同,所以简洁起见将这两部分省略。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 creator String 创建者身份标识 最小长度:20 最大长度:100 title String 名称 最小长度:1 最大长度:50 identifier String 凭证模板标识 最小长度:1 最大长度:50 attributes Array of Attribute objects 属性信息 version Integer 版本 最小值:1 最大值:2147483647 表4 Attribute 参数 参数类型 描述 name String 名称 最小长度:0 最大长度:100 type String 类型 最小长度:0 最大长度:100 description String 描述信息 最小长度:0 最大长度:200 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:13 最大长度:13 error_msg String 错误信息 最小长度:1 最大长度:65535 状态码: 500 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:13 最大长度:13 error_msg String 错误信息 最小长度:1 最大长度:65535
  • 响应示例 状态码: 400 请求错误 { "error_code" : "APAAS.40000002", "error_msg" : "Unexpected end of JSON input."} 状态码: 500 内部错误 { "error_code" : "TDIS.50000000", "error_msg" : "Internal error. Please contact the service provider."}
  • 注册个人分布式身份 接口相关信息 URI格式 :POST /v1/{project_id}/tdis/did 请求示例 POST https://{tdis_endpoint}/v1/{project_id}/tdis/did {tdis_endpoint}信息请从地区和终端节点获取。 Header: { "X-Auth-Token":"tdis-test"} 响应示例 { "did": "did:hwid:ebfeb1f712ebc6f1c276e12ec21" }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 order_index String 订单索引 最小长度:42 最大长度:42 result String 结果 最小长度:1 最大长度:50 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:13 最大长度:13 error_msg String 错误信息 最小长度:1 最大长度:65535 状态码: 500 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:13 最大长度:13 error_msg String 错误信息 最小长度:1 最大长度:65535