第 35 章
SAML 服務屬性
安全宣示標記語言 (SAML) 服務屬性為全域屬性。套用於這些屬性的值也套用於整個 Sun ONE Identity Server 配置,並且由每個配置的組織繼承。(由於全域屬性的目標是自訂 Identity Server 應用程式,因此這些值無法直接套用於角色或組織。)
如需關於 SAML 服務架構的更多資訊,請參閱「Sun ONE Identity Server Customization and API Guide」。
SAML 屬性如下所示:
網站 ID 與網站發行者名稱
此屬性包含項目清單,其中每個項目包含一個實例 ID、一個網站 ID 以及一個網站發行者名稱。在安裝期間將指定預設值。格式如下所示:
instanceid=serverprotocol://servername:portnumber|siteid=site_id|issuerName=site_issuer_na
me
為 SSL (在來源網站與目標網站中) 配置完這一屬性後,請確定 instanceid 協定為 HTTPS//。
簽名請求
此屬性指定在發送所有 SAML 請求之前,是否對其進行數位簽名 (XML DSIG)。按一下此選項會啟用此功能。
簽名回應
此屬性指定在發送所有 SAML 回應之前,是否對其進行數位簽名 (XML DSIG)。按一下此選項會啟用此功能。
無論是否啟用此選項,均會對 SAML Web POST 設定檔使用的所有 SAML 回應進行數位簽名。
簽名假設
此屬性指定在發送所有 SAML 假設之前,是否對其進行數位簽名 (XML DSIG)。按一下此選項會啟用此功能。
Artifact 名稱
此屬性為 SAML 服務配置中定義的 SAML Artifact 指定變數名稱。SAML Artifact 是大小有限資料,可以識別假設與來源網站。它作為 URL 查詢字串的一部分,透過重新導向傳遞至目標網站。預設值為 SAMLart。例如,如果使用預設 SAMLart 服務配置,則重新導向查詢字串可能為:
http:/host:port/deploy_URI/SamlAwareServlet?TARGET=http://URL/&SAMLart=artifact123
目標限定符號
此屬性為重新導向使用的目標網站 URL 指定變數名稱。預設值為 Target。
Artifact 逾時 (秒)
此屬性指定為 Artifact 建立的假設之逾時。預設值為 400。
notBefore 時間假設偏移因素
此屬性用於計算假設的 notBefore 時間。例如,如果 IssueInstant 是 2002-09024T21:39:49Z,並且假設偏移因素 notBefore 時間值設定為 300 秒 (預設值為 180),則假設條件元素的 notBefore 屬性將為 2002-09-24T21:34:49Z。
假設逾時 (秒)
此屬性指定假設發生逾時之前的秒數。預設值為 420。
|
註
|
假設的總有效持續時間由在 [notBefore 時間假設偏移因素] 屬性和 [假設逾時] 屬性中設定的值來定義。
|
|
可信任的夥伴網站
此屬性儲存夥伴的資訊,以便某個網站可以建立與另一個夥伴網站進行通訊的可信任關係。
此屬性包含項目清單,其中每個項目均包含鍵值/值對 (由「|」分隔)。每個項目均需要來源 ID。例如:
SourceID=siteid|SOAPURL=https://servername:portnumber/amserver/SAMLSOAPReceiver|AuthType=S
SL|hostlist=ipaddress (或 server DNS name、cert alias)
這些參數包括:
表 35-1 可信任夥伴網站的參數
|
|
SourceID
|
SiteID 和發行者名稱中定義的序列 (含 20 個位元組)。
|
target
|
在有連接埠號或無連接埠號的特定網域中定義此參數。如果您要存取特定網域中託管的網頁,則 target 指定由 SAMLUrl 或 POSTUrl 參數定義的重新導向至的 URL 以進行進一步處理。
如果有兩個項目 (一個包含連接埠號,另一個不包含連接埠號) 均屬於 [可信任的夥伴網站] 屬性中指定的同一網域,則包含連接埠號的項目具有較高的優先級。
例如,如果您有以下兩個可信任的夥伴網站定義:
target=sun.com|SAMLUrl=http://machine1.sun.com:8080/amserver/SAMLAwareServlet
和
target=sun.com:8080|SAMLUrl=httyp://machine2.sun.com:80/amserver/SAMLAwareServlet
並且正在尋找以下網頁:
http://somemachine.sun.com:8080/index.html
由於相符的網域與連接埠共存於 target 參數中,因此將選擇第二個定義作為 SAML 服務供應商。
|
SAMLUrl
|
定義提供了 SAML 服務的 URL。URL 中指定的 servlet 實施在 OASIS-SAML 連結與設定檔規格中定義的使用 Artifact 執行網路瀏覽器 SSO 設定檔。
|
POSTUrl
|
定義提供了 SAML 服務的 URL。URL 中指定的 servlet 實施在 OASIS-SAML 連結與設定檔規格中定義的使用 POST 執行網路瀏覽器 SSO 設定檔。
|
issuer
|
定義 Identity Server 中產生的假設之建立者。語法為 hostname:port。
|
SOAPUrl
|
指定 SOAP 收件者服務 URL。
|
AuthType
|
定義 SAML 中使用的認證類型。應該為以下一種類型:
- NOAUTH
- BASICAUTH
- SSL
- SSLWITHBASICAUTH
此參數是選擇性的,如果未指定此參數,則預設值為 NOAUTH。
如果指定了 BASICAUTH 或 SSLWITHBASICAUTH,則需要 User 參數,並且 SOAPUrl 應該為 HTTP。
|
User
|
定義用於保護其 SOAP 收件者之夥伴的使用者 ID。
|
hostlist
|
此屬性列出了指定夥伴網站中的所有主機 IP 位址和/或 certAlias,可用於向此網站傳送請求。這確保了請求者是真正的 SAML Artifact 目的收件者。
如果請求者的主機證書或用戶端證書位於收件者網站中的此清單中,服務將繼續。如果主機證書或用戶端證書與主機清單中的任一主機或證書均不相符,則 SAML 服務將拒絕請求。
|
AccountMapper
|
指定可插接式類別,該類別定義假設主題與目標網站身份關聯的方式。依預設為:
com.sun.identity.saml.plugins.DefaultAccountMapper
|
attributeMapper
|
指定 attributeMapper 所在路徑的類別。應用程式可以產生 attributeMapper,以取得 SSOToken ID 或包含查詢中 AuthenticationStatement 的假設。此對映程式然後即用於擷取主題的屬性。如果未指定任何 attributeMapper,則會使用 DefaultAttributeMapper。
|
actionMapper
|
指定 actionMapper 所在路徑的類別。應用程式可以產生 actionMapper,以取得 SSOToken ID 或包含查詢中 AuthenticationStatement 的假設。然後,對映程式即可用於擷取查詢中定義的動作之授權決定。如果未指定任何 actionMapper,則會使用 DefaultActionMapper。
|
siteAttributeMapper
|
指定 siteAttributeMapper 所在路徑的類別。應用程式可以產生 siteAttributeMapper,以取得進行 SSO 時要包含於假設中的屬性。如果未找到任何 siteAttributeMapper,則在 SSO 期間假設中將不會包含任何屬性。
|
certAlias=aliasName
|
當夥伴對假設進行了簽名,並且在已簽名假設的 KeyInfo 部分找不到夥伴證書時,指定驗證假設中簽名所使用的 certAlias 名稱。
|
下表列出了可信任夥伴網站的範例配置。不是所有實例均必須使用所有參數,因此選擇性參數會包含在方括號中。
|
寄件者
|
收件者
|
|
|
|
artifact
|
sourceid
|
sourceid
|
|
target
|
SOAPUrl
|
|
SAMLUrl
|
[accountMapper]
|
|
hostlist
|
[AuthType]
|
|
[siteAttributeMapper]
|
[User]
|
|
|
[certAlias]
|
|
|
|
POST 設定檔
|
sourceid
|
sourceid
|
|
target
|
issuer
|
|
POSTUrl
|
[accountMapper]
|
|
[siteAttributeMapper]
|
[certAlias]
|
|
|
|
SOAP 請求
|
|
sourceid
|
|
|
hostlist
|
|
|
[attributeMapper]
|
|
|
[actionMapper]
|
|
|
[certAlias]
|
|
|
[issuer]
|
|
|
|
POST 至目標 URL
如果此網站透過 SSO (Artifact 設定檔或 POST 設定檔) 收到的目標 URL 列於此屬性中,則從 SSO 接收的此假設或數個假設會透過 http: FORM POST 傳送至目標 URL。避免在 POST 中使用測試 URL 或任何其他附加 URL。