云服务器内容精选

  • 相关操作 对象存储服务 中对象的服务端加密方法,具体请参见《对象存储服务控制台指南》的“使用服务端加密方式上传文件”章节。 云硬盘中 数据加密 方法,具体请参见《云硬盘用户指南》的“购买云硬盘”章节。 私有镜像的加密方法,具体请参见《 镜像服务 用户指南》的“加密镜像”章节。 云数据库中数据库实例的磁盘加密方法,具体请参见《云数据库RDS快速入门》的“购买实例”章节。 创建DEK、不含明文的DEK方法,具体请参见《数据加密服务API参考》的“创建数据密钥”与“创建不含明文数据密钥”章节。 用户应用程序的DEK加解密方法,具体请参见《数据加密服务API参考》的“加密数据密钥”与“解密数据密钥”章节。
  • 约束条件 用户最多可创建100个自定义密钥,不包含默认密钥。创建副本密钥会占用该区域自定义密钥配额。 创建的对称密钥使用的是AES算法密钥,AES-256密钥可用于小量数据的加解密或用于加解密数据密钥,HMAC密钥用于数据完成性校验。 创建的非对称密钥使用的是RSA密钥或ECC密钥,RSA密钥可用于加解密、数字签名及验签,ECC密钥仅用于数字签名及验签。 因为默认密钥的别名后缀为“/default”,所以用户创建的密钥别名后缀不能为“/default”。 通过API接口方式调用KMS密钥时,每月每个密钥可免费调用20000次。。
  • 与用户的应用程序配合使用 当您的应用程序需要对明文数据进行加密时,可通过调用KMS的接口来创建数据加密密钥,再使用数据加密密钥将明文数据进行加密,得到密文数据并进行存储。同时,用户的应用程序调用KMS的接口创建对应用户主密钥,对数据加密密钥进行加密,得到密文的数据加密密钥并进行存储。 基于信封加密技术,用户主密钥存储在KMS中,用户的应用程序只存储密文的数据加密密钥,仅在需要使用时调用KMS解密数据加密密钥。 加密流程说明如下: 应用程序调用KMS的“create-key”接口创建一个自定义密钥。 应用程序调用KMS的“create-datakey”接口创建数据加密密钥。得到一个明文的数据加密密钥和一个密文的数据加密密钥。 密文的数据加密密钥是由1创建的用户主密钥加密明文的数据加密密钥生成的。 应用程序使用明文的数据加密密钥来加密明文文件,生成密文文件。 应用程序将密文的数据加密密钥和密文文件一同存储到持久化存储设备或服务中。 具体操作请参见《数据加密服务API参考》。
  • 与华为云服务配合使用 华为云服务基于信封加密技术,通过调用KMS的接口来加密云服务资源。由用户管理自己的自定义密钥,华为云服务在拥有用户授权的情况下,使用用户指定的自定义密钥对数据进行加密。 图1 华为云服务使用KMS加密原理 加密流程说明如下: 用户需要在KMS中创建一个自定义密钥。 华为云服务调用KMS的“create-datakey”接口创建数据加密密钥。得到一个明文的数据加密密钥和一个密文的数据加密密钥。 密文的数据加密密钥是由指定的用户主密钥加密明文的数据加密密钥生成的。 华为云服务使用明文的数据加密密钥来加密明文文件,得到密文文件。 华为云服务将密文的数据加密密钥和密文文件一同存储到持久化存储设备或服务中。 用户通过华为云服务下载数据时,华为云服务通过KMS指定的自定义密钥对密文的数据加密密钥进行解密,并使用解密得到的明文的数据加密密钥来解密密文数据,然后将解密后的明文数据提供给用户下载。 表1 使用KMS加密的云服务列表 服务名称 如何使用 对象存储服务 对象存储服务支持普通方式和服务端加密方式上传和下载对象。当用户使用服务端加密方式上传对象时,数据会在服务端加密成密文后安全地存储在对象存储服务中;用户下载加密对象时,存储的密文会先在服务端解密为明文,再提供给用户。对象存储服务支持KMS托管密钥的服务端加密方式(即SSE-KMS加密方式),该加密方式是通过KMS提供密钥的方式进行服务端加密。 用户如何使用对象存储服务的SSE-KMS加密方式上传对象,具体操作请参见《对象存储服务控制台指南》。 云硬盘 在创建云硬盘时,用户启用云硬盘的加密功能,系统将使用用户主密钥产生的数据密钥对磁盘进行加密,则在使用该云硬盘时,存储到云硬盘的数据将会自动加密。 用户如何使用云硬盘加密功能,具体操作请参见《云硬盘用户指南》 。 镜像服务 用户通过外部镜像文件创建私有镜像时,可启用私有镜像加密功能,选择KMS提供的用户主密钥对镜像进行加密。 用户如何使用镜像服务的私有镜像加密功能,具体操作请参见《镜像服务用户指南》 。 弹性文件服务 用户通过弹性文件服务创建文件系统时,选择KMS提供的用户主密钥对文件系统进行加密,当使用该文件系统时,存储到文件系统的文件将会自动加密。 用户如何使用弹性文件服务的文件系统加密功能,具体操作请参见《弹性文件服务用户指南》。 云数据库RDS 在购买数据库实例时,用户启用数据库实例的磁盘加密功能,选择KMS提供的用户主密钥对数据库实例的磁盘进行加密,选择磁盘加密后会提高数据的安全性。 用户如何使用云数据库RDS的磁盘加密功能,具体操作请参见《云数据库RDS用户指南》。 文档数据库服务 在购买文档数据库实例时,用户启用文档数据库实例的磁盘加密功能,选择KMS提供的用户主密钥对文档数据库实例的磁盘进行加密,选择磁盘加密后会提高数据的安全性。 用户如何使用文档数据库的磁盘加密功能,具体操作请参见《文档数据库服务用户指南》。
  • 哪些云服务使用KMS加密数据? 对象存储服务、云硬盘、镜像服务、弹性文件服务、文档数据库服务和云数据库借助KMS实现了加密特性。 表1 使用KMS加密的云服务列表 服务名称 如何使用 对象存储服务 对象存储服务支持普通方式和服务端加密方式上传和下载对象。当用户使用服务端加密方式上传对象时,数据会在服务端加密成密文后安全地存储在对象存储服务中;用户下载加密对象时,存储的密文会先在服务端解密为明文,再提供给用户。对象存储服务支持KMS托管密钥的服务端加密方式(即SSE-KMS加密方式),该加密方式是通过KMS提供密钥的方式进行服务端加密。 用户如何使用对象存储服务的SSE-KMS加密方式上传对象,具体操作请参见《对象存储服务控制台指南》。 云硬盘 在创建云硬盘时,用户启用云硬盘的加密功能,系统将使用用户主密钥产生的数据密钥对磁盘进行加密,则在使用该云硬盘时,存储到云硬盘的数据将会自动加密。 用户如何使用云硬盘加密功能,具体操作请参见《云硬盘用户指南》 。 镜像服务 用户通过外部镜像文件创建私有镜像时,可启用私有镜像加密功能,选择KMS提供的用户主密钥对镜像进行加密。 用户如何使用镜像服务的私有镜像加密功能,具体操作请参见《镜像服务用户指南》 。 弹性文件服务 用户通过弹性文件服务创建文件系统时,选择KMS提供的用户主密钥对文件系统进行加密,当使用该文件系统时,存储到文件系统的文件将会自动加密。 用户如何使用弹性文件服务的文件系统加密功能,具体操作请参见《弹性文件服务用户指南》。 云数据库RDS 在购买数据库实例时,用户启用数据库实例的磁盘加密功能,选择KMS提供的用户主密钥对数据库实例的磁盘进行加密,选择磁盘加密后会提高数据的安全性。 用户如何使用云数据库RDS的磁盘加密功能,具体操作请参见《云数据库RDS用户指南》。 文档数据库服务 在购买文档数据库实例时,用户启用文档数据库实例的磁盘加密功能,选择KMS提供的用户主密钥对文档数据库实例的磁盘进行加密,选择磁盘加密后会提高数据的安全性。 用户如何使用文档数据库的磁盘加密功能,具体操作请参见《文档数据库服务用户指南》。 父主题: 密钥管理类
  • 响应示例 状态码为 200 时: 请求成功。 { "credential": { "last_use_time": "2020-01-08T06:26:08.123059Z", "access": "LOSZM4YRVLKOY9E8...", "create_time": "2020-01-08T06:26:08.123059Z", "user_id": "07609fb9358010e21f7bc003751...", "description": "", "status": "active" }}
  • 响应参数 表3 响应Body参数 参数 参数类型 描述 credential Object 认证结果信息。 表4 credential 参数 参数类型 描述 user_id String IAM 用户ID。 access String 查询的AK。 status String 访问密钥状态。 取值范围: active:启用 inactive:停用 create_time String 访问密钥创建时间。 说明: UTC时间,格式为YYYY-MM-DDTHH:mm:ss.ssssssZ,日期和时间戳格式参照ISO-8601,如:2023-06-28T08:56:33.710000Z。 last_use_time String 访问密钥的使用时间,如果密钥没有使用过,则返回密钥的创建时间。 说明: UTC时间,格式为YYYY-MM-DDTHH:mm:ss.ssssssZ,日期和时间戳格式参照ISO-8601,如:2023-06-28T08:56:33.710000Z。 description String 访问密钥描述信息。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 该字段填为“application/json;charset=utf8”。 X-Auth-Token 是 String 管理员查询IAM用户的指定永久访问密钥:请参见授权项。 IAM用户查询自己的指定永久访问密钥:URL中access_key所属IAM用户的token(无需特殊权限)。
  • 请求消息 表2 参数说明 名称 是否必选 类型 说明 project_id 是 String 项目ID。可从控制台“我的凭证”中获取region下项目ID,管理员权限可查询。 instance_id 是 String 实例ID,可从API网关控制台的专享版实例信息中获取。 id 否 String 签名密钥编号 name 否 String 签名密钥名称 precise_search 否 String 指定需要精确匹配查找的参数名称,目前仅支持name
  • URI HTTP/HTTPS请求方法以及URI如下表所示。 表1 HTTP/HTTPS请求方法以及URI 请求方法 URI GET /v1/{project_id}/apigw/instances/{instance_id}/signs[?page_size, page_no, id, name] 可以在URI后面用‘?’和‘&’添加不同的查询条件组合。 查询条件可为以下字段以及对应的值:id、name。
  • 响应消息 表3 参数说明 名称 类型 说明 total Integer 符合条件的签名密钥的数量 size Integer 本次返回的列表长度 signs 字典数据类型 本次查询到的签名密钥列表 表4 signs参数说明 参数 类型 说明 id String 签名密钥的编号 name String 签名密钥的名称 sign_key String 签名密钥的key sign_secret String 签名密钥的密钥 create_time Timestamp 创建时间 update_time Timestamp 更新时间 bind_num Integer 绑定的API数量 响应消息样例: {"total": 2,"size": 2,"signs": [{"name": "signature01","sign_key": "abcd_1234","sign_secret": "******","id": "3a793b65a9034bdfae08924f149bfb4a","create_time": "2018-02-06T12:17:36Z","update_time": "2018-02-07T02:00:27.964766Z", "bind_num":1},{"name": "sada","sign_key": "asdasdasdasda","sign_secret": "******","id": "51ce490901f4411fa54eb06d33bd7218","create_time": "2018-02-06T11:53:08Z","update_time": "2018-02-06T11:53:08Z", "bind_num":1}]}
  • 响应示例 状态码: 200 OK { "sign_secret" : "dc0************2b3", "update_time" : "2020-08-03T03:50:14.989785802Z", "create_time" : "2020-08-03T03:39:38Z", "name" : "signature_demo", "id" : "0b0e8f456b8742218af75f945307173c", "sign_key" : "a071a20d460a4f639a636c3d7e3d8163", "sign_type" : "hmac"} 状态码: 400 Bad Request { "error_code" : "APIG.2011", "error_msg" : "Invalid parameter value,parameterName:name. Please refer to the support documentation"} 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed"} 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method"} 状态码: 404 Not Found { "error_code" : "APIG.3017", "error_msg" : "Signature key 0b0e8f456b8742218af75f945307173c does not exist"} 状态码: 412 PreconditionFailed { "error_code" : "APIG.3548", "error_msg" : "sign_type=public_key not supported by instance 6a29d4e9-69a0-412a-aabe-9898ec0903b0"} 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error"}
  • URI PUT /v2/{project_id}/apigw/instances/{instance_id}/signs/{sign_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 sign_id 是 String 签名密钥编号
  • 什么是默认密钥? 默认密钥,是对象存储服务(Object Storage Service,OBS)等其他云服务自动通过密钥管理为用户创建的密钥,其别名后缀为“/default”。 默认密钥可通过密钥管理界面进行查询,不支持禁用、计划删除操作。 默认密钥托管不计费,仅收取API请求次数费用,超出免费请求次数后,超出部分会进行计费。 表1 默认主密钥列表 密钥别名 对应云服务 obs/default 对象存储服务(Object Storage Service,OBS) evs/default 云硬盘(Elastic Volume Service,EVS) ims/default 镜像服务(Image Management Service,IMS) vbs/default 云硬盘备份(Volume Backup Service,VBS) sfs/default 弹性文件服务(Scalable File Service,SFS) kps/default 密钥对管理服务(Key Pair Service,KPS) csms/default 云凭据管理服务(Cloud Secret Management Service, CS MS) dlf/default 数据治理中心 DataArts Studio ) 默认密钥是在用户第一次通过对应云服务使用KMS加密时自动生成的。 父主题: 密钥管理类
  • 响应参数 参数 参数类型 描述 keypair Object SSH密钥信息,详情请参见表2。 表2 keypair字段数据结构说明 参数 参数类型 描述 public_key String 密钥对应publicKey信息。 name String 密钥名称。 fingerprint String 密钥对应指纹信息。 created_at String 密钥创建时间。 时间戳格式为ISO 8601,例如:2019-05-07T12:06:13.681238 deleted Boolean 密钥删除标记。 true:表示密钥已被删除。 false:表示密钥未被删除。 deleted_at String 密钥删除时间。 时间戳格式为ISO 8601,例如:2019-05-07T12:06:13.681238 id String 密钥ID。 updated_at String 密钥更新时间。 时间戳格式为ISO 8601,例如:2019-05-07T12:06:13.681238 user_id String 密钥所属用户信息。