กำหนดค่า Shibboleth IdP สำหรับใช้กับ Adobe SSO

อัปเดตครั้งล่าสุดเมื่อ 16 ธ.ค. 2024

ภาพรวม

Adobe Admin Console อนุญาตให้ผู้ดูแลระบบกำหนดค่าโดเมนที่ใช้สำหรับลงชื่อเข้าใช้ผ่าน Federated ID เพื่อการลงชื่อเข้าระบบครั้งเดียว (SSO)เมื่อตรวจสอบโดเมนแล้ว ไดเรกทอรีที่มีโดเมนจะถูกกำหนดค่าเพื่อให้ผู้ใช้สามารถลงชื่อเข้าใช้ Creative Cloud ได้ผู้ใช้สามารถลงชื่อเข้าใช้โดยใช้อีเมลแอดเดรสภายในโดเมนนั้นผ่านผู้ให้บริการข้อมูลประจำตัว (IdP)กระบวนการนี้จัดเตรียมไว้เป็นบริการซอฟต์แวร์ที่ทำงานภายในเครือข่ายบริษัทและสามารถเข้าถึงได้จากอินเทอร์เน็ต หรือบริการระบบคลาวด์ที่โฮสต์โดยบุคคลที่สามซึ่งอนุญาตให้ตรวจสอบรายละเอียดการลงชื่อเข้าใช้ของผู้ใช้ผ่านการสื่อสารที่ปลอดภัยโดยใช้โปรโตคอล SAML

IdP อย่างหนึ่งคือ Shibbolethหากต้องการใช้ Shibboleth จะต้องมีเซิร์ฟเวอร์ที่เข้าถึงได้จากอินเทอร์เน็ตและสามารถเข้าถึงบริการไดเรกทอรีภายในเครือข่ายองค์กรเอกสารนี้อธิบายกระบวนการในการกำหนดค่า Admin Console และเซิร์ฟเวอร์ Shibboleth เพื่อให้สามารถลงชื่อเข้าใช้แอปพลิเคชัน Adobe Creative Cloud และเว็บไซต์ที่เกี่ยวข้องสำหรับการลงชื่อเข้าระบบครั้งเดียว

การเข้าถึง IdP โดยทั่วไปจะทำได้โดยใช้เครือข่ายแยกต่างหากที่กำหนดค่าด้วยกฎเฉพาะเพื่ออนุญาตเฉพาะการสื่อสารบางประเภทระหว่างเซิร์ฟเวอร์กับเครือข่ายภายในและภายนอก ซึ่งเรียกว่า DMZ (demilitarized zone)การกำหนดค่าระบบปฏิบัติการบนเซิร์ฟเวอร์นี้และโครงสร้างของเครือข่ายดังกล่าวอยู่นอกเหนือขอบเขตของเอกสารนี้

ข้อกำหนดเบื้องต้น

ก่อนกำหนดค่าโดเมนสำหรับการลงชื่อเข้าระบบครั้งเดียวโดยใช้ Shibboleth IDP ต้องปฏิบัติตามข้อกำหนดต่อไปนี้:

  • Shibboleth เวอร์ชันล่าสุดได้รับการติดตั้งและกำหนดค่าแล้ว
  • บัญชี Active Directory ทั้งหมดที่จะเชื่อมโยงกับบัญชี Creative Cloud สำหรับองค์กรมีอีเมลแอดเดรสที่ระบุไว้ใน Active Directory
หมายเหตุ

ขั้นตอนในการกำหนดค่า Shibboleth IDP กับ Adobe SSO ที่อธิบายในเอกสารนี้ได้รับการทดสอบกับเวอร์ชัน 3

กำหนดค่า Shibboleth

ก่อนเริ่มต้น สร้างไดเรกทอรี Federated ID โดยเลือก Other SAML Providers เป็นผู้ให้บริการข้อมูลประจำตัวคัดลอกค่าสำหรับ ACS URL และ Entity ID จากหน้าจอ Add SAML Profile

คัดลอกไฟล์ข้อมูลเมตาที่ดาวน์โหลดไปยังตำแหน่งต่อไปนี้และเปลี่ยนชื่อไฟล์เป็น adobe-sp-metadata.xml:

