云服务器内容精选

  • 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 签名密钥编号
  • 响应示例 状态码: 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" }
  • 响应参数 状态码: 401 表3 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应示例 状态码: 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" } 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • URI DELETE /v2/{project_id}/apigw/instances/{instance_id}/signs/{sign_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 sign_id 是 String 签名密钥编号
  • 响应示例 状态码为 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的接口来加密云服务资源。由用户管理自己的自定义密钥,华为云服务在拥有用户授权的情况下,使用用户指定的自定义密钥对数据进行加密。 图1 华为云服务使用KMS加密原理 加密流程说明如下: 用户需要在KMS中创建一个自定义密钥。 华为云服务调用KMS的“create-datakey”接口创建 数据加密 密钥。得到一个明文的数据加密密钥和一个密文的数据加密密钥。 密文的数据加密密钥是由指定的用户主密钥加密明文的数据加密密钥生成的。 华为云服务使用明文的数据加密密钥来加密明文文件,得到密文文件。 华为云服务将密文的数据加密密钥和密文文件一同存储到持久化存储设备或服务中。 用户通过华为云服务下载数据时,华为云服务通过KMS指定的自定义密钥对密文的数据加密密钥进行解密,并使用解密得到的明文的数据加密密钥来解密密文数据,然后将解密后的明文数据提供给用户下载。 表1 使用KMS加密的云服务列表 服务名称 如何使用 对象存储服务 对象存储服务支持普通方式和服务端加密方式上传和下载对象。当用户使用服务端加密方式上传对象时,数据会在服务端加密成密文后安全地存储在对象存储服务中;用户下载加密对象时,存储的密文会先在服务端解密为明文,再提供给用户。对象存储服务支持KMS托管密钥的服务端加密方式(即SSE-KMS加密方式),该加密方式是通过KMS提供密钥的方式进行服务端加密。 用户如何使用对象存储服务的SSE-KMS加密方式上传对象,具体操作请参见《对象存储服务控制台指南》。 云硬盘 在创建云硬盘时,用户启用云硬盘的加密功能,系统将使用用户主密钥产生的数据密钥对磁盘进行加密,则在使用该云硬盘时,存储到云硬盘的数据将会自动加密。 用户如何使用云硬盘加密功能,具体操作请参见《云硬盘用户指南》 。 镜像服务 用户通过外部镜像文件创建私有镜像时,可启用私有镜像加密功能,选择KMS提供的用户主密钥对镜像进行加密。 用户如何使用镜像服务的私有镜像加密功能,具体操作请参见《镜像服务用户指南》 。 弹性文件服务 用户通过弹性文件服务创建文件系统时,选择KMS提供的用户主密钥对文件系统进行加密,当使用该文件系统时,存储到文件系统的文件将会自动加密。 用户如何使用弹性文件服务的文件系统加密功能,具体操作请参见《弹性文件服务用户指南》。 云数据库RDS 在购买数据库实例时,用户启用数据库实例的磁盘加密功能,选择KMS提供的用户主密钥对数据库实例的磁盘进行加密,选择磁盘加密后会提高数据的安全性。 用户如何使用云数据库RDS的磁盘加密功能,具体操作请参见《云数据库RDS用户指南》。 文档数据库服务 在购买文档数据库实例时,用户启用文档数据库实例的磁盘加密功能,选择KMS提供的用户主密钥对文档数据库实例的磁盘进行加密,选择磁盘加密后会提高数据的安全性。 用户如何使用文档数据库的磁盘加密功能,具体操作请参见《文档数据库服务快速入门》。
  • 与用户的应用程序配合使用 当您的应用程序需要对明文数据进行加密时,可通过调用KMS的接口来创建数据加密密钥,再使用数据加密密钥将明文数据进行加密,得到密文数据并进行存储。同时,用户的应用程序调用KMS的接口创建对应用户主密钥,对数据加密密钥进行加密,得到密文的数据加密密钥并进行存储。 基于信封加密技术,用户主密钥存储在KMS中,用户的应用程序只存储密文的数据加密密钥,仅在需要使用时调用KMS解密数据加密密钥。 加密流程说明如下: 应用程序调用KMS的“create-key”接口创建一个自定义密钥。 应用程序调用KMS的“create-datakey”接口创建数据加密密钥。得到一个明文的数据加密密钥和一个密文的数据加密密钥。 密文的数据加密密钥是由1创建的用户主密钥加密明文的数据加密密钥生成的。 应用程序使用明文的数据加密密钥来加密明文文件,生成密文文件。 应用程序将密文的数据加密密钥和密文文件一同存储到持久化存储设备或服务中。 具体操作请参见《数据加密服务API参考》。
  • 哪些云服务使用KMS加密数据? 对象存储服务、云硬盘、镜像服务、弹性文件服务、文档数据库服务和云数据库借助KMS实现了加密特性。 表1 使用KMS加密的云服务列表 服务名称 如何使用 对象存储服务 对象存储服务支持普通方式和服务端加密方式上传和下载对象。当用户使用服务端加密方式上传对象时,数据会在服务端加密成密文后安全地存储在对象存储服务中;用户下载加密对象时,存储的密文会先在服务端解密为明文,再提供给用户。对象存储服务支持KMS托管密钥的服务端加密方式(即SSE-KMS加密方式),该加密方式是通过KMS提供密钥的方式进行服务端加密。 用户如何使用对象存储服务的SSE-KMS加密方式上传对象,具体操作请参见《对象存储服务控制台指南》。 云硬盘 在创建云硬盘时,用户启用云硬盘的加密功能,系统将使用用户主密钥产生的数据密钥对磁盘进行加密,则在使用该云硬盘时,存储到云硬盘的数据将会自动加密。 用户如何使用云硬盘加密功能,具体操作请参见《云硬盘用户指南》 。 镜像服务 用户通过外部镜像文件创建私有镜像时,可启用私有镜像加密功能,选择KMS提供的用户主密钥对镜像进行加密。 用户如何使用镜像服务的私有镜像加密功能,具体操作请参见《镜像服务用户指南》 。 弹性文件服务 用户通过弹性文件服务创建文件系统时,选择KMS提供的用户主密钥对文件系统进行加密,当使用该文件系统时,存储到文件系统的文件将会自动加密。 用户如何使用弹性文件服务的文件系统加密功能,具体操作请参见《弹性文件服务用户指南》。 云数据库RDS 在购买数据库实例时,用户启用数据库实例的磁盘加密功能,选择KMS提供的用户主密钥对数据库实例的磁盘进行加密,选择磁盘加密后会提高数据的安全性。 用户如何使用云数据库RDS的磁盘加密功能,具体操作请参见《云数据库RDS用户指南》。 文档数据库服务 在购买文档数据库实例时,用户启用文档数据库实例的磁盘加密功能,选择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 密钥所属用户信息。
  • 响应示例 1 2 3 4 5 6 7 8 9 10 11 12 13 { "keypair": { "created_at": "2019-05-07T12:06:13.681238", "deleted": false, "deleted_at": null, "fingerprint": "9d:00:f4:d7:26:6e:52:06:4c:c1:d3:1d:fd:06:66:01", "id": 1, "name": "keypair-3582d8b7-e588-4aad-b7f7-f4e76f0e4314", "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDYJrTVpcMwFqQy/oMvtUSRofZdSRHEwrsX8AYkRvn2ZnCXM+b6+GZ2NQuuWj+ocznlnwiGFQDsL/yeE+/kurqcPJFKKp60mToXIMyzioFxW88fJtwEWawHKAclbHWpR1t4fQ4DS+/sIbX/Yd9btlVQ2tpQjodGDbM9Tr9/+/3i6rcR+EoLqmbgCgAiGiVV6VbM2Zx79yUwd+GnQejHX8BlYZoOjCnt3NREsITcmWE9FVFy6TnLmahs3FkEO/QGgWGkaohAJlsgaVvSWGgDn2AujKYwyDokK3dXyeX3m2Vmc3ejiqPa/C4nRrCOlko5nSgV/9IXRx1ERImsqZnE9usB Generated-by-Nova", "updated_at": null, "user_id": "fake" } }
  • 相关操作 对象存储服务中对象的服务端加密方法,具体请参见《对象存储服务控制台指南》的“使用服务端加密方式上传文件”章节。 云硬盘中数据加密方法,具体请参见《云硬盘用户指南》的“购买云硬盘”章节。 私有镜像的加密方法,具体请参见《镜像服务用户指南》的“加密镜像”章节。 云数据库中数据库实例的磁盘加密方法,具体请参见《云数据库RDS快速入门》的“购买实例”章节。 创建DEK、不含明文的DEK方法,具体请参见《数据加密服务API参考》的“创建数据密钥”与“创建不含明文数据密钥”章节。 用户应用程序的DEK加解密方法,具体请参见《数据加密服务API参考》的“加密数据密钥”与“解密数据密钥”章节。