概觀

Admin Console 可讓系統管理員設定用於透過單一登入 (SSO) 適用之 Federated ID 進行登入作業的網域。在使用 DNS Token 來展示網域擁有權後,就能設定網域,讓使用者登入 Creative Cloud。使用者可以透過身分提供者 (IdP),使用該網域內的電子郵件地址登入。此流程會以在公司網路內執行的軟體服務的形式佈建,並且可從網際網路存取,或者以協力廠商代管的雲端服務的形式佈建,可利用 SAML 通訊協定透過安全通訊來驗證使用者的登入詳細資料。

其中一種 IdP 便是 Shibboleth。若要使用 Shibboleth,伺服器應設定為可從網際網路存取,且可以在企業網路中存取目錄服務。本文件旨在說明設定 Admin Console 和 Shibboleth 伺服器的流程,以便登入 Adobe Creative Cloud 應用程式和單一登入適用的相關網站。

一般而言,系統會利用不同的網路存取 IdP,這類網路設有特定規則,目的是為了只允許伺服器與內部和外部網路間的特定通訊類型,稱為 DMZ (邊界網路)。此伺服器的作業系統設定以及該網路的拓撲已超出本文件的範圍。

先決條件

在使用 Shibboleth IDP 設定單一登入的網域前,您必須符合下列要求:

  • 為 Adobe 組織帳戶取得獲得核准的網域。Adobe Admin Console 中的網域狀態必須為「需要設定」。
  • 已安裝並設定最新版本的 Shibboleth。
  • 所有與 Creative Cloud 企業帳戶相關聯的 Active Directory 帳戶都必須有 Active Directory 內所列的電子郵件地址。

註解:

本文件對於利用 Adobe SSO 設定 Shibboleth IDP 的步驟已經過第 3 版的測試。

設定 Adobe Admin Console

若要在 Admin Console 上設定 Shibboleth IdP,請遵循以下步驟:

  1. Admin Console 中,導覽至「設定 > 身分」

    「身分」頁面會列出您組織中的網域。

  2. 按一下您要設定的網域名稱。

  3. 按一下「設定 SSO」

    「設定網域」精靈隨即開啟。

    設定網域
  4. 若要上傳 IdP 憑證,請按一下「上傳」並導覽至憑證檔案:

    %{idp.home}/credentials/idp-signing.crt

  5. 「IdP 繫結」設為「重新導向」。

  6. 針對「使用者登入設定」選擇「電子郵件地址」。

  7. 「IDP 簽發者」欄位中輸入下列 URL:

    https://<claimed domain server name:port>/idp/shibboleth

  8. 「IDP 登入 URL」欄位中輸入下列 URL:

    https://<claimed domain server name:port>/idp/profile/SAML2/Redirect/SSO

  9. 按一下「完成設定」

  10. 若要下載 SAML XML 中繼資料檔案,請按「下載中繼資料」

    在下載中繼資料檔案後,您必須更新檔案以確保將正確資訊傳回 Adobe。

    在檔案中,請取代下列行的內容:

    <md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:persistent</md:NameIDFormat>

    <md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</md:NameIDFormat>

    為:

    <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat>

  11. 按一下「啟用網域」

    您的網域現已生效。

設定 Shibboleth

在您從 Adobe Admin Console 下載 SAML XML 中繼資料檔案後,請遵循下列步驟以更新 Shibboleth 設定檔案。

  1. 將下載的中繼資料檔案複製到以下位置,並將檔案重新命名為 adobe-sp-metadata.xml:

    %{idp.home}/metadata/

  2. 編輯 attribute-filter.xml 檔案。

    Adobe 服務提供者要求在 SAML 回應中輸入使用者的名字姓氏電子郵件

    編輯 %{idp.home}/conf/attribute-filter.xml 檔案,插入 AttributeFilterPolicy 節點以包含 FirstName、LastName 及 Email 屬性,如下所示 (第 17 至 31 行):

    <?xml version="1.0" encoding="UTF-8"?>
    <!-- 
        This file is an EXAMPLE policy file.  While the policy presented in this 
        example file is illustrative of some simple cases, it relies on the names of
        non-existent example services and the example attributes demonstrated in the
        default attribute-resolver.xml file.
        
        Deployers should refer to the documentation for a complete list of components
        and their options.
    -->
    <AttributeFilterPolicyGroup id="ShibbolethFilterPolicy"
            xmlns="urn:mace:shibboleth:2.0:afp"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="urn:mace:shibboleth:2.0:afp http://shibboleth.net/schema/idp/shibboleth-afp.xsd">
    
        <!-- Release some attributes to an SP. -->
        <AttributeFilterPolicy id="AdobeSP">
            <PolicyRequirementRule xsi:type="Requester" value="https://www.okta.com/saml2/service-provider/spi852ccrrph9JfWw0h7" />
    
            <AttributeRule attributeID="FirstName">
                <PermitValueRule xsi:type="ANY" />
            </AttributeRule>
    
            <AttributeRule attributeID="LastName">
                <PermitValueRule xsi:type="ANY" />
            </AttributeRule>
    
            <AttributeRule attributeID="Email">
                <PermitValueRule xsi:type="ANY" />
            </AttributeRule>
        </AttributeFilterPolicy>
       
    
    </AttributeFilterPolicyGroup>
  3. 編輯 metadata-providers.xml 檔案。

    %{idp.home}/conf/metadata-providers.xml 更新為您在上方第 1 步建立的 adobe-sp-metadata.xml metadata 檔案的位置 (下方第 29 行)。

        <!--
        <MetadataProvider id="HTTPMetadata"
                          xsi:type="FileBackedHTTPMetadataProvider"
                          backingFile="%{idp.home}/metadata/localCopyFromXYZHTTP.xml"
                          metadataURL="http://WHATEVER"> 
            
            <MetadataFilter xsi:type="SignatureValidation" requireSignedRoot="true">
                <PublicKey>
                    MIIBI.....
                </PublicKey>
            </MetadataFilter>
            <MetadataFilter xsi:type="RequiredValidUntil" maxValidityInterval="P30D"/>
            <MetadataFilter xsi:type="EntityRoleWhiteList">
                <RetainedRole>md:SPSSODescriptor</RetainedRole>
            </MetadataFilter>
        </MetadataProvider>
        -->   
    
        <!--
        Example file metadata provider.  Use this if you want to load metadata
        from a local file.  You might use this if you have some local SPs
        which are not "federated" but you wish to offer a service to.
        
        If you do not provide a SignatureValidation filter, then you have the responsibility to
        ensure that the contents are trustworthy.
        -->
        
        
        <MetadataProvider id="LocalMetadata"  xsi:type="FilesystemMetadataProvider" metadataFile="%{idp.home}/metadata/adobe-sp-metadata.xml"/>

