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:SetApplicationSsoConfig

create

*Application

acs:eiam:{#regionId}:{#accountId}:instance/{#InstanceId}/application/{#ApplicationId}

请求参数

名称

类型

必填

描述

示例值

InstanceId

string

实例 ID。

idaas_ue2jvisn35ea5lmthk267xxxxx

ApplicationId

string

应用 ID。

app_mkv7rgt4d7i4u7zqtzev2mxxxx

SamlSsoConfig

object

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

SpSsoAcsUrl

string

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

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

SpEntityId

string

应用(SP)的 SAML 的 EntityId。

urn:alibaba:cloudcomputing

NameIdFormat

string

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

NameIdValueExpression

string

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

user.email

DefaultRelayState

string

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

https://home.console.aliyun.com

SignatureAlgorithm

string

SAML 断言签名算法。

RSA-SHA256

ResponseSigned

boolean

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

  • true:需要签名。

  • false:不需要签名。

true

AssertionSigned

boolean

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

  • true:需要签名。

  • false:不需要签名。

true

AttributeStatements

array

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

object

AttributeName

string

SAML 断言中属性的 Name。

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

AttributeValueExpression

string

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

user.username

IdPEntityId

string

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

https://example.com/

OptionalRelayStates

array

可选的 RelayState 配置。

object

可选的 RelayState 配置。

RelayState

string

RelayState 取值。

https://ram.console.aliyun.com/

DisplayName

string

RelayState 的显示名称。

Ram

OidcSsoConfig

object

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

RedirectUris

array

应用支持的 RedirectUri 列表。

string

应用支持的 RedirectUri。

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

PostLogoutRedirectUris

array

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

string

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

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

GrantTypes

array

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

authorization_code

string

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

  • authorization_code:授权码模式。

  • implicit:隐式模式。

  • refresh_token:令牌刷新模式。

  • urn:ietf:params:oauth:grant-type:device_code:设备模式。

  • password:密码模式。

authorization_code

ResponseTypes

array

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

token id_token

string

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

  • token:只返回 access token。

  • id_token:只返回 id token。

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

token id_token

GrantScopes

array

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

profile,email

string

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

  • openid:OIDC 标准参数,用户唯一 id。

  • profile:用户详细信息。

  • email:用户邮箱信息。

  • phone:用户手机信息。

openid

PasswordTotpMfaRequired

boolean

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

true

PasswordAuthenticationSourceId

string

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

ia_password

PkceRequired

boolean

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

true

PkceChallengeMethods

array

PKCE 中计算 Code Challenge 的算法。

S256

string

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

  • plain:原文。

  • S256:SHA 256 算法。

S256

AccessTokenEffectiveTime

integer

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

1200

CodeEffectiveTime

integer

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

60

IdTokenEffectiveTime

integer

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

300

RefreshTokenEffective

integer

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

86400

CustomClaims

array

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

object

ClaimName

string

返回的 claim 名称。

"Role"

ClaimValueExpression

string

返回的 claim 取值表达式。

user.dict.applicationRole

SubjectIdExpression

string

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

user.userid

AllowedPublicClient

boolean

应用是否允许作为公共客户端请求 IDaaS EIAM 授权服务器。只支持授权码模式和设备模式启用,默认为 false。

true

InitLoginType

string

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

  • only_app_init_sso:仅应用发起 SSO,OIDC 协议应用默认取值。当 SAML 应用指定为该方式时,InitLoginUrl 必须指定。

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

only_app_init_sso

InitLoginUrl

string

初始化单点登录 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

ClientToken

string

保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。只支持 ASCII 字符,且不能超过 64 个字符。更多信息,请参见如何保证幂等性。

client-examplexxx

返回参数

名称

类型

描述

示例值

object

RequestId

string

请求 ID。

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

示例

正常返回示例

JSON格式

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

错误码

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

变更历史

更多信息,参考变更详情