云服务器内容精选

  • 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身份可以同时是签发者、持有者或者验证者角色。
  • 实现流程 各个角色可通过企业身份注册(带有service)和注册DID生成完全由自己控制的分布式身份,并将身份文档发布到区块链上完成身份的注册。企业用户的DID身份中可以包含其所能提供的服务信息,以支持多样的应用场景。 主要有三种角色:签发者、持有者和验证者,其中每个角色都可以是设备、应用、个人或者组织。 具备基础的身份标识之后,通过可验证凭证架设起身份与身份之间的认证体系。凭证的模板会由相关主体注册发布到区块链上,并持续维护。持有者便可以向签发者发起认证申请,获得凭证后出示给验证者完成校验。 验证者可以通过接口验证持有者出示的“可验证凭证”,确保其是否有权限和资质开展后续业务。
  • 响应示例 状态码: 200 分布式身份文档结构体 { "context" : "https://www.w3.org/ns/did/v1", "id" : "did:example:ebfeb1f712ebc6f1c276e12ec21", "publicKey" : [ { "id" : "string", "type" : "string", "controller" : "string", "publicKeyPem" : "string" } ], "authentication" : [ "did:example:ebfeb1f712ebc6f1c276e12ec21#key-0" ], "recovery" : "string", "service" : [ { "id" : "did:example:ebfeb1f712ebc6f1c276e12ec21#xdi", "type" : "XdiService", "serviceEndpoint" : "https://xdi.example.com/8377464", "credentialApplySchema" : { "type" : "LegalCitizen", "name" : "LegalCitizen", "description" : "Certified Chinese citizens", "attributes" : [ { "name" : "name", "type" : "someType", "description" : "Identity number" } ] } } ], "proof" : { "creator" : "did:example:ebfeb1f712ebc6f1c276e12ec21", "type" : "RsaSignature2018", "created" : "1606720551", "signatureValue" : "eyJhbGciOiJSUzI1NiIsImI2NCI6ZmFsc2UsImNyaXQiOlsiYjY0I PAYuNzVBAh4vGHSrQyHUdBBPM" }, "created" : "1588921521", "updated" : "", "status" : "active"} 状态码: 500 失败响应 { "errorCode" : "BCS.5002034", "errorMsg" : "request timed out or been cancelled"}
  • 请求示例 { "orgID" : "4f1439758ebb41f7411b5f684b67713c08b89198", "channelID" : "mychannel", "cryptoMethod" : "SW", "cert" : "-----BEGIN CERTIFICATE-----\n...\n...\n-----END CERTIFICATE-----", "sk" : "------BEGIN PRIVATE KEY-----\n...\n...\n-----END PRIVATE KEY-----", "timestamp" : "2020-10-27T17:28:16+08:00", "did" : "did:example:ebfeb1f712ebc6f1c276e12ec21"}
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 context String context id String 分布式身份标识 publicKey Array of DocPublicKey objects 公钥列表 authentication Array of strings did主公钥标识 recovery String 备用公钥标识,可用于修改主密钥 service Array of Service objects 服务列表 proof Proof object 证明结构,可为空 created String 创建时间 updated String 更新时间 status String 状态 表3 DocPublicKey 参数 参数类型 描述 id String 公钥标识 type String 公钥类型 controller String 公钥的控制者标识 publicKeyPem String 公钥证书 表4 Service 参数 参数类型 描述 id String 服务标识 type String 服务类型 serviceEndpoint String 服务介绍网址 credentialApplySchema CredentialApplySchema object 申请凭证所需数据的Schema 表5 CredentialApplySchema 参数 参数类型 描述 type String 类型 name String 名称 description String 描述信息 attributes Array of Attribute objects 属性列表 表6 Attribute 参数 参数类型 描述 name String 名称 type String 类型 description String 描述信息 表7 Proof 参数 参数类型 描述 creator String 创建者身份标识 type String 签名类型 created String 签名创建时间 signatureValue String 签名值 状态码: 500 表8 响应Body参数 参数 参数类型 描述 errorCode String 错误码 最小长度:8 最大长度:36 errorMsg String 错误描述 最小长度:2 最大长度:512
  • 请求参数 表1 请求Body参数 参数 是否必选 参数类型 描述 orgID 是 String 组织id channelID 是 String 通道id cryptoMethod 是 String 加密方法,目前固定为SW cert 是 String 用户证书,每行末尾均需要增加显式换行符\n sk 是 String 用户私钥,每行末尾均需要增加显式换行符\n timestamp 是 String 时间戳 did 是 String 分布式身份标识
  • 入门指引 可信分布式身份服务(Trusted Decentralized Identity Service,简称TDIS)为个人和企业用户提供统一的、可自解释的、移植性强的分布式身份标识。以下为TDIS服务使用流程,希望对您的使用有所引导及帮助。 当前仅“华北-北京四”区域支持可信分布式身份服务。 开通服务 开通可信分布式身份服务。 申请套餐包 申请免费套餐包,即可注册基于区块链的分布式身份,包含2000次调用。 业务调用 通过RESTful接口完成分布式身份和可验证凭证的业务调用。 查看服务监控 查看API调用的统计监控。
  • 操作步骤 在“套餐包管理”页面,单击“申请免费套餐包”。 在“申请免费套餐包”页面,选择默认区域,单击“确认”。 表1 参数说明表 参数 说明 区域 不同区域云服务产品之间内网互不相通;请就近选择靠近您业务的区域,可减少网络延迟,提高访问速度。 服务类型 服务类型为可信分布式身份服务套餐包。 套餐包规格 套餐包的规格默认为2千次。 有效期(年) 有效期为1年。 勾选我已阅读并同意《华为云用户协议》和《免责声明》 ,单击“立即申请”。 在“套餐包管理”页面生成一条套餐包信息。 套餐包默认有效期为1年,到期后,需要您重新申请套餐包。
  • 响应参数 状态码: 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
  • 响应示例 状态码: 200 可验证凭证订单结果 { "order_index" : "did:hwid:CepZ7mzuQprXeeSx448ycC_1637569925", "result" : "success"} 状态码: 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."}