SetApplicationSsoConfig - 设置一个EIAM应用的单点登录SSO配置

设置一个EIAM应用的单点登录SSO配置属性。

接口说明

在 EIAM 中,应用管理支持添加多种单点登录 SSO 协议(SAML 2.0 和 OIDC)的应用,但是一个应用支持的 SSO 协议只能有一种,且在创建时指定后不可更改。您根据当前的应用支持的 SSO 协议类型,指定对应的 SSO 配置属性参数。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
eiam:SetApplicationSsoConfigcreate
*Application
acs:eiam:{#regionId}:{#accountId}:instance/{#InstanceId}/application/{#ApplicationId}

请求参数

名称类型必填描述示例值
InstanceIdstring

实例 ID。

idaas_ue2jvisn35ea5lmthk267xxxxx
ApplicationIdstring

应用 ID。

app_mkv7rgt4d7i4u7zqtzev2mxxxx
SamlSsoConfigobject

SAML 协议的应用 SSO 属性配置参数。

SpSsoAcsUrlstring

应用(SP)的 SAML 断言消费地址。

https://signin.aliyun.com/saml-role/sso
SpEntityIdstring

应用(SP)的 SAML 的 EntityId。

urn:alibaba:cloudcomputing
NameIdFormatstring

SAML 协议标准的 NameID 格式,取值可选范围:

  • urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified:未指定的,由应用自行决定解析 NameID。
  • urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress:Email 地址格式。
  • urn:oasis:names:tc:SAML:2.0:nameid-format:persistent:持久化的 NameID。
  • urn:oasis:names:tc:SAML:2.0:nameid-format:transient:瞬时的 NameID。
枚举值:
  • urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified未指定的,默认值。
  • urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddressEmail地址格式
  • urn:oasis:names:tc:SAML:2.0:nameid-format:persistent持久化的。
  • urn:oasis:names:tc:SAML:2.0:nameid-format:transient瞬时的。
urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified
NameIdValueExpressionstring

SAML 协议的 NameID 真实取值生成表达式。

user.email
DefaultRelayStatestring

默认 RelayState 取值。当用户的单点登录 SSO 请求是由 EIAM 发起时,EIAM 提供的 SAML Response 会指定 RelayState 为当前值。

https://home.console.aliyun.com
SignatureAlgorithmstring

SAML 断言签名算法。

枚举值:
  • RSA-SHA256RSA-SHA256算法
RSA-SHA256
ResponseSignedboolean

Response 是否需要签名。ResponseSigned 和 AssertionSigned 不能同时为 false。

  • true:需要签名。
  • false:不需要签名。
true
AssertionSignedboolean

Assertion 是否需要签名。ResponseSigned 和 AssertionSigned 不能同时为 false。

  • true:需要签名。
  • false:不需要签名。
true
AttributeStatementsarray<object>

在 SAML 断言中包含的额外用户属性配置。

object
AttributeNamestring

SAML 断言中属性的 Name。

https://www.aliyun.com/SAML-Role/Attributes/RoleSessionName
AttributeValueExpressionstring

SAML 断言中的属性取值表达式。

user.username
IdPEntityIdstring

SAML 协议中代表 IdP 身份的 Entity Id。支持 URL 格式和 URN 格式。

https://example.com/
OidcSsoConfigobject

OIDC 协议的应用 SSO 属性配置参数。

RedirectUrisarray

应用支持的 RedirectUri 列表。

string

应用支持的 RedirectUri。

https://example.com/oidc/login/callback
PostLogoutRedirectUrisarray

应用支持 Logout 登出回调地址列表。

string

应用的 Logout 登出回调白名单地址,应用发起 Logout 请求时可以指定 post_logout_redirect_uri 参数。

https://example.com/oidc/logout/callback
GrantTypesarray

支持的 OIDC 协议授权模式列表。

string

支持的 OIDC 协议授权模式,取值可选范围:

  • authorization_code:授权码模式。
  • implicit:隐式模式。
  • refresh_token:令牌刷新模式。
  • urn:ietf:params:oauth:grant-type:device_code:设备模式。
  • password:密码模式。
authorization_code
ResponseTypesarray

当 OidcSsoConfig.GrantTypes 包含指定 implicit 隐式模式后,应用支持的返回类型。

string

OIDC 协议标准参数 ResponseType,只有指定了 GrantTypes 包含 implicit 隐式模式才生效,取值可选范围:

  • token:只返回 access token。
  • id_token:只返回 id token。
  • token id_token:同时返回 access token 和 id token。
token id_token
GrantScopesarray

OIDC 协议标准参数 scope,用于指定 userinfo 端点或者 id_token 可以返回的用户属性范围。

string

OIDC 协议标准参数 scope,用于指定 userinfo 端点或者 id_token 可以返回的用户属性范围,取值可选范围:

  • openid:OIDC 标准参数,用户唯一 id。
  • profile:用户详细信息。
  • email:用户邮箱信息。
  • phone:用户手机信息。
openid
PasswordTotpMfaRequiredboolean

密码模式是否强制需要 TOTP 二次认证,当且仅当 OIDC 协议应用指定的 GrantTypes 包含 password 模式才生效。

true
PasswordAuthenticationSourceIdstring

密码模式使用的身份认证源 ID,当且仅当 OIDC 协议应用指定的 GrantTypes 包含 password 模式才生效。

ia_password
PkceRequiredboolean

应用 SSO 是否强制要求 PKCE(RFC 7636)。

true
PkceChallengeMethodsarray

PKCE 中计算 Code Challenge 的算法。

string

PKCE 中计算 Code Challenge 的算法,取值可选范围:

  • plain:原文。
  • S256:SHA 256 算法。
S256
AccessTokenEffectiveTimelong

签发的 access token 有效时间,单位为秒,默认 1200 秒(20 分钟)。

1200
CodeEffectiveTimelong

签发的 code 有效时间,单位为秒,默认为 60 秒(1 分钟)。

60
IdTokenEffectiveTimelong

签发的 id token 有效时间,单位为秒,默认为 300 秒(5 分钟)。

300
RefreshTokenEffectivelong

签发的 refresh token 有效时间,单位为秒,默认为 86400 秒(1 天)。

86400
CustomClaimsarray<object>

自定义 id token 返回包含的用户信息。

object
ClaimNamestring

返回的 claim 名称。

"Role"
ClaimValueExpressionstring

返回的 claim 取值表达式。

user.dict.applicationRole
SubjectIdExpressionstring

自定义 id token 返回的 sub 取值表达式。

user.userid
InitLoginTypestring

初始化单点登录 SSO 方式,取值可选范围:

  • only_app_init_sso:仅应用发起 SSO,OIDC 协议应用默认取值。当 SAML 应用指定为该方式时,InitLoginUrl 必须指定。
  • idaas_or_app_init_sso:支持 IDaaS 门户或者应用发起 SSO,SAML 协议应用默认取值范围。当 OIDC 协议指定为该方式时,InitLoginUrl 必须指定。
only_app_init_sso
InitLoginUrlstring

初始化单点登录 SSO 触发地址。 当 OIDC 协议类型应用设置 InitLoginType 为 idaas_or_app_init_sso 时,必须指定该参数。 当 SAML 协议类型应用设置 InitLoginType 为 only_app_init_sso 时,必须指定该参数。

http://127.0.0.1:8000/start_login?enterprise_code=ABCDEF

返回参数

名称类型描述示例值
object
RequestIdstring

请求 ID。

0441BD79-92F3-53AA-8657-F8CE4A2B912A

示例

正常返回示例

JSON格式

{
  "RequestId": "0441BD79-92F3-53AA-8657-F8CE4A2B912A"
}

错误码

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
2024-09-18API 内部配置变更,不影响调用查看变更详情
2023-06-30OpenAPI 返回结构发生变更查看变更详情
2023-01-04API 内部配置变更,不影响调用查看变更详情