全部產品
Search
文件中心

Resource Access Management:AssumeRoleWithOIDC

更新時間:Sep 02, 2026

進行 OIDC 角色 SSO 時,透過呼叫 AssumeRoleWithOIDC 介面,取得扮演 RAM 角色的臨時身分憑證(STS Token)。

介面說明

前提條件

調試

您可以在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 的權限。具體如下:

  • 如果指定該權限原則,則 STS Token 最終的權限取 RAM 角色權限原則與該權限原則的交集。

  • 如果不指定該權限原則,則 STS Token 最終的權限就是 RAM 角色的權限。

長度:1~2048 個字元。

{"Statement": [{"Action": ["*"],"Effect": "Allow","Resource": ["*"]}],"Version":"1"}

DurationSeconds

integer

否

Token 有效期間。單位:秒。

預設值:3600。最小值:900。最大值:MaxSessionDuration 設定的時間。

關於設定角色最大工作階段時間 MaxSessionDuration 的具體操作,請參見 CreateRole 或 UpdateRole 。

3600

RoleSessionName

string

是

角色工作階段名稱。

該參數為使用者自訂參數。通常設定為呼叫該 API 的使用者身分,例如:使用者名稱。在操作審計日誌中,即使是同一個 RAM 角色執行的操作,也可以根據不同的 RoleSessionName 來區分實際操作者,以實現使用者層級的存取審計。

格式:包含英文字母、數字、半形句號(.)、at(@)、短橫線(-)和底線(_)。

長度:2~64 個字元。

TestOidcAssumedRoleSession

說明

由於 AssumeRoleWithOIDC 介面使用 OIDC Token 進行身分驗證,可以匿名存取,因此不需要提供公用請求參數中的 Signature、SignatureMethod、SignatureVersion 和 AccessKeyId 參數。關於公用請求參數的詳情,請參見公用請求參數。

返回參數

名稱

類型

描述

樣本值

object

返回參數。

RequestId

string

請求 ID。

3D57EAD2-8723-1F26-B69C-F8707D8B565D

OIDCTokenInfo

object

解析的 OIDC Token 資訊。

Subject

string

OIDC 主體。

對應 OIDC Token 中的 sub 欄位值。

KryrkIdjylZb7agUgCEf****

Issuer

string

OIDC 簽發者 URL。

對應 OIDC Token 中的 iss 欄位值。

https://dev-xxxxxx.okta.com

ClientIds

string

OIDC 受眾。多個之間用半形逗號(,)分隔。

對應 OIDC Token 中的 aud 欄位值。

496271242565057****

ExpirationTime

string

OIDC Token 的過期時間(UTC 時間)。

2021-10-20T04:27:09Z

IssuanceTime

string

OIDC Token 的簽發時間(UTC 時間)。

2021-10-20T03:27:09Z

VerificationInfo

string

OIDC Token 的驗證資訊。更多資訊,請參見管理 OIDC 身分提供者。

Success

AssumedRoleUser

object

角色扮演臨時身分。

AssumedRoleId

string

臨時身分的 ID。

33157794895460****

Arn

string

臨時身分的 ARN。

acs:ram::113511544585****:role/testoidc/TestOidcAssumedRoleSession

Credentials

object

臨時存取憑證(STS Token)。

SecurityToken

string

安全性權杖。

說明

安全性權杖的長度不固定,我們強烈建議您不要對安全性權杖的最大長度做任何限制。

CAIShwJ1q6Ft5B2yfSjIr5bSEsj4g7BihPWGWHz****

Expiration

string

Token 到期失效時間(UTC 時間)。

2021-10-20T04:27:09Z

AccessKeySecret

string

存取金鑰。

CVwjCkNzTMupZ8NbTCxCBRq3K16jtcWFTJAyBEv2****

AccessKeyId

string

存取金鑰 ID。

STS.NUgYrLnoC37mZZCNnAbez****

SourceIdentity

string

來源身分資訊。

在扮演角色時,可以指定扮演者的來源身分(SourceIdentity)作為工作階段的初始身分識別。該來源身分的值在持續扮演角色的鏈式工作階段中將一直存在,中途不可變更,可確保操作的可追溯性和安全性。

如果沒有設定來源身分資訊,則該欄位不會返回。

Alice

樣本

正常返回樣本

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****"
  },
  "SourceIdentity": "Alice"
}

錯誤碼

訪問錯誤中心查看更多錯誤碼。

變更歷史

更多資訊,參考變更詳情。