疑難排解 Shibboleth 設定

如果您無法順利登入 adobe.com,請檢查下列 Shibboleth 設定檔案以找出任何可能的問題:

1. attribute-resolver.xml

您在「設定 Shibboleth」時更新的屬性篩選檔案,會定義需要提供給 Adobe 服務提供者的屬性。然而,這些屬性必須對應至貴組織在 LDAP/Active Directory 中所定義的適當屬性。

在以下位置編輯 attribute-resolver.xml 檔案:

%{idp.home}/conf/attribute-resolver.xml

請依照組織的定義,指定下列每個屬性的來源屬性 ID:

  • FirstName (下方第 1 行)
  • LastName (下方第 7 行)
  • Email (下方第 13 行)
    <resolver:AttributeDefinition id="Email" xsi:type="ad:Simple" sourceAttributeID="mail">
        <resolver:Dependency ref="myLDAP" />
        <resolver:AttributeEncoder xsi:type="enc:SAML1String" name="urn:mace:dir:attribute-def:mail" encodeType="false" />
        <resolver:AttributeEncoder xsi:type="enc:SAML2String" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified" name="Email" encodeType="false" />
    </resolver:AttributeDefinition>
    
    <resolver:AttributeDefinition id="LastName" xsi:type="ad:Simple" sourceAttributeID="sn">
        <resolver:Dependency ref="myLDAP" />
        <resolver:AttributeEncoder xsi:type="enc:SAML1String" name="urn:mace:dir:attribute-def:sn" encodeType="false" />
        <resolver:AttributeEncoder xsi:type="enc:SAML2String" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified" name="LastName" encodeType="false" />
    </resolver:AttributeDefinition>
    
    <resolver:AttributeDefinition id="FirstName" xsi:type="ad:Simple" sourceAttributeID="givenName">
        <resolver:Dependency ref="myLDAP" />
        <resolver:AttributeEncoder xsi:type="enc:SAML1String" name="urn:mace:dir:attribute-def:givenName" encodeType="false" />
        <resolver:AttributeEncoder xsi:type="enc:SAML2String" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified" name="FirstName" encodeType="false" />
    </resolver:AttributeDefinition>

2. relying-party.xml

在以下位置更新 relying-party.xml 以支援 Adobe 服務提供者要求的 saml-nameid 格式:

%{idp.home}/conf/relying-party.xml

更新 p:nameIDFormatPrecedence 屬性 (下方第 7 行) 以包含 emailAddress

    <bean id="shibboleth.DefaultRelyingParty" parent="RelyingParty">
        <property name="profileConfigurations">
            <list>
                <bean parent="Shibboleth.SSO" p:postAuthenticationFlows="attribute-release" />
                <ref bean="SAML1.AttributeQuery" />
                <ref bean="SAML1.ArtifactResolution" />
                <bean parent="SAML2.SSO" p:nameIDFormatPrecedence="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" p:postAuthenticationFlows="attribute-release" />
                <ref bean="SAML2.ECP" />
                <ref bean="SAML2.Logout" />
                <ref bean="SAML2.AttributeQuery" />
                <ref bean="SAML2.ArtifactResolution" />
                <ref bean="Liberty.SSOS" />
            </list>
        </property>
    </bean>

3. saml-nameid.xml

在以下位置更新 saml-nameid.xml:

%{idp.home}/conf/saml-nameid.xml

p:attributeSourceIds 屬性 (下方第 3 行) 更新為 "#{ {'Email'} }"

        <bean parent="shibboleth.SAML2AttributeSourcedGenerator"
            p:format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"
            p:attributeSourceIds="#{ {'Email'} }" />

測試單一登入

以 Active Directory 建立測試使用者。在 Admin Console 中建立此使用者的項目並為其指派一份授權。然後測試登入 Adobe.com 以確認列出相關軟體以供下載。

此産品由 Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License 授權  Creative Commons 條款未涵蓋 Twitter™ 與 Facebook 文章。

法律說明   |   線上隱私權政策