云服务器内容精选

  • 华为云服务如何使用KMS加密数据? 华为云服务(包含OBS、IMS、EVS、SFS和RDS)使用KMS提供的信封加密方式来保护用户的数据。 信封加密方式,是一种加密手段,将加密数据的数据密钥封入信封中存储、传递和使用,不再使用用户主密钥直接加解密数据。 用户使用云服务加密数据时,需要指定一个KMS用户主密钥。密钥管理服务会生成一个明文的 数据加密 密钥(DEK)和一个伴生的密文的数据加密密钥(DEK),明文数据密钥用于服务中存储的数据、文件等内容加密,密文数据加密密钥对明文数据密钥进行加密。完成加密后,被加密的数据文件以及密文数据密钥会存储在对应服务中,如下图所示。 图1 华为云服务使用KMS加密原理 用户通过华为云服务下载数据时,华为云服务通过KMS指定的用户主密钥对密文的数据加密密钥进行解密,并使用解密得到的明文的数据加密密钥来解密密文数据,然后将解密后的明文数据提供给用户下载。 父主题: 密钥管理类
  • 响应示例 状态码为 201 时: 创建成功。 { "credential": { "access": "NZFAT5VNWEJDGZ4PZ...", "expires_at": "2020-01-08T03:50:07.574000Z", "secret": "riEoWsy3qO0BvgwfkoLVgCUvzgpjBBcvdq...", "securitytoken": "gQpjbi1ub3J0aC00jD4Ej..." } }
  • 功能介绍 该接口可以用于通过token来获取临时AK/SK和securitytoken。临时AK/SK和securitytoken是系统颁发给 IAM 用户的临时访问令牌,有效期可在15分钟至24小时范围内设置,过期后需要重新获取。临时AK/SK和securitytoken遵循权限最小化原则。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:地区和终端节点。 使用获取到的临时AK/SK和securitytoken作为凭证访问云服务,临时AK/SK和securitytoken两者必须同时使用,请求头中需要添加“x-security-token”字段,使用方法详情请参考:使用临时AK/SK做签名。
  • 响应参数 表8 响应Body参数 参数 参数类型 描述 credential Object 认证结果信息。 表9 credential 参数 参数类型 描述 expires_at String AK/SK和securitytoken的过期时间。响应参数为UTC时间格式,北京时间为UTC+8小时。 如返回: "expires_at": "2020-01-08T02:56:19.587000Z" 北京时间:2020-01-08 10:56:19.587 access String 获取的AK。 secret String 获取的SK。 securitytoken String securitytoken是将所获的AK、SK等信息进行加密后的字符串。
  • 请求示例 填写"token"参数。包含tokenId(即token)和临时访问密钥和securitytoken的有效期。 POST https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/securitytokens { "auth": { "identity": { "methods": [ "token" ], "token": { "id": "MIIEIgYJKoZIhvc...", "duration_seconds": "900" } } } } 不填写“token”参数(请求头中需要X-Auth-Token)。 POST https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/securitytokens { "auth": { "identity": { "methods": [ "token" ] } } } 填写“policy”参数。即用户自定义策略的信息,用于限制获取到的临时访问密钥和securitytoken的权限(当前仅适用限制OBS服务的权限)。如果填写此参数,则临时访问密钥和securitytoken的权限为:原Token具有的权限和policy参数限制的权限交集。 POST https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/securitytokens { "auth": { "identity": { "methods": [ "token" ], "policy": { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "obs:object:GetObject" ], "Resource": [ "OBS:*:*:object:*" ], "Condition": { "StringEquals": { "g:DomainName": [ "DomainNameExample" //示例,表示限制条件值,根据实际情况填写 ] } } } ] }, "token": { "duration_seconds": 900 } } } }
  • 专属密钥库 KMS通过专属密钥库支持HYOK功能,帮助用户完全自主可控名下的用户主密钥,用户主密钥不脱离加密机,并且密码运算完全在加密机中完成。与默认密钥库不同,用户可以通过专属加密集群随时对密钥进行全生命周期管理。 专属加密实例基础版、铂金版(国内)均支持HYOK功能。 HYOK(Hold Your Own Key)是指用户可以完全控制其密钥,密钥始终归用户所有。 专属密钥库操作可参见激活集群以及创建密钥库。专属密钥库支持的算法类型如表 专属密钥库的密钥算法类型所示。 表4 专属密钥库的密钥算法类型 密钥类型 算法类型 密钥规格 说明 适用场景 对称密钥 AES AES_256 AES对称密钥 数据的加解密 加解密数据密钥 说明: 小量数据的加解密可通过控制台在线工具进行。 大量数据的加解密需要调用API接口进行。 对称密钥 SM4 SM4 国密SM4对称密钥 数据的加解密 加解密数据密钥 非对称密钥 RSA RSA_2048 RSA_3072 RSA_4096 RSA非对称密钥 数字签名和验签 数据的加解密 说明: 非对称密钥适用于签名和验签场景,加密数据效率不高,加解密数据推荐使用对称密钥。 ECC EC_P256 EC_P384 椭圆曲线密码,使用NIST推荐的椭圆曲线 数字签名和验签 非对称密钥 SM2 SM2 国密SM2非对称密钥 数字签名和验签 小量数据的加解密
  • 密钥区域性 KMS通过密钥区域性,实现密钥跨区域使用。每组用户主密钥与副本密钥具有相同的密钥材料,因此可以实现单区域的加密数据在不同区域进行解密,解决因跨区导致的无法解密。 您可以独立管理多个区域的密钥,副本密钥同样支持创建密钥别名、启用、禁用、标签、授权、在线加解密。副本密钥的轮换无法自主设置,需按照主密钥的轮换设置进行同步轮换。 密钥区域性原理如图 密钥区域性所示。 图1 密钥区域性 表5 密钥区域性使用场景 使用场景 说明 灾备场景 如果密钥所在区域出现欠费资源冻结或异常无法处理数据解密,替换使用另一区域中的副本密钥进行正常数据处理,保证业务不中断。 跨区域签名验签 如果由于业务需要,客户业务处于不同区域,可通过不同区域密钥实现签名验签解密,提升业务对接高效性。
  • KMS支持的密钥算法 KMS创建的对称密钥使用的是AES、SM4加解密算法。KMS创建的非对称密钥支持RSA、ECC、SM2算法。 表2 KMS支持的密钥算法类型 密钥类型 算法类型 密钥规格 说明 适用场景 对称密钥 AES AES_256 AES对称密钥 数据的加解密 加解密数据密钥 说明: 小量数据的加解密可通过控制台在线工具进行。 大量数据的加解密需要调用API接口进行。 对称密钥 SM4 SM4 国密SM4对称密钥 数据的加解密 加解密数据密钥 摘要密钥 SHA HMAC_256 HMAC_384 HMAC_512 摘要密钥 数据防篡改 数据完整性校验 摘要密钥 SM3 HMAC_SM3 国密SM3摘要密钥 数据防篡改 数据完整性校验 非对称密钥 RSA RSA_2048 RSA_3072 RSA_4096 RSA非对称密钥 数字签名和验签 数据的加解密 说明: 非对称密钥适用于签名和验签场景,加密数据效率不高,加解密数据推荐使用对称密钥。 ECC EC_P256 EC_P384 椭圆曲线密码,使用NIST推荐的椭圆曲线 数字签名和验签 非对称密钥 SM2 SM2 国密SM2非对称密钥 数字签名和验签 小量数据的加解密 通过外部导入的密钥支持的密钥包装加解密算法如表3所示。 表3 密钥包装算法说明 密钥包装算法 说明 设置 RSAES_OAEP_SHA_256 具有“SHA-256”哈希函数的OAEP的RSA加密算法。 请您根据自己的HSM功能选择加密算法。 如果您的HSM支持“RSAES_OAEP_SHA_256”加密算法,推荐使用“RSAES_OAEP_SHA_256”加密密钥材料。 须知: “RSAES_OAEP_SHA_1”加密算法已经不再安全,请谨慎选择。 RSAES_OAEP_SHA_1 具有“SHA-1”哈希函数的OAEP的RSA加密算法。 SM2_ENCRYPT 国密推荐的SM2椭圆曲线公钥密码算法。 请在支持国密的局点使用SM2加密算法。
  • 功能介绍 表1 密钥管理 功能 服务内容 密钥全生命周期管理 创建、查看、启用、禁用、计划删除、取消删除自定义密钥 修改自定义密钥的别名和描述 用户自带密钥 导入密钥、删除密钥材料 小数据加解密 在线工具加解密小数据 签名验签 消息或消息摘要的签名、签名验证 说明: 仅支持通过API调用。 密钥标签 添加、搜索、编辑、删除标签 密钥轮换 开启、修改、关闭密钥轮换周期 密钥授权 创建、撤销、查询授权 退役授权 说明: 仅支持通过API调用。 密钥区域性 跨区域创建副本密钥 云服务加密 对象存储服务 OBS加密 云硬盘服务EVS加密 镜像服务 IMS加密 弹性文件服务SFS加密(SFS文件系统加密) 弹性文件服务SFS加密(SFS Turbo文件系统加密) 云数据库RDS(MySQL、PostgreSQL、SQL Server引擎)加密 文档数据库服务DDS加密 数据仓库 服务DWS加密 数据加密密钥管理 创建、加密、解密数据加密密钥 说明: 仅支持通过API调用。 生成硬件真随机数 生成512bit的随机数,为加密系统提供基于硬件真随机数的密钥材料和加密参数 说明: 仅支持通过API调用。 消息认证码 生成、验证消息认证码 说明: 仅支持通过API调用。 密钥库管理 创建、禁用、删除密钥库
  • 什么是用户主密钥? 用户主密钥(Customer Master Key,CMK),是用户或云服务通过密钥管理创建的密钥,是一种密钥加密密钥,主要用于加密并保护数据加密密钥。一个用户主密钥可以加密多个数据加密密钥。 用户主密钥分为自定义密钥和默认密钥。 自定义密钥 用户通过密钥管理界面自行创建或导入的密钥。 默认密钥 在用户第一次通过对应云服务使用KMS加密时,云服务自动通过密钥管理为用户创建的密钥,其别名后缀为“/default”。 默认密钥可通过密钥管理界面进行查询,不支持禁用、计划删除操作。 表1 默认主密钥列表 密钥别名 对应云服务 obs/default 对象存储服务(Object Storage Service,OBS) evs/default 云硬盘(Elastic Volume Service,EVS) ims/default 镜像服务(Image Management Service,IMS) kps/default 密钥对管理服务(Key Pair Service,KPS) csms/default 云凭据管理服务(Cloud Secret Management Service, CS MS) dlf/default 数据治理中心 DataArts Studio ) 父主题: 密钥管理类
  • 相关操作 对象存储服务中对象的服务端加密方法,具体请参见《对象存储服务控制台指南》的“使用服务端加密方式上传文件”章节。 云硬盘中数据加密方法,具体请参见《云硬盘用户指南》的“购买云硬盘”章节。 私有镜像的加密方法,具体请参见《镜像服务用户指南》的“加密镜像”章节。 云数据库中数据库实例的磁盘加密方法,具体请参见《云数据库RDS快速入门》的“购买实例”章节。 创建DEK、不含明文的DEK方法,具体请参见《数据加密服务API参考》的“创建数据密钥”与“创建不含明文数据密钥”章节。 用户应用程序的DEK加解密方法,具体请参见《数据加密服务API参考》的“加密数据密钥”与“解密数据密钥”章节。
  • 约束条件 用户最多可创建100个自定义密钥,不包含默认密钥。创建副本密钥会占用该区域自定义密钥配额。 创建的对称密钥使用的是AES算法密钥,AES-256密钥可用于小量数据的加解密或用于加解密数据密钥,HMAC密钥用于数据完成性校验。 创建的非对称密钥使用的是RSA密钥或ECC密钥,RSA密钥可用于加解密、数字签名及验签,ECC密钥仅用于数字签名及验签。 因为默认密钥的别名后缀为“/default”,所以用户创建的密钥别名后缀不能为“/default”。 通过API接口方式调用KMS密钥时,每月每个密钥可免费调用20000次。。
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 jobs Array of ServerJob objects 任务信息。 表6 ServerJob 参数 参数类型 描述 server_id String 云手机服务器的唯一标识ID,云手机服务器相关任务包含此字段。 job_id String 任务的唯一标识。 error_code String 错误码。 error_msg String 错误说明。
  • 请求示例 修改服务器列表中对应服务器的密钥对 PUT https://{CPH Endpoint}/v1/{project_id}/cloud-phone/servers/open-access { "servers" : [ { "keypair_name" : "mykeypair", "server_id" : "ae4d231e44d2a4ccf612660a473fe1e3" }, { "keypair_name" : "mykeypair", "server_id" : "2347275010d3440d963d3fcb8931ff55" } ] }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 servers 是 Array of ServerKeypair objects 待更改密钥对的云手机服务器信息。 表4 ServerKeypair 参数 是否必选 参数类型 描述 server_id 是 String 云手机服务器ID,不得超过32个字节。 keypair_name 是 String 密钥对名称。