
# 配置OBS访问权限
#### OBS服务
OBS全称Object Storage Service（对象存储服务），提供海量、安全、高可靠、低成本的数据存储能力，可供用户存储任意类型和大小的数据。
EI企业智能服务对于图片、语音等多媒体文件支持直接使用华为云OBS服务的数据处理方式，以减少服务使用成本，降低服务的响应时长，提升服务使用的体验。
考虑到数据的安全，自然语言处理服务无法直接获取到用户数据，需要用户开启公共读授权。
#### 开启公共读授权
开启公共授权，则数据全网可见，所有用户均可访问。一般私密数据不建议用此方法，数据隐私及过期时间请客户自行保证。
配置公共读可参考[配置标准桶策略](https://support.huaweicloud.com/usermanual-obs/obs_03_0142.html)，将桶策略设置为"公共读"。
目前仅支持访问用户个人OBS下的文件的链接，不支持读取其他用户公共读的链接。
#### 使用临时授权URL授权NLP服务访问
对于敏感信息，如个人私有数据，存在泄漏风险，建议使用临时授权URL替代OBS文件URL授权服务访问用户私有文件。
临时URL存在有效期，获取到临时URL后请及时使用。
如何上传文件并获取临时url可以参考以下代码。
```
String endPoint = "http://your-endpoint";
String ak = "*** Provide your Access Key ***";
String sk = "*** Provide your Secret Key ***";
// 创建ObsClient实例ObsClient 
obsClient = new ObsClient(ak, sk, endPoint); 
// URL有效期，3600秒
longexpireSeconds = 3600L;   
obsClient.putObject("bucketname", "objectname", new File("localfile"));
TemporarySignatureRequest request = new TemporarySignatureRequest(HttpMethodEnum.GET, expireSeconds);
request.setBucketName("bucketname"); 
request.setObjectKey("objectname");  
// 获取临时url,临时授权URL格式如下：
// https://****.obs.cn-north-4.huawei.com/***.docx?AccessKeyId=***&Expires=***Signature=***
TemporarySignatureResponse response = obsClient.createTemporarySignature(request);
System.out.println("\t" + response.getSignedUrl());
```
#### 上传文件
可参考[上传对象](https://support.huaweicloud.com/qs-obs/obs_qs_0001.html)。
#### 获取文件URL
可参考[获取对象URL](https://support.huaweicloud.com/sdk-java-devg-obs/obs_21_2111.html)。
