设置一个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 |
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 |
AssertionSigned | boolean | 否 | Assertion 是否需要签名。ResponseSigned 和 AssertionSigned 不能同时为 false。
| true |
AttributeStatements | array<object> | 否 | 在 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/ |
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 协议授权模式列表。 | |
string | 否 | 支持的 OIDC 协议授权模式,取值可选范围:
| authorization_code | |
ResponseTypes | array | 否 | 当 OidcSsoConfig.GrantTypes 包含指定 implicit 隐式模式后,应用支持的返回类型。 | |
string | 否 | OIDC 协议标准参数 ResponseType,只有指定了 GrantTypes 包含 implicit 隐式模式才生效,取值可选范围:
| token id_token | |
GrantScopes | array | 否 | OIDC 协议标准参数 scope,用于指定 userinfo 端点或者 id_token 可以返回的用户属性范围。 | |
string | 否 | OIDC 协议标准参数 scope,用于指定 userinfo 端点或者 id_token 可以返回的用户属性范围,取值可选范围:
| 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 的算法。 | |
string | 否 | PKCE 中计算 Code Challenge 的算法,取值可选范围:
| S256 | |
AccessTokenEffectiveTime | long | 否 | 签发的 access token 有效时间,单位为秒,默认 1200 秒(20 分钟)。 | 1200 |
CodeEffectiveTime | long | 否 | 签发的 code 有效时间,单位为秒,默认为 60 秒(1 分钟)。 | 60 |
IdTokenEffectiveTime | long | 否 | 签发的 id token 有效时间,单位为秒,默认为 300 秒(5 分钟)。 | 300 |
RefreshTokenEffective | long | 否 | 签发的 refresh token 有效时间,单位为秒,默认为 86400 秒(1 天)。 | 86400 |
CustomClaims | array<object> | 否 | 自定义 id token 返回包含的用户信息。 | |
object | 否 | |||
ClaimName | string | 否 | 返回的 claim 名称。 | "Role" |
ClaimValueExpression | string | 否 | 返回的 claim 取值表达式。 | user.dict.applicationRole |
SubjectIdExpression | string | 否 | 自定义 id token 返回的 sub 取值表达式。 | user.userid |
InitLoginType | string | 否 | 初始化单点登录 SSO 方式,取值可选范围:
| 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 |
返回参数
示例
正常返回示例
JSON
格式
{
"RequestId": "0441BD79-92F3-53AA-8657-F8CE4A2B912A"
}
错误码
访问错误中心查看更多错误码。
变更历史
变更时间 | 变更内容概要 | 操作 |
---|---|---|
2024-09-18 | API 内部配置变更,不影响调用 | 查看变更详情 |
2023-06-30 | OpenAPI 返回结构发生变更 | 查看变更详情 |
2023-01-04 | API 内部配置变更,不影响调用 | 查看变更详情 |