全部產品
Search
文件中心

Dataphin:SAML配置說明

更新時間:Jan 25, 2025

本文為您介紹SAML協議配置說明。

背景資訊

SAML(Security Assertion Markup Language 安全性聲明標記語言)是一個基於XML的開源標準資料格式,用於在不同的安全域間交換身份認證和授權資料,尤其是在身份提供者IDP(Identity Provider)和服務提供者SP(Service Provider)之間。這兩者構成了前面所說的不同的安全域。

在Dataphin端填充SAML配置資訊

組建組態項dataphin.sso.saml.properties

注意:先根據提供的SAML中繼資料,填充SAML配置資訊模版,在進行base64編碼,組建組態項dataphin.sso.saml.properties。

SAML配置資訊模版

# dataphin(sp)標識ID(saml端建立應用時產生)
onelogin.saml2.sp.entityid={saml端建立應用時產生}
# dataphin(sp)回調地址
onelogin.saml2.sp.assertion_consumer_service.url=https://{dataphin地址}/sso/saml/ssoCallback
# dataphin(sp)登出地址
onelogin.saml2.sp.single_logout_service.url=https://{dataphin地址}/logout.htm
# saml(idp)設定檔地址
onelogin.saml2.idp.entityid=https://sts.windows.net/8ae0e787-99a4-40d8-aeda-bb7023b5e023/
# saml(idp)登入地址
onelogin.saml2.idp.single_sign_on_service.url={中繼資料SingleSignOnService標籤 Locationd地址填充}
# saml(idp)退出登入地址
onelogin.saml2.idp.single_logout_service.url={中繼資料SingleLogoutService標籤 Locationd地址填充}
# saml(idp)認證在(saml頁面下載)
onelogin.saml2.idp.x509cert={原資料提供的x509cert密鑰}
# smal使用者資訊解析key
onelogin.saml2.userInfoKeys={"sourceUserId":"http://schemas.microsoft.com/identity/claims/objectidentifier","displayName":"http://schemas.microsoft.com/identity/claims/displayname","email":"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress","mobilePhone":""}

配置項

說明

onelogin.saml2.sp.entityid

SAML端建立應用時產生。

onelogin.saml2.sp.assertion_consumer_service.url

回調地址。格式為:https://{dataphin地址}/sso/saml/ssoCallback,需要將{dataphin地址}替換為您部署的Dataphin的地址。

onelogin.saml2.sp.single_logout_service.url

登出地址。格式為:https://{dataphin地址}/logout.htm,需要將{dataphin地址}替換為您部署的Dataphin的地址。

onelogin.saml2.idp.entityid

IDP的唯一標識,可從下載的IDP中繼資料中擷取。

image..png

onelogin.saml2.idp.single_sign_on_service.url

IDP的登入和退出地址,可從IDP的中繼資料中擷取。

image..png

onelogin.saml2.idp.single_logout_service.ur

IDP的退出地址,擷取方式同onelogin.saml和idp.single_sign_on_service.url。

onelogin.saml2.idp.x509cert

IDP的認證。

image.png

onelogin.saml2.userInfoKeys

SMAL使用者資訊解析key。根據客戶SAML中繼資料中的auth:ClaimType標籤擷取 sourceUserId(使用者唯一id)、displayName(展示名稱)、email、mobilePhone對應的Uri,填充到JSON中(無則不填充key)。

{
"sourceUserId":"http://schemas.microsoft.com/identity/claims/objectidentifier",
"displayName":"http://schemas.microsoft.com/identity/claims/displayname",
"email":"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress",
 "mobilePhone":""
}
說明

不同客戶的標籤不一樣,需確認使用者的唯一ID。

Dataphin SSO相關配置項

Dataphin設定檔 values.yaml 中如下三個欄位與開啟SAML認證功能相關,您需提供以下配置資訊給Dataphin營運人員。

product:
  dataphin:
    sso:
      provider:
      	# 設定使用SAML帳號和認證. 固定使用如下標識
        session: 'com.alibaba.dataphin.sso.provider.saml.session.SamlSessionProvider'
        account: 'com.alibaba.dataphin.sso.provider.saml.account.SamlAccountProvider'
    security:
    	# 設定SAML2協議配置
      saml2: {properties: 'Base64編碼的SAML properties檔案內容=='}

按照上述樣本進行配置即可開啟SAML帳號和認證功能。

歷史使用者切換認證系統

  • Dataphin userTable中儲存了使用者的源id(以下稱source_user_id)和Dataphin user_id(以下稱user_id)。在Dataphin業務執行中,將使用user_id作為使用者標識,source_user_id用於使用者資訊轉換。

  • 當使用者在idp登入後,攜帶source_user_id到Dataphin,Dataphin通過userTable將source_user_id轉換為user_id,使用者轉換完成。

因此在歷史使用者升級時,需要做source_user_id的訂正,以方便新系統的使用者可以直接映射成Dataphin中相應的成員。

例如:客戶從阿里雲的登入系統,切換到微軟的AD,此時Dataphin的超管為小明,則需要將小明這個使用者在阿里雲中的id,替換為其在微軟AD中的id。

  • 在資訊映射表中,至少應包含兩個列:fromId、toId。fromId表示之前idp中的id,toId表示新idp中的id。

  • 未進行訂正的使用者將無法再訪問Dataphin,若其為某些許可權的所有人(比如某些許可權的審批人),則有可能影響業務。所以在使用者訂正時,需要客戶仔細核實所提供表格,避免訂正遺漏或錯誤

    使用者名稱

    fromId

    toId

    小明

    aliyun123

    ms_ad_124

    SuperAdmin

    aliyun666

    ms_ad_666