安全凭证服务(STS)
STS即Secure Token Service 是一种安全凭证服务,可以使用STS来完成对于临时用户的访问授权。对于跨用户短期访问s3资源时,可以使用STS服务。这样就不需要透露主账号AK/SK,只需要生成一个短期访问凭证给需要的用户使用即可,避免主账号AK/SK泄露带来的安全风险。
在服务器端生成临时token,参考:
使用assumeRole请求申请临时凭证,使用服务端返回的accessKeyId,secretAccessKey和sessionToken来初始化s3对象。使用过程中,需要更新凭证,保证凭证不过期。使用过期凭证的请求,服务端会返回403(AccessDenied)。
let S3Demo = {
credentials: {
accessKeyId: S3Config.accessKeyId,
secretAccessKey: S3Config.secretAccessKey,
sessionToken: S3Config.sessionToken, // 配置临时token
},
s3Client: null,
// 初始化s3对象
init: function() {
let config = {
credentials: this.credentials,
endpoint: S3Config.endpoint,
};
this.s3Client = new AWS.S3(config);
},
// 更新凭证
updateCredentials: function(ak, sk, token) {
this.credentials.accessKeyId = ak;
this.credentials.secretAccessKey = sk;
this.credentials.sessionToken = token;
},
}
参数 | 说明 |
---|---|
credentials | 用户账号信息,包含accessKeyId和secretAccessKey和sessionToken |
endpoint | 天翼云资源池的地址,必须指定http或https前缀 |