進行OIDC角色SSO時,通過調用AssumeRoleWithOIDC接口,獲取扮演RAM角色的臨時身份憑證(STS Token)。
接口說明
前提條件
- 確保已從外部身份提供商(IdP)獲取到 OIDC 令牌(OIDC Token)。
- 確保已在 RAM 中創建了 OIDC 身份提供商。具體操作,請參見創建 OIDC 身份提供商或 CreateOIDCProvider 。
- 確保已在 RAM 中創建了可信實體為 OIDC 身份提供商的 RAM 角色。具體操作,請參見創建可信實體為身份提供商的 RAM 角色或 CreateRole 。
調試
您可以在OpenAPI Explorer中直接運行該接口,免去您計算簽名的困擾。運行成功后,OpenAPI Explorer可以自動生成SDK代碼示例。
授權信息
當前API暫無授權信息透出。
請求參數
名稱 | 類型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
OIDCProviderArn | string | 是 | OIDC 身份提供商的 ARN。 您可以通過 RAM 控制臺或 API 查看 OIDC 身份提供商的 ARN。具體如下:
| acs:ram::113511544585****:oidc-provider/TestOidcIdp |
RoleArn | string | 是 | 需要扮演的 RAM 角色 ARN。 您可以通過 RAM 控制臺或 API 查看角色 ARN。具體如下:
| acs:ram::113511544585****:role/testoidc |
OIDCToken | string | 是 | 由外部 IdP 簽發的 OIDC 令牌(OIDC Token)。 長度:4~20000 個字符。 說明
需要輸入原始 OIDC Token,無需 Base64 解碼。
| eyJraWQiOiJKQzl3eHpyaHFKMGd0**** |
Policy | string | 否 | 為 STS Token 額外添加的一個權限策略,進一步限制 STS Token 的權限。具體如下:
長度:1~2048 個字符。 | {"Statement": [{"Action": ["*"],"Effect": "Allow","Resource": ["*"]}],"Version":"1"} |
DurationSeconds | long | 否 | Token 有效期。單位:秒。 默認值:3600。最小值:900。最大值: 關于設置角色最大會話時間 | 3600 |
RoleSessionName | string | 是 | 角色會話名稱。 該參數為用戶自定義參數。通常設置為調用該 API 的用戶身份,例如:用戶名。在操作審計日志中,即使是同一個 RAM 角色執行的操作,也可以根據不同的 RoleSessionName 來區分實際操作者,以實現用戶級別的訪問審計。 格式:包含英文字母、數字、半角句號(.)、at(@)、短劃線(-)和下劃線(_)。 長度:2~64 個字符。 | TestOidcAssumedRoleSession |
說明
由于 AssumeRoleWithOIDC 接口使用 OIDC Token 進行身份認證,可以匿名訪問,因此不需要提供公共請求參數中的
Signature
、SignatureMethod
、SignatureVersion
和AccessKeyId
參數。關于公共請求參數的詳情,請參見公共請求參數。
返回參數
示例
正常返回示例
JSON
格式
{
"RequestId": "3D57EAD2-8723-1F26-B69C-F8707D8B565D",
"OIDCTokenInfo": {
"Subject": "KryrkIdjylZb7agUgCEf****",
"Issuer": "https://dev-xxxxxx.okta.com",
"ClientIds": "496271242565057****",
"ExpirationTime": "2021-10-20T04:27:09Z",
"IssuanceTime": "2021-10-20T03:27:09Z",
"VerificationInfo": "Success"
},
"AssumedRoleUser": {
"AssumedRoleId": "33157794895460****",
"Arn": "acs:ram::113511544585****:role/testoidc/TestOidcAssumedRoleSession"
},
"Credentials": {
"SecurityToken": "CAIShwJ1q6Ft5B2yfSjIr5bSEsj4g7BihPWGWHz****",
"Expiration": "2021-10-20T04:27:09Z",
"AccessKeySecret": "CVwjCkNzTMupZ8NbTCxCBRq3K16jtcWFTJAyBEv2****",
"AccessKeyId": "STS.NUgYrLnoC37mZZCNnAbez****"
}
}
錯誤碼
訪問錯誤中心查看更多錯誤碼。
變更歷史
變更時間 | 變更內容概要 | 操作 |
---|---|---|
2024-04-11 | API 內部配置變更,不影響調用 | 查看變更詳情 |
2023-09-27 | OpenAPI 返回結構發生變更 | 查看變更詳情 |