项目中有集成阿里云的OSS对象存储和视频点播,其中有使用到STS(临时授权访问),下面对sts的集成实现流程及其注意事项进行总结。
在项目中,我们使用的是maven仓库,SpringBoot框架
一、必要jar包
这里我使用的是maven,在pom.xml文件中引入
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.3.0</version>
</dependency>
二、参数配置
配置application.properties文件
#region
aliyun.oss.REGION_CN_HANGZHOU=cn-hangzhou
#阿里云oss服务,下面两个参数需要在阿里服务器配置访问控制RAM,为用户、角色分配相应权限
aliyun.oss.AccessKeyID=********
aliyun.oss.AccessKeySecret=*******
#当前STS API版本
aliyun.oss.STS_API_VERSION=2015-04-01
#角色,同样在阿里云用户管理可以查看
aliyun.oss.RoleArn=acs:ram::****************
#定义权限规则,这里我权限规则写在一个文件中,在实际运用中也可以将其直接写在代码中
aliyun.oss.PolicyFile=bucket_read_write_policy.txt
#token有效时长
aliyun.oss.TokenExpireTime=30
#外网访问地址
aliyun.oss.service=http://localhost/项目名/
三、权限规则
bucket_read_write_policy.txt
{
"Statement": [
{
"Action": [
"oss:GetObject",
"oss:PutObject",
"oss:DeleteObject",
"oss:ListParts",
"oss:AbortMultipartUpload",
"oss:ListObjects",
"vod:*"// 该配置是视频点播的权限,只需要集成OSS sts时可将其去除
],
"Effect": "Allow",
//可访问的资源,如果只允许访问部分资源,可用通配符指定文件例如"acs:oss:*:*:qqq-qqq/*", "acs:oss:*:*:qqq-qqq"
"Resource": ["*"]
}
],
"