You need to enable JavaScript to run this app.
导航
使用KeyCloak配置SAML角色SSO的示例
最近更新时间:2024.10.23 20:18:50首次发布时间:2024.10.23 20:18:50
操作
  1. 在KeyCloak中,查看并保存KeyCloak IDP元数据文件,需保存为XML文件

  1. 在火山引擎-访问控制中,新建身份提供商,身份提供商类型选择SAML,下载火山引擎角色SSO的服务提供商元数据文件,保存为XML文件。上传KeyCloak IDP元数据文件。

  1. 在火山引擎-访问控制中,新建角色,信任身份类型选择“身份提供商”,身份提供商类型选择“SAML” ,选择已创建角色SSO的身份提供商,并配置该角色对应角色名称和对应授权。保存该角色TRN信息,以备后续配置使用。

  1. 在KeyCloak中添加客户端,并上传火山引擎用户SSO的服务提供商元数据文件。

  1. 设置客户端相关信息,可参考如下:
  • 客户端ID(Client ID):可通过火山引擎角色SSO的服务提供商元数据文件自动识别,是火山引擎提供的entityID。

  • 名称ID格式(Name ID Format):transient

  • 有效重定向URI(Valid Redirect URIs ):https://signin.volcengine.com/saml/sso,火山引擎提供的ACS URL

  • 根URL(Base URL):填写完成“IDP发起的 SSO URL 名称”后截取“Target IDP initiated SSO URL”中根URL。

  • IDP发起的 SSO URL 名称(IDP Initiated SSO URL Name):volcengine_role

  1. 配置KeyCloak角色信息:在KeyCloak已创建客户端内添加角色,角色名称取值为角色TRN,格式为:trn:iam::${AccountID}:role/${RoleName},trn:iam::${AccountID}:saml-provider/${SAMLProviderName}。其中AccountID为您的火山引擎账号ID,RoleName为IAM角色名称,SAMLProviderName为身份提供商名称,中间用英文逗号分隔。

  1. 配置KeyCloak断言属性:在 KeyCloak 已创建的客户端创建断言属性。断言属性至少包括身份属性(identity)和会话名称属性(sessionName) 。

    如上传火山引擎用户SSO的服务提供商元数据文件已自动生成,需删除后重新创建。

    1. 创建身份属性,配置信息参考如下内容:

      1. 名称:https://www.volcengine.com/SAML/Attributes/Identity。

      2. 映射器类型:Role list。

      3. Role attribute name:https://www.volcengine.com/SAML/Attributes/Identity

      4. Friendly Name:identity。

      5. SAML Attribute NameFormat:Basic。

    2. 创建会话名称属性,配置信息参考如下内容:

      1. 名称:https://www.volcengine.com/SAML/Attributes/SessionName。

      2. 映射器类型:User Property。

      3. 属性:username。

      4. Friendly Name:SessionName。

      5. SAML Attribute Name:https://www.volcengine.com/SAML/Attributes/SessionName

      6. SAML Attribute NameFormat:Basic。

    1. 关闭全范围映射

    1. 在KeyCloak已创建客户端-客户端模版中,删除 Assigned Default Client Scopes 中的 role_list。

  1. 配置KeyCloak用户信息:添加用户“张三”,配置登录密码信息,并配置该用户的角色映射信息,选择客户端已创建角色添加。

结果验证

从KeyCloak发起单点登录

  1. 在 KeyCloak 中单击创建的客户端根 URL。
  2. 输入已创建KeyCloak用户的用户名和密码
  3. 成功跳转至火山引擎

从火山引擎发起单点登录:

  1. 在火山引擎登录页面选择“企业联邦登录”,选择需要登录的账号和身份提供商,点击“立即登录”。

  2. 输入已创建KeyCloak用户的用户名和密码

  3. 成功跳转至火山引擎