华为云用户手册

  • 桶高级配置接口 表2 桶高级配置接口 接口 说明 设置桶策略 创建或者修改一个桶的策略。如果桶已经存在一个策略,那么当前请求中的策略将完全覆盖桶中现存的策略。 获取桶策略 获取指定桶的策略信息。 删除桶策略 删除一个指定桶上的策略。 设置桶ACL 设置一个指定桶的ACL信息。通过ACL可以控制桶的读写权限。 获取桶ACL 获取一个指定桶的ACL信息。 设置桶日志管理配置 开启或关闭桶的日志管理功能。开启后,桶的每次操作将会产生一条日志,并将多条日志打包成一个日志文件存放在指定的位置。 获取桶日志管理配置 获取指定桶的日志管理配置信息。 设置桶的生命周期配置 指定规则来实现定时删除或迁移桶中对象。 获取桶的生命周期配置 获取指定桶已配置的生命周期规则。 删除桶的生命周期配置 删除指定桶的生命周期配置信息。 设置桶的多版本状态 开启或暂停桶的多版本功能。开启后,可以检索和还原各个版本的对象,在意外操作或应用程序故障时快速恢复数据。 获取桶的多版本状态 获取指定桶的多版本功能状态。 设置桶默认存储类型 创建或更新桶的默认存储类型配置信息。 获取桶默认存储类型 获取桶的默认存储类型配置信息。 设置桶的跨区域复制配置 设置桶的跨区域复制功能。通过激活跨区域复制,OBS可将新创建的对象及修改的对象从一个源桶复制到不同区域中的目标桶。 获取桶的跨区域复制配置 获取指定桶的跨区域复制配置信息。 删除桶的跨区域复制配置 删除指定桶的跨区域复制配置信息。 设置桶标签 添加标签至一个已存在的桶。为桶添加标签后,该桶上所有请求产生的计费话单里都会带上这些标签,从而可以针对话单报表做分类筛选,进行更详细的成本分析。 获取桶标签 获取指定桶的标签。 删除桶标签 删除指定桶的标签。 设置桶配额 设置桶的空间配额,用以限制桶的最大存储容量。 获取桶配额 获取桶的空间配额。 获取桶存量信息 获取桶中的对象个数及对象占用空间。 设置桶清单 为一个桶配置清单规则。桶清单可以用来帮助您管理桶内对象,它可以定期列举桶内对象,并将对象元数据的相关信息保存在 CS V格式的文件中,上传到您指定的桶中。 获取桶清单 获取指定桶的某个清单规则。 列举桶清单 获取指定桶的所有清单规则。 删除桶清单 删除指定桶的某个清单规则。 设置桶的自定义域名 为桶设置自定义域名。设置成功之后,用户可以通过桶的自定义域名访问桶。 获取桶的自定义域名 查询桶已设置的自定义域名。 删除桶的自定义域名 删除桶已设置的自定义域名。 设置桶的加密配置 为桶创建或更新默认服务端加密配置信息。设置桶加密配置后,在该桶中上传对象时,会采用桶的默认加密配置对数据进行加密。 获取桶的加密配置 查询桶的默认服务端加密配置信息。 删除桶的加密配置 删除桶的默认服务端加密配置信息。 设置桶归档对象直读策略 开启或关闭桶的归档对象直读功能。开启后,归档对象不需要恢复便可以直接下载。 获取桶归档对象直读策略 获取指定桶的归档对象直读状态。 删除桶归档对象直读策略 删除指定桶的归档对象直读配置信息。 设置镜像回源规则 设置指定桶的镜像回源规则。 获取镜像回源规则 获取指定桶的镜像回源规则。 删除镜像回源规则 删除指定桶的镜像回源规则。 设置DIS通知策略 设置指定桶的DIS通知策略。 获取DIS通知策略 获取指定桶的DIS通知策略。 删除DIS通知策略 删除指定桶的DIS通知策略。 设置在线解压策略 设置指定桶的ZIP文件解压规则。 获取在线解压策略 获取指定桶的ZIP文件解压规则。 删除在线解压策略 删除指定桶的ZIP文件解压规则。 配置桶级默认WORM策略 桶的WORM开关开启后,支持配置默认保护策略和保护期限。 获取桶级默认WORM策略 获取指定桶设置的桶级默认WORM策略。
  • 静态网站托管接口 表3 静态网站托管接口 接口 说明 设置桶的网站配置 创建或更新桶的网站配置信息。OBS允许在桶内保存静态的网页资源,如.html网页文件、flash文件、音视频文件等,当客户端通过桶的Website接入点访问这些对象资源时,浏览器可以直接解析出这些支持的网页资源,呈现给最终用户。 获取桶的网站配置 获取桶的网站配置信息。 删除桶的网站配置 删除桶的网站配置信息。 设置桶的CORS配置 设置桶的跨域资源共享配置信息。OBS允许在桶内保存静态的网页资源,在正确的使用下,OBS的桶可以成为网站资源。只有进行了适当的CORS配置,OBS中的网站才能响应另一个网站的跨域请求。 获取桶的CORS配置 获取桶的跨域资源共享配置信息。 删除桶的CORS配置 删除桶的跨域资源共享配置信息。 OPTIONS桶 检测客户端是否具有对服务端进行操作的权限。通常用于跨域访问之前。 OPTIONS对象 检测客户端是否具有对服务端进行操作的权限。通常用于跨域访问之前。
  • 桶基础操作接口 表1 桶基础操作接口 接口 说明 获取桶列表 查询自己创建的桶列表。 创建桶 创建一个新桶。可以在创建时添加不同的请求消息头来指定桶的区域、权限控制策略、存储类型等信息。 列举桶内对象 获取桶内对象列表。可以在创建时添加不同的请求消息头来获取符合指定前缀、标识符等要求的对象。 获取桶元数据 查询桶元数据是否存在。可以查询桶的区域、存储类型、OBS服务版本号、企业项目id、CORS配置等信息。 获取桶区域位置 获取桶区域位置信息。 删除桶 删除指定的桶。删除之前需要确保桶内无对象。
  • 签名不匹配报错处理 如果调用OBS API报如下错误: 状态码:403 Forbidden 错误码:SignatureDoesNotMatch 错误信息:The request signature we calculated does not match the signature you provided. Check your key and signing method. 请参考以下案例进行排查处理:签名不匹配(SignatureDoesNotMatch)如何处理
  • Java中Content-MD5的计算方法示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 import java.security.MessageDigest; import sun.misc.BASE64Encoder; import java.io.UnsupportedEncodingException; import java.security.NoSuchAlgorithmException; public class Md5{ public static void main(String[] args) { try { String exampleString = "blog"; MessageDigest messageDigest = MessageDigest.getInstance("MD5"); BASE64Encoder encoder = new BASE64Encoder(); String contentMd5 = encoder.encode(messageDigest.digest(exampleString.getBytes("utf-8"))); System.out.println("Content-MD5:" + contentMd5); } catch (NoSuchAlgorithmException | UnsupportedEncodingException e) { e.printStackTrace(); } } }
  • 响应示例 HTTP/1.1 200 OK Server: OBS x-obs-request-id: BF260000016435CE298386946AE4C482 x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCT9W2tcvLmMJ+plfdopaD62S0npbaRUz Date: WED, 01 Jul 2015 02:25:06 GMT Content-Length: 0
  • 请求消息元素 名字 描述 是否必选 Retention 对象级WORM保护策略配置的容器 类型:Container 是 Mode 对象的保护策略,当前仅支持合规模式"COMPLIANCE" 类型:String 示例:COMPLIANCE 是 RetainUntilDate 对象的保护期限,时间戳格式,精确到毫秒级,如2015年7月1日13点20分35秒对应的值为1435728035000。 说明: 该字段必须晚于当前时间,且仅可延长不能缩短。 类型:Long 示例:1435728035000 是
  • 请求示例 PUT /?disPolicy HTTP/1.1 Host: bucketname.obs.cn-north-4.myhuaweicloud.com Authorization: OBS H4IPJX0TQTHTHEBQQCEC:sc2PM13Wlfcoc/YZLK0MwsI2Zpo= Content-Type: application/json Content-Length: 1049 Date: Tue, 21 Jul 2020 15:38:30 GMT { "rules": [{ "id":"event-01", "stream": "stream_name", "project": "project_id", "events": ["ObjectCreated:*", "ObjectRemoved:*"], "prefix": "", "suffix": "", "agency": "dis_agency" }] }
  • 请求消息样式 PUT /?disPolicy HTTP/1.1 Host: bucketname.obs.cn-north-4.myhuaweicloud.com Authorization: authorization Content-Type: application/json Content-Length: length Date: date Body: { "rules": [{ "id":"rule_id", "stream": "stream_name", "project": "project_id", "events": ["ObjectCreated:*", "ObjectRemoved:*"], "prefix": "", "suffix": "", "agency": "agency_name" }] }
  • 请求消息元素 表1 请求消息元素 名称 描述 是否必选 rules 策略规则数组。 类型:Container 取值范围:[1, 10] 说明: 同一个桶下的不同策略前缀不能重复和起始包含,委托建议使用同一个。 是 表2 rules参数说明 名称 描述 是否必选 id 规则ID。当前桶上配置的DIS策略规则的唯一标识。 类型:String 取值范围:[1, 256],满足“^[a-zA-Z0-9_-]{1, 256}$” 是 stream DIS服务通道名称。需要先在DIS服务创建此通道。 类型:String 是 project DIS服务通道所属的项目ID。 类型:String 是 events OBS事件列表。 类型:String 有效值:长度[0, 1023],值允许为任意字符,支持如下事件类型: ObjectCreated:* (所有上传操作) ObjectCreated:Put (上传对象) ObjectCreated:Post (使用浏览器上传对象) ObjectCreated:Copy (拷贝对象) ObjectCreated:CompleteMultipartUpload (合并段) ObjectRemoved:* (所有删除操作) ObjectRemoved:Delete (指定对象版本号删除对象) ObjectRemoved:DeleteMarkerCreated (不指定对象版本号删除对象) 是 prefix 对象名前缀,用于指定的对象名关键字,根据定义的前缀,输入需要过滤的对象的关键字信息,字符越长匹配精度越高,最大可支持1024个字符,最小可为空。同时,prefix和suffix加起来长度最大为1024个字符。 类型:String 取值范围:[0, 1024] 否 suffix 对象名后缀。用于指定的对象名关键字,根据定义的后缀,输入需要过滤的对象的关键字信息,字符越长匹配精度越高,最大可支持1024个字符,最小可为空。同时,prefix和suffix加起来长度最大为1024个字符。 类型:String 取值范围:[0, 1024] 否 agency IAM 委托名,被委托方必须包含OBS服务,赋予的权限必须是DIS服务的DIS Administrator或DIS User。 类型:String 是
  • 获取cn-north-4区域的桶列表 示例中使用通用的Apache Http Client。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 package com.obsclient; import java.io.*; import java.util.ArrayList; import java.util.List; import org.apache.http.Header; import org.apache.http.HttpEntity; import org.apache.http.NameValuePair; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.client.methods.HttpPut; import org.apache.http.entity.InputStreamEntity; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.message.BasicNameValuePair; public class TestMain { /* 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; 本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。*/ public static String accessKey = System.getenv("HUAWEICLOUD_SDK_AK"); //取值为获取的AK public static String securityKey = System.getenv("HUAWEICLOUD_SDK_SK"); //取值为获取的SK public static void main(String[] str) { listAllMyBuckets(); } private static void listAllMyBuckets() { CloseableHttpClient httpClient = HttpClients.createDefault(); String requesttime = DateUtils.formatDate(System.currentTimeMillis()); HttpGet httpGet = new HttpGet("http://obs.cn-north-4.myhuaweicloud.com"); httpGet.addHeader("Date", requesttime); /** 根据请求计算签名**/ String contentMD5 = ""; String contentType = ""; String canonicalizedHeaders = ""; String canonicalizedResource = "/"; // Content-MD5 、Content-Type 没有直接换行, data格式为RFC 1123,和请求中的时间一致 String canonicalString = "GET" + "\n" + contentMD5 + "\n" + contentType + "\n" + requesttime + "\n" + canonicalizedHeaders + canonicalizedResource; System.out.println("StringToSign:[" + canonicalString + "]"); String signature = null; try { signature = Signature.signWithHmacSha1(securityKey, canonicalString); // 增加签名头域 Authorization: OBS AccessKeyID:signature httpGet.addHeader("Authorization", "OBS " + accessKey + ":" + signature); CloseableHttpResponse httpResponse = httpClient.execute(httpGet); // 打印发送请求信息和收到的响应消息 System.out.println("Request Message:"); System.out.println(httpGet.getRequestLine()); for (Header header : httpGet.getAllHeaders()) { System.out.println(header.getName() + ":" + header.getValue()); } System.out.println("Response Message:"); System.out.println(httpResponse.getStatusLine()); for (Header header : httpResponse.getAllHeaders()) { System.out.println(header.getName() + ":" + header.getValue()); } BufferedReader reader = new BufferedReader(new InputStreamReader( httpResponse.getEntity().getContent())); String inputLine; StringBuffer response = new StringBuffer(); while ((inputLine = reader.readLine()) != null) { response.append(inputLine); } reader.close(); // print result System.out.println(response.toString()); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try { httpClient.close(); } catch (IOException e) { e.printStackTrace(); } } } } 其中Date头域DateUtils的格式为: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 package com.obsclient; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Locale; import java.util.TimeZone; public class DateUtils { public static String formatDate(long time) { DateFormat serverDateFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.ENGLISH); serverDateFormat.setTimeZone(TimeZone.getTimeZone("GMT")); return serverDateFormat.format(time); } } 签名字符串Signature的计算方法为: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 package com.obsclient; import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; import java.io.UnsupportedEncodingException; import java.security.NoSuchAlgorithmException; import java.security.InvalidKeyException; import java.util.Base64; public class Signature { public static String signWithHmacSha1(String sk, String canonicalString) throws UnsupportedEncodingException { try { SecretKeySpec signingKey = new SecretKeySpec(sk.getBytes("UTF-8"), "HmacSHA1"); Mac mac = Mac.getInstance("HmacSHA1"); mac.init(signingKey); return Base64.getEncoder().encodeToString(mac.doFinal(canonicalString.getBytes("UTF-8"))); } catch (NoSuchAlgorithmException | InvalidKeyException | UnsupportedEncodingException e) { e.printStackTrace(); } return null; } }
  • 功能介绍 OBS支持对对象的操作进行权限控制。默认情况下,只有对象的创建者才有该对象的读写权限。用户也可以设置其他的访问策略,比如对一个对象可以设置公共访问策略,允许所有人对其都有读权限。SSE-KMS方式加密的对象即使设置了ACL,跨租户也不生效。 OBS用户在上传对象时可以设置权限控制策略,也可以通过ACL操作API接口对已存在的对象更改或者获取ACL(access control list) 。一个对象的ACL最多支持100条Grant授权。 本节将介绍如何更改对象ACL,改变对象的访问权限。
  • 响应示例 1 2 3 4 5 6 HTTP/1.1 200 OK Server: OBS x-obs-request-id: 8DF400000163D3F0FD2A03D2D30B0542 x-obs-id-2: 32AAAUgAIAABAAAQAAEAABAAAQAAEAABCTjCqTmsA1XRpIrmrJdvcEWvZyjbztdd Date: WED, 01 Jul 2015 04:42:34 GMT Content-Length: 0
  • 请求消息元素 该请求消息通过带消息元素来传递对象的ACL信息,元素的意义如表2所示。 表2 请求消息元素 元素名称 描述 是否必选 Owner 桶的所有者信息,包含ID。 类型:XML 是 ID 用户DomainId。 类型:String 是 Grant 用于标记用户及用户的权限。单个对象的ACL,Grant元素不能超过100个。 类型:XML 否 Grantee 记录用户信息。 类型:XML 否 Canned 向所有人授予权限。 取值范围:Everyone。 类型:String 否 Delivered 对象ACL是否继承桶的ACL。 类型:Boolean 默认:true。 否 Permission 授予权限。 取值范围:READ | READ_ACP | WRITE_ACP | FULL_CONTROL 类型:String 否 AccessControlList 访问控制列表,包含Grant、 Grantee、Permission三个元素。 类型:XML 是
  • 响应示例:已启用版本控制 x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAA BCS mpL2dv6zZLM2HmUrXKTAi258MPqmrp x-obs-request-id: 0000018A2A73AF59D3085C8F8ABF0C65 Server: OBS Content-Length: 0 Date: WED, 01 Jul 2015 02:37:22 GMT x-obs-version-id: G001118A6803675AFFFFD3043F7F91D0
  • 请求示例 GET /v2/actiontemplates/{template_name} HTTP/1.1 Host: obs.cn-north-4.myhuaweicloud.com Authorization: OBS H4IPJX0TQTHTHEBQQCEC:sc2PM13Wlfcoc/YZLK0MwsI2Zpo= Content-Type: application/json Content-Length: 0 Date: Thu, 27 Aug 2020 12:38:10 GMT
  • 响应消息元素 表2 响应消息元素 名称 参数类型 说明 provided_actions Array of ProvidedAction 可选的Action列表。 表3 ProvidedAction参数说明 名称 是否必选 参数类型 说明 name 是 String Action模板名称。 category 是 String 分类。 create_time 是 String 创建时间。 last_modify_time 否 String 最近修改时间。 function_template 是 String 函数的URN。 inputs 否 Array of Input 可修改参数定义列表。 dynamic_source_definition 是 Map 可修改参数引用。 need_policy 是 Policy 需要的权限。 provider 是 String 提供方。 description 否 String 描述。 表4 Policy参数说明 名称 参数类型 说明 version String 权限版本号。 1.0:系统预置的角色。以服务为粒度,提供有限的服务相关角色用于授权。 1.1:策略。IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。 statement Array of Statement 授权语句,描述权限的具体内容。 表5 Statement参数说明 名称 参数类型 说明 action Array String 授权项。指对资源的具体操作权限,不超过100个。 格式为:服务名:资源类型:操作,例:vpc:ports:create。 服务名为产品名称,例如ecs、evs和vpc等,服务名仅支持小写。 资源类型和操作没有大小写,要求支持通配符号*,无需罗列全部授权项。 当自定义策略为委托自定义策略时,该字段值为: "Action": ["iam:agencies:assume"]。 resource Array String 资源。数组长度不超过10,每个字符串长度不超过128,规则如下: 可填 * 的五段式:::::,例:"obs:::bucket:*"。 region字段为*或用户可访问的region。service必须存在且resource属于对应service。 当该自定义策略为委托自定义策略时,该字段类型为Object,值为:"Resource": {"uri": ["/iam/agencies/07805acaba800fdd4fbdc00b8f888c7c"]}。
  • 响应示例(SSE-OBS) 1 2 3 4 5 6 HTTP/1.1 200 OK Server: OBS x-obs-request-id: BF26000001643670AC06E7B9A7767921 x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCSvK6z8HV6nrJh49gsB5vqzpgtohkiFm Date: Thu, 21 Feb 2019 03:05:34 GMT Content-Length: 0
  • 功能介绍 OBS使用PUT操作为桶创建或更新默认服务端加密配置信息。 设置桶加密配置后,在该桶中上传对象时,会采用桶的默认加密配置对数据进行加密。目前支持配置的服务端加密方式有:KMS托管密钥的服务端加密(SSE-KMS)、OBS托管密钥的服务端加密(SSE-OBS)。有关服务端加密方式的更多信息请参考服务端加密章节。 要使用此操作,您必须具有执行PutEncryptionConfiguration操作的权限。桶拥有者默认具有此权限,并且可以将此权限授予其他人。 有关权限控制的更多信息请参考《 对象存储服务 权限配置指南》的OBS权限控制概述章节。
  • 响应示例(SSE-KMS AES256) 1 2 3 4 5 6 HTTP/1.1 200 OK Server: OBS x-obs-request-id: BF26000001643670AC06E7B9A7767921 x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCSvK6z8HV6nrJh49gsB5vqzpgtohkiFm Date: Thu, 21 Feb 2019 03:05:34 GMT Content-Length: 0
  • 请求消息元素 在此请求中,需要在请求的消息体中配置桶的加密配置。桶加密的配置信息以XML格式上传。具体的配置元素如表1。 表1 桶的加密配置元素 消息头名称 描述 是否必选 ServerSideEncryptionConfiguration 桶的默认加密配置的根元素。 类型:Container 父元素:无 子元素:Rule 是 Rule 桶的默认加密配置的子元素。 类型:Container 父元素:ServerSideEncryptionConfiguration 子元素:ApplyServerSideEncryptionByDefault 是 ApplyServerSideEncryptionByDefault 桶的默认加密配置的子元素。 类型:Container 父元素:Rule 子元素:SSEAlgorithm,KMSMasterKeyID 是 SSEAlgorithm 桶的默认加密配置要使用的服务端加密算法。 类型:String 有效值:kms 父元素:ApplyServerSideEncryptionByDefault 是 KMSDataEncryption SSE-KMS加密方式下的 数据加密 算法。 类型:String 有效值:SM4 父元素:ApplyServerSideEncryptionByDefault 否 KMSMasterKeyID SSE-KMS加密方式下使用的KMS主密钥,如果用户没有提供该头域,那么默认的主密钥将会被使用。 类型:String 有效值支持两种格式: regionID:domainID(账号ID):key/key_id key_id 其中: regionID是使用密钥所属region的ID,可在地区和终端节点页面获取; domainID是使用密钥所属账号的账号ID,获取方法参见获取账号、IAM用户、项目、用户组、区域、委托的名称和ID; key_id是从数据加密服务创建的密钥ID,获取方法请参见查看密钥。 父元素:ApplyServerSideEncryptionByDefault 否 ProjectID SSE-KMS加密方式下KMS主密钥所属的项目ID。如果KMS主密钥所属的项目为非默认项目,则需要通过该参数进行项目ID指定。 类型:String 有效值: 与KMSMasterKeyID相匹配的项目ID。 在未设置KMSMasterKeyID的情况下,不可设置项目ID。 父元素:ApplyServerSideEncryptionByDefault 说明: 使用非默认IAM项目下的自定义密钥对桶内对象进行SSE-KMS加密,只有密钥拥有者可以对加密后的对象进行上传下载类操作,非密钥拥有者不能对加密后的对象进行上传下载类操作。 否
  • 响应示例(SSE-KMS SM4) 1 2 3 4 5 6 HTTP/1.1 200 OK Server: OBS x-obs-request-id: BF26000001643670AC06E7B9A7767921 x-obs-id-2: 32AAAQAAEAABSAAgAAEAABAAAQAAEAABCSvK6z8HV6nrJh49gsB5vqzpgtohkiFm Date: Thu, 21 Feb 2019 03:05:34 GMT Content-Length: 0
  • 请求示例:使用默认密钥对上传的对象进行加密 1 2 3 4 5 6 7 8 9 10 11 PUT /encryp1 HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.cn-north-4.myhuaweicloud.com Accept: */* Date: Wed, 06 Jun 2018 09:08:21 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:f3/7eS6MFbW3JO4+7I5AtyAQENU= x-obs-server-side-encryption:kms Content-Length: 5242 Expect: 100-continue [5242 Byte object contents]
  • 请求示例:使用指定密钥对上传的对象进行加密 1 2 3 4 5 6 7 8 9 10 11 12 PUT /encryp1 HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.cn-north-4.myhuaweicloud.com Accept: */* Date: Wed, 06 Jun 2018 09:08:50 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:f3/PWjkXYTYGs5lPOctTNEI2QENU= x-obs-server-side-encryption:kms x-obs-server-side-encryption-kms-key-id: 522d6070-5ad3-4765-43a7-a7d1-ab21f498482d Content-Length: 5242 Expect: 100-continue [5242 Byte object contents]
  • 响应示例:使用指定密钥对上传的对象进行加密 1 2 3 4 5 6 7 8 9 HTTP/1.1 200 OK Server: OBS x-obs-request-id: 8DF400000163D45AA81D038B6AE4C482 ETag: "d8bffdfbab5345d91ac05141789d2477" x-obs-server-side-encryption: kms x-obs-server-side-encryption-kms-key-id: cn-north-4:783fc6652cf246c096ea836694f71855:key/522d6070-5ad3-4765-43a7-a7d1-ab21f498482d x-obs-id-2: 32AAAUJAIAABAdiAEAABA09AEAABCTv7cHmAn12BAG83ibUsiET5eqlCqg Date: Wed, 06 Jun 2018 09:08:50 GMT Content-Length: 0
  • 响应示例:使用默认密钥对上传的对象进行加密 1 2 3 4 5 6 7 8 9 HTTP/1.1 200 OK Server: OBS x-obs-request-id: 8DF400000163D45AA81D038B6AE4C482 ETag: "d8bffdfbab5345d91ac05141789d2477" x-obs-server-side-encryption: kms x-obs-server-side-encryption-kms-key-id: cn-north-4:783fc6652cf246c096ea836694f71855:key/522d6070-5ad3-4765-9737-9312ddc72cdb x-obs-id-2: 32AAAUJAIAABAAAQAAEAABAAAQAAEAABCTv7cHmAnGfBAGXUHeibUsiETTNqlCqC Date: Wed, 06 Jun 2018 09:08:21 GMT Content-Length: 0
  • 响应示例:将普通对象拷贝为加密对象,且指定加密密钥 1 2 3 4 5 6 7 8 9 HTTP/1.1 200 OK Server: OBS x-obs-request-id: BB78000001648480AF3900CED7F15155 ETag: "d8bffdfbab5345d91ac05141789d2477" x-obs-server-side-encryption: kms x-obs-server-side-encryption-kms-key-id: cn-north-4:783fc6652cf246c096ea836694f71855:key/522d6070-5ad3-4765-9737-9312ddc72cdb x-obs-id-2: oRAXhgwdaLc9wKVHqTLSmQB7I35D+32AAAUJAIAABAAAQAAEAABAAAQAAEAABCS Date: Wed, 06 Jun 2018 09:10:29 GMT Content-Length: 0
  • 请求示例:在URL中携带签名并上传加密对象 PUT /destobject?AccessKeyId=UI3SN1SRUQE14OYBKTZB&Expires=1534152518&x-obs-server-side-encryption=kms&Signature=chvmG7%2FDA%2FDCQmTRJu3xngldJpg%3D HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.cn-north-4.myhuaweicloud.com Accept: */* Date: Wed, 06 Jun 2018 09:10:29 GMT
  • 请求示例:将普通对象拷贝为加密对象,且指定加密密钥 1 2 3 4 5 6 7 8 9 PUT /destobject HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.cn-north-4.myhuaweicloud.com x-obs-server-side-encryption:kms x-obs-server-side-encryption-kms-key-id: cn-north-4:783fc6652cf246c096ea836694f71855:key/522d6070-5ad3-4765-9737-9312ddc72cdb Accept: */* Date: Wed, 06 Jun 2018 09:10:29 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:SH3uTrElaGWarVI1uTq325kTVCI= x-obs-copy-source: /bucket/srcobject1
  • 响应示例:在URL中携带签名并上传加密对象 1 2 3 4 5 6 7 8 9 HTTP/1.1 200 OK Server: OBS x-obs-request-id: BB78000001648480AF3900CED7F15155 ETag: "d8bffdfbab5345d91ac05141789d2477" x-obs-server-side-encryption: kms x-obs-server-side-encryption-kms-key-id: cn-north-4:783fc6652cf246c096ea836694f71855:key/522d6070-5ad3-4765-9737-9312ddc72cdb x-obs-id-2: oRAXhgwdaLc9wKVHqTLSmQB7I35D+32AAAUJAIAABAAAQAAEAABAAAQAAEAABCS Date: Wed, 06 Jun 2018 09:10:29 GMT Content-Length: 0
共100000条