STS相关接口 STS即Secure Token Service 是一种安全凭证服务,可以使用STS来完成对于临时用户的访问授权。对于跨用户短期访问对象存储资源时,可以使用STS服务。这样就不需要透露主账号AK/SK,只需要生成一个短期访问凭证给需要的用户使用即可,避免主账号AK/SK泄露带来的安全风险。 获取临时token 在服务端生成临时token,可参考java、python、nodejs、CPP、donet、go、php SDK说明,请从 SDK概览 页面选择进入对应的开发指南查阅。 使用临时token 实现一个MyCredentialsProvider,支持更新ak/sk和token。 plaintext // .h @interface MyCredentialsProvider: NSObject (instancetype)initWithAccessKey:(NSString )accessKey secretKey:(NSString )secretKey sessionToken:(NSString )sessionToken; (void)updateCredWithAccessKey:(NSString )accessKey secretKey:(NSString )secretKey sessionToken:(NSString )sessionToken; @end // .m @interface MyCredentialsProvider() @property (atomic, strong) AWSCredentials internalCredentials; @end @implementation MyCredentialsProvider (instancetype)initWithAccessKey:(NSString )accessKey secretKey:(NSString )secretKey sessionToken:(NSString )sessionToken { if (self [super init]) { internalCredentials [[AWSCredentials alloc] initWithAccessKey:accessKey secretKey:secretKey sessionKey:sessionToken expiration:nil]; } return self; } (AWSTask )credentials { return [AWSTask taskWithResult:self.internalCredentials]; } (void)invalidateCachedTemporaryCredentials { } (void)updateCredWithAccessKey:(NSString )accessKey secretKey:(NSString )secretKey sessionToken:(NSString )sessionToken { self.internalCredentials [[AWSCredentials alloc] initWithAccessKey:accessKey secretKey:secretKey sessionKey:sessionToken expiration:nil]; } @end 使用临时token初始化sdk plaintext