Konfigurowanie usługi IdP Shibboleth na potrzeby logowania SSO do rozwiązań Adobe

Ostatnia aktualizacja 16 gru 2024

Przegląd

Administrator może skonfigurować w serwisie Adobe Admin Console domeny, które będą umożliwiać pojedyncze logowanie (SSO) z użyciem identyfikatora Federated ID. Po zweryfikowaniu domeny katalog ją zawierający zostanie skonfigurowany tak, aby umożliwić użytkownikom logowanie się do usługi Creative Cloud. Użytkownicy mogą korzystać z usługi IdP (dostawcy tożsamości), aby logować się z użyciem adresów e-mail należących do tej domeny. Proces ten jest obsługiwany przez usługę programową uruchomioną w sieci korporacyjnej i dostępną z Internetu albo przez usługę w chmurze udostępnianą przez firmę zewnętrzną, która umożliwia weryfikację danych logowania użytkownika przez bezpieczne połączenie nawiązywane z użyciem protokołu SAML.

Jedną z takich usług IdP (dostawców tożsamości) jest usługa Shibboleth. Aby korzystać z usługi Shibboleth, potrzebny jest dostępny z Internetu serwer mający dostęp do usług katalogowych w sieci korporacyjnej. W tym dokumencie opisano proces konfigurowania serwisu Admin Console i serwera Shibboleth w sposób umożliwiający pojedyncze logowanie do aplikacji Adobe Creative Cloud i powiązanych z nimi serwisów internetowych.

Dostęp do usługi IdP jest zwykle realizowany z użyciem osobnej sieci skonfigurowanej w sposób dopuszczający tylko ściśle określone rodzaje komunikacji między serwerami a siecią wewnętrzną i zewnętrzną — jest to tzw. strefa zdemilitaryzowana (DMZ). Opis topologii takiej sieci oraz konfiguracji systemu operacyjnego takiego serwera wykracza poza zakres tego dokumentu.

Wymagania wstępne

Zanim będzie można skonfigurować domenę na potrzeby logowania SSO z użyciem Shibboleth jako usługi IdP, muszą zostać spełnione następujące wymagania:

  • Musi być zainstalowana i skonfigurowana najnowsza wersja oprogramowania Shibboleth.
  • Wszystkie konta Active Directory, które zostaną powiązane z kontem Creative Cloud dla przedsiębiorstw, muszą mieć w katalogu Active Directory zdefiniowane adresy e-mail.
Spostrzeżenie

Opisane w tym dokumencie kroki konfigurowania usługi Shibboleth IdP na potrzeby logowania SSO do rozwiązań Adobe zostały przetestowane w wersji 3.

Konfigurowanie usługi Shibboleth

Przed rozpoczęciem utwórz katalog Federated ID, wybierając Other SAML Providers jako dostawcę tożsamości. Skopiuj wartości Adres URL usługi ACS (ACS URL) oraz Identyfikator podmiotu (Entity ID) z ekranu Dodaj profil SAML.

Skopiuj pobrany plik metadanych do następującej lokalizacji i zmień jest nazwę na adobe-sp-metadata.xml:

%{idp.home}/metadata/

Zaktualizuj ten plik, aby do systemów Adobe były zwracane odpowiednie informacje.

Zastąp następujące wiersze w pliku:

<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>

Poniższymi wierszami:

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

Zastąp także wiersz:

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

Poniższym wierszem:

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

Edytuj plik metadata-providers.xml.

Zaktualizuj plik %{idp.home}/conf/metadata-providers.xml, wprowadzając w nim lokalizację pliku metadanych adobe-sp-metadata.xml (wiersz 29 na poniższej ilustracji), utworzonego wcześniej w kroku 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>
    -->   

    <!--
    Przykładowy dostawca metadanych pliku.  Skorzystaj z tej metody, jeśli chcesz załadować metadane
    z pliku lokalnego.  Takie rozwiązanie można zastosować, jeśli korzystasz z lokalnych usługodawców, którzy nie są objęci federacją, ale którym chcesz zaoferować usługę.
    
    Jeśli nie użyjesz filtru SignatureValidation, to musisz samodzielnie zadbać o to, aby zawartość pliku była godna zaufania.
    -->
    
    
    <MetadataProvider id=&quot;LocalMetadata&quot;  xsi:type=&quot;FilesystemMetadataProvider&quot; metadataFile=&quot;%{idp.home}/metadata/adobe-sp-metadata.xml&quot;/>

Rozwiązywanie problemów z konfiguracją Shibboleth

Jeśli nie możesz się zalogować w serwisie adobe.com, sprawdź następujące pliki konfiguracyjne usługi Shibboleth w poszukiwaniu problemów:

1. attribute-resolver.xml

Plik filtra atrybutów, zaktualizowany podczas konfigurowania usługi Shibboleth. Znajdują się w nim definicje atrybutów podawanych dostawcy usług Adobe. Konieczne jest jednak odwzorowanie tych atrybutów na odpowiednie atrybuty zdefiniowane w katalogu LDAP / Active Directory organizacji.

Zmodyfikuj plik attribute-resolver.xml znajdujący się w następującej lokalizacji:

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

Dla każdego z następujących atrybutów podaj identyfikator atrybutu źródłowego zdefiniowany w organizacji:

  • FirstName (wiersz 1 poniżej)
  • LastName (wiersz 7 poniżej)
  • Email (wiersz 13 poniżej)
<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

Zaktualizuj plik relying-party.xml znajdujący się w następującej lokalizacji, aby był w nim używany format saml-nameid wymagany przez dostawcę usług Adobe:

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

Zaktualizuj atrybut p:nameIDFormatPrecedence (w wierszu 7 poniżej), tak aby zawierał również parametr 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>

Aby wyłączyć szyfrowanie asercji, zamień także następujące informacje w sekcji DefaultRelyingParty każdego z typów SAML2:

Zastąp następujący wiersz:

encryptAssertions="conditional"

Poniższymi wierszami:

encryptAssertions=”never"

3. saml-nameid.xml

Zaktualizuj plik saml-nameid.xml znajdujący się w następującej lokalizacji:

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

Zmień wartość atrybutu p:attributeSourceIds (w wierszu 3 poniżej) na "#{ {'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; />

Przesyłanie pliku metadanych usługi IdP do serwisu Adobe Admin Console

Aby zaktualizować plik metadanych usługi Shibboleth:

Wróć do serwisu Adobe Admin Console.

Prześlij plik metadanych usługi Shibboleth na ekranie Dodaj profil SAML.

Po skonfigurowaniu tej usługi plik metadanych (idp-metadata.xml) będzie dostępny w następującej lokalizacji na serwerze Shibboleth:

<shibboleth>/metadata

Wybierz opcję Gotowe.

Testowanie pojedynczego logowania

Sprawdź dostęp użytkownika zdefiniowanego we własnym systemie zarządzania tożsamościami oraz w usłudze Adobe Admin Console, logując się w Witryna Adobe lub w aplikacji komputerowej Creative Cloud Desktop.

Jeśli wystąpią problemy, zapoznaj się z dokumentacją dotyczącą ich rozwiązywania.

Jeśli potrzebna jest pomoc przy konfiguracji logowania jednokrotnego, przejdź do Adobe Admin Console > Support , aby skontaktować się z Obsługa klienta Adobe.