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],单位是秒。 | 是 |
| PolicyDocument | 用JSON语言描述的策略内容,为临时访问密钥增加权限策略限制。 携带该权限策略时:生成的临时访问密钥的权限等于调用此接口用户的权限策略和该权限策略的交集。 未携带该权限策略时:生成的临时访问密钥的权限等于调用此接口用户的权限策略。 注意 该参数仅对IAM用户生效,对根用户不生效。PolicyDocument的赋值需要做urlencode处理。 类型:字符串 取值:长度为1~2048的字符串。可以包含以下字符:
说明 各操作权限对应的具体资源、API详见操作权限与API对应关系。 | 否 |
响应结果
| 名称 | 描述 |
|---|---|
| GetSessionTokenResult.Credentials.SessionToken | 安全令牌。 |
| GetSessionTokenResult.Credentials.AccessKeyId | 临时访问AccessKeyId。 |
| GetSessionTokenResult.Credentials.SecretAccessKey | 临时访问SecretAccessKey。 |
| GetSessionTokenResult.Credentials.Expiration | 过期时间。 |
| ResponseMetadata.RequestId | 请求ID。 |
请求示例1
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: SignatureValue
Action=GetSessionToken&DurationSeconds=3600响应示例1
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>请求示例2
生成临时访问密钥,并对该密钥权限进行权限策略限制。权限策略为:允许OOS所有操作,禁止IAM所有操作。urlencode前的权限策略为:{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Action":"oos:*","Resource":"arn:ctyun:oos::1pqvmpcd9dmxp:*"},{"Effect":"Deny","Action":"iam:*","Resource":"arn:ctyun:iam::1pqvmpcd9dmxp:*"}]}
使用时,需要使用urlencode工具将权限策略进行编码,编码后的权限策略为:%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Action%22%3A%22oos%3A*%22%2C%22Resource%22%3A%22arn%3Actyun%3Aoos%3A%3A1pqvmpcd9dmxp%3A*%22%7D%2C%7B%22Effect%22%3A%22Deny%22%2C%22Action%22%3A%22iam%3A*%22%2C%22Resource%22%3A%22arn%3Actyun%3Aiam%3A%3A1pqvmpcd9dmxp%3A*%22%7D%5D%7D%0A
POST / HTTP/1.1
Host:oos-cn-iam.ctyunapi.cn
X-Amz-Content-Sha256: 5f673b31306acbcfd7b0ba1414d27cd377f0b1d683937be4fbc773744a0573e1
X-Amz-Date: 20231218T024929Z
Authorization: SignatureValue
Content-Length:386
Content-Type: application/octet-stream
Action=GetSessionToken&DurationSeconds=900&PolicyDocument=%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Effect%22%3A%22Allow%22%2C%22Action%22%3A%22oos%3A*%22%2C%22Resource%22%3A%22arn%3Actyun%3Aoos%3A%3A1pqvmpcd9dmxp%3A*%22%7D%2C%7B%22Effect%22%3A%22Deny%22%2C%22Action%22%3A%22iam%3A*%22%2C%22Resource%22%3A%22arn%3Actyun%3Aiam%3A%3A1pqvmpcd9dmxp%3A*%22%7D%5D%7D%0A响应示例2
HTTP/1.1 200 OK
x-amz-request-id: 3a3f41d6b9e64c03
date: Mon, 18 Dec 2023 02:49:29 GMT
content-type: text/xml;charset=UTF-8
content-length: 533
server: CTYUN
<getsessiontokenresponse>
<getsessiontokenresult>
<credentials>
<sessiontoken>c5c6d33ca5fa55fbd7d1e42f0157b2547f37e0cdf492c0a7548a0c38084ae48040538bf9edcf54138c22a7f2e973bd5f8a0591ea8014507b0941e07995d05d3f</sessiontoken>
<accesskeyid>sts.28b828b384a22d8aebc2</accesskeyid>
<secretaccesskey>34d5a7da1e56243c494c77afd93412d5b46395af</secretaccesskey>
<expiration>2023-12-18T03:04:29.856Z</expiration>
</credentials>
</getsessiontokenresult>
<responsemetadata>
<requestid>3a3f41d6b9e64c03</requestid>
</responsemetadata>
</getsessiontokenresponse>