%{idp.home}/metadata/

อัปเดตไฟล์เพื่อให้แน่ใจว่าข้อมูลที่ถูกต้องถูกส่งกลับไปยัง 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>

รวมทั้งแทนที่:

<md:SPSSODescriptor AuthnRequestsSigned="true" WantAssertionsSigned="true" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">

ด้วย:

<md:SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">

แก้ไขไฟล์ metadata-providers.xml

อัปเดต %{idp.home}/conf/metadata-providers.xml ด้วยตำแหน่งของไฟล์ข้อมูลเมตา adobe-sp-metadata.xml (บรรทัด 29 ด้านล่าง) ที่สร้างไว้ในขั้นตอนที่ 1 ข้างต้น

    <!--
    <MetadataProvider id=&quot;HTTPMetadata&quot;
                      xsi:type=&quot;FileBackedHTTPMetadataProvider&quot;
                      backingFile=&quot;%{idp.home}/metadata/localCopyFromXYZHTTP.xml&quot;
                      metadataURL=&quot;http://WHATEVER&quot;> 
        
        <MetadataFilter xsi:type=&quot;SignatureValidation&quot; requireSignedRoot=&quot;true&quot;>
            <PublicKey>
                MIIBI.....            </PublicKey>
        </MetadataFilter>
        <MetadataFilter xsi:type=&quot;RequiredValidUntil&quot; maxValidityInterval=&quot;P30D&quot;/>
        <MetadataFilter xsi:type=&quot;EntityRoleWhiteList&quot;>
            <RetainedRole>md:SPSSODescriptor</RetainedRole>
        </MetadataFilter>
    </MetadataProvider>
    -->   

    <!--
    ตัวอย่างผู้ให้บริการข้อมูลเมตาไฟล์ใช้สิ่งนี้หากคุณต้องการโหลดข้อมูลเมตาจากไฟล์ภายในเครื่องคุณอาจใช้สิ่งนี้หากคุณมี SP ภายในเครื่องบางตัวที่ไม่ได้เป็น &quot;สหพันธ์&quot; แต่คุณต้องการเสนอบริการให้หากคุณไม่ให้ตัวกรอง SignatureValidation คุณจะต้องรับผิดชอบในการตรวจสอบให้แน่ใจว่าเนื้อหาเหล่านั้นเชื่อถือได้    -->
    
    
    <MetadataProvider id=&quot;LocalMetadata&quot;  xsi:type=&quot;FilesystemMetadataProvider&quot; metadataFile=&quot;%{idp.home}/metadata/adobe-sp-metadata.xml&quot;/>

การแก้ไขปัญหาการตั้งค่า 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 ด้านล่าง)
  • อีเมล (บรรทัด 13 ด้านล่าง)
<resolver:AttributeDefinition xsi:type=&quot;ad:Simple&quot; id=&quot;NameID&quot; sourceAttributeID=&quot;mail&quot;> 
      <resolver:Dependency ref=&quot;myLDAP&quot; /> 
      <resolver:AttributeEncoder xsi:type=&quot;SAML2StringNameID&quot; 
       xmlns=&quot;urn:mace:shibboleth:2.0:attribute:encoder&quot; 
        nameFormat=&quot;urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress&quot; /> 
      </resolver:AttributeDefinition> 
      <resolver:AttributeDefinition xsi:type=&quot;ad:Simple&quot; id=&quot;Email&quot; 
        sourceAttributeID=&quot;mail&quot;> 
        <resolver:Dependency ref=&quot;myLDAP&quot; /> 
        <resolver:AttributeEncoder xsi:type=&quot;enc:SAML2String&quot; name=&quot;Email&quot; /> 
      </resolver:AttributeDefinition> 
      <resolver:AttributeDefinition xsi:type=&quot;ad:Simple&quot; id=&quot;FirstName&quot; 
        sourceAttributeID=&quot;givenName&quot;> 
        <resolver:Dependency ref=&quot;myLDAP&quot; /> 
        <resolver:AttributeEncoder xsi:type=&quot;enc:SAML2String&quot; name=&quot;FirstName&quot; /> 
     </resolver:AttributeDefinition> 
     <resolver:AttributeDefinition xsi:type=&quot;ad:Simple&quot; id=&quot;LastName&quot; 
        sourceAttributeID=&quot;sn&quot;> 
     <resolver:Dependency ref=&quot;myLDAP&quot; /> 
    <resolver:AttributeEncoder xsi:type=&quot;enc:SAML2String&quot; name=&quot;LastName&quot; /></resolver:AttributeDefinition>

