OOS为用户提供临时授权访问。此操作用来获取临时访问密钥。根用户和子用户默认拥有调用此接口的权限。如果配置了禁止子用户调用该接口的IAM策略,该策略不会生效。
STS(Security Token Service)是为云计算用户提供临时访问令牌的Web服务。通过STS,可以为第三方应用或用户颁发一个自定义时效的访问凭证。第三方应用或用户可以使用该访问凭证直接调用OOS API,或者使用OOS提供的SDK来访问OOS API。
使用临时授权访问OOS API时,用户需要将安全令牌(SessionToken)携带在请求header中或者预签名URL中。携带在请求header中,V4和V2签名的X-Amz-Security-Token请求头不区分大小写;携带在预签名URL中,V4签名的标头为“X-Amz-Security-Token”,V2签名的标头为“x-amz-security-token”。
注意使用临时访问令牌(AccessKeyId、SecretAccessKey、SessionToken)的用户不能调用该接口;使用临时访问令牌调用其他接口时,权限同生成该临时访问令牌的用户。为了安全起见,不建议根用户调用该接口。
请求语法
POST / HTTP/1.1
Host: oos-cn-iam.ctyunapi.cn
Date: Date
Authorization: SignatureValue
Content-Type:application/octet-stream
Action=GetSessionToken&DurationSeconds=seconds
请求参数
名称 | 描述 | 是否必须 |
---|---|---|
Action | GetSessionToken。 | 是 |
DurationSeconds | 令牌的有效期限。 类型 :整型 。 取值 :[900, 129600],单位是秒。 |
是 |
响应结果
名称 | 描述 |
---|---|
GetSessionTokenResult.Credentials.SessionToken | 安全令牌。 |
GetSessionTokenResult.Credentials.AccessKeyId | 临时访问AK。 |
GetSessionTokenResult.Credentials.SecretAccessKey | 临时访问SK。 |
GetSessionTokenResult.Credentials.Expiration | 过期时间。 |
ResponseMetadata.RequestId | 请求ID。 |
请求示例
POST / HTTP/1.1
Content-Length:43
Content-MD5:MQsAw5tPAXYddIR5jTmaiQ==
Content-Type:application/x-www-form-urlencoded; charset=utf-8
Host:oos-cn-iam.ctyunapi.cn
x-amz-content-sha256:UNSIGNED-PAYLOAD
x-amz-date:20210528T065932Z
Authorization:AWS4-HMAC-SHA256 Credential=3c359b754a324448a852/20210528/cn/sts/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-content-sha256;x-amz-date, Signature=1098599ad14c864768196abbcc7c16e9386fe6f96abb44c3b7e1e1f766adc4fe
Action=GetSessionToken&DurationSeconds=3600
响应示例
HTTP/1.1 200 OK
x-amz-request-id: 9d9fbac87ab54310
date: Fri, 28 May 2021 06:59:33 GMT
content-type: text/xml;charset=UTF-8
content-length: 533
server: CTYUN
<GetSessionTokenResponse>
<GetSessionTokenResult>
<Credentials>
<SessionToken>804fcb8bbbeef97ab9326557ae61f885a3f9af49a6401f1e3d5aea3d35340eacc37ce8cd9c370bdee8d64ba5a424a98deea1bba86507d1e2ad0653eef0d3c905</SessionToken>
<AccessKeyId>sts.e9043b8d93c704bce974</AccessKeyId>
<SecretAccessKey>8930a3c60dc4c9e2a3d18c221acdf4ea0d1aecc3</SecretAccessKey>
<Expiration>2021-05-28T07:59:33.438Z</Expiration>
</Credentials>
</GetSessionTokenResult>
<ResponseMetadata>
<RequestId>9d9fbac87ab54310</RequestId>
</ResponseMetadata>
</GetSessionTokenResponse>