2. relying-party.xml

อัปเดต relying-party.xml ที่ตำแหน่งต่อไปนี้เพื่อรองรับรูปแบบ saml-nameid ตามที่ผู้ให้บริการ Adobe กำหนด:

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

อัปเดตแอตทริบิวต์ p:nameIDFormatPrecedence (บรรทัด 7 ด้านล่าง) เพื่อรวม emailAddress

<bean parent=&quot;RelyingPartyByName&quot; c:relyingPartyIds=&quot;[entityId&quot;> 
 <property name=&quot;profileConfigurations&quot;> 
  <list> 
   <bean parent=&quot;Shibboleth.SSO&quot; p:postAuthenticationFlows=&quot;attribute-release&quot; /> 
   <ref bean=&quot;SAML1.AttributeQuery&quot; /> 
   <ref bean=&quot;SAML1.ArtifactResolution&quot; /> 
   <bean parent=&quot;SAML2.SSO&quot; p:nameIDFormatPrecedence=&quot;urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress&quot; p:postAuthenticationFlows=&quot;attribute-release&quot; p:encryptAssertions=&quot;false&quot; /> 
   <ref bean=&quot;SAML2.ECP&quot; /> 
   <ref bean=&quot;SAML2.Logout&quot; /> 
   <ref bean=&quot;SAML2.AttributeQuery&quot; /> 
   <ref bean=&quot;SAML2.ArtifactResolution&quot; /> 
   <ref bean=&quot;Liberty.SSOS&quot; /> 
  </list> 
 </property> 
</bean>

นอกจากนี้ เพื่อปิดการเข้ารหัสของ assertions ในหัวข้อ DefaultRelyingParty สำหรับ SAML2 แต่ละประเภท:

แทนที่:

encryptAssertions="conditional"

ด้วย:

encryptAssertions="never"

3. saml-nameid.xml

อัปเดต saml-nameid.xml ที่ตำแหน่งต่อไปนี้:

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

อัปเดตแอตทริบิวต์ p:attributeSourceIds (บรรทัด 3 ด้านล่าง) เป็น "#{ {'Email'} }"

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

อัปโหลดไฟล์ข้อมูลเมตา IdP ไปยัง Adobe Admin Console

การอัปเดตไฟล์ข้อมูลเมตา Shibboleth:

กลับไปที่ Adobe Admin Console

อัปโหลดไฟล์ข้อมูลเมตา Shibboleth ไปยังหน้าจอ เพิ่มโปรไฟล์ SAML

หลังจากกำหนดค่า Shibboleth แล้ว ไฟล์ข้อมูลเมตา (idp-metadata.xml) จะพร้อมใช้งานที่ตำแหน่งต่อไปนี้ในเซิร์ฟเวอร์ Shibboleth:

<shibboleth>/metadata

เลือกเสร็จสิ้น

ทดสอบการลงชื่อเข้าระบบครั้งเดียว

ตรวจสอบการเข้าถึงของผู้ใช้สำหรับผู้ใช้ที่กำหนดไว้ในระบบจัดการข้อมูลประจำตัวของคุณเองและใน Adobe Admin Console โดยลงชื่อเข้าระบบที่ เว็บไซต์ Adobe หรือแอป Creative Cloud บนเดสก์ท็อป

หากพบปัญหา โปรดดูเอกสารแก้ไขปัญหาของเรา

หากต้องการความช่วยเหลือในการกำหนดค่าการลงชื่อเข้าระบบครั้งเดียว ให้ไปที่ Adobe Admin Console > การสนับสนุน เพื่อติดต่อการดูแลลูกค้าของ Adobe