Adobe SSO와 함께 사용하기 위한 Shibboleth IdP 구성

개요

시스템 관리자는 Adobe Admin Console을 사용하여 SSO(Single Sign-On)용 Federated ID를 통한 로그인에 사용되는 도메인을 구성할 수 있습니다. 도메인이 확인되고 나면 도메인이 포함된 디렉터리는 사용자가 Creative Cloud에 로그인하는 것을 허용하도록 구성됩니다. 사용자는 ID 공급자(IdP)를 통해 해당 도메인 내에서 이메일 주소를 사용하여 로그인할 수 있습니다. 이 프로세스는 회사 네트워크 내에서 실행되고 인터넷을 통해 액세스할 수 있는 소프트웨어 서비스나 SAML 프로토콜을 사용하는 보안 커뮤니케이션을 통해 사용자 로그인 세부 정보를 확인할 수 있는 서드파티에서 호스팅하는 클라우드 서비스로 제공됩니다.

이와 같은 IdP 중 하나는 Shibboleth입니다. Shibboleth를 사용하려면 인터넷을 통해 액세스할 수 있고 회사 네트워크 내에서 디렉터리 서비스에 대한 액세스 권한을 갖는 서버가 필요합니다. 이 문서에서는 Single Sign-On에 대해 Adobe Creative Cloud 애플리케이션 및 관련 웹 사이트에 로그인할 수 있도록 Admin Console과 Shibboleth 서버를 구성하기 위한 프로세스를 설명합니다.

일반적으로 IdP에 대한 액세스 권한은 서버와 DMZ(Demilitarized Zone)로 불리는 내부 및 외부 네트워크 간 특정 유형의 커뮤니케이션만 허용하도록 특정 규칙으로 구성된 별도의 네트워크를 통해 부여됩니다. 이 서버의 운영 체제에 대한 구성과 이러한 네트워크의 구조는 이 문서에서 다루지 않습니다.

사전 요구 사항

Shibboleth IDP를 사용하는 Single Sign-On에 대한 도메인을 구성하기에 앞서 다음과 같은 요구 조건이 충족되어야 합니다.

  • 최신 버전의 Shibboleth가 설치되고 구성되어야 합니다.
  • Creative Cloud for enterprise 계정에 연결될 모든 액티브 디렉터리 계정은 액티브 디렉터리 내에 목록화된 이메일 주소를 가져야 합니다.
참고:

이 문서에서 설명하는 Adobe SSO와의 Shibboleth IDP 구성을 위한 단계는 버전 3을 사용하여 테스트되었습니다.

Shibboleth을 사용하여 Single Sign-On 구성

도메인에 대한 Single Sign-On을 구성하려면 다음 단계를 수행하십시오.

  1. Admin Console에 로그인하고 Federated ID 디렉터리 생성부터 시작하여 ID 공급자로 기타 SAML 공급자를 선택합니다. SAML 프로필 추가 화면에서 ACS URL 및 엔티티 ID 값을 복사합니다.
  2. ACS URL 및 엔티티 ID를 지정하는 Shibboleth를 구성하고 Shibboleth 메타데이터 파일을 다운로드합니다.
  3. Adobe Admin Console로 돌아와 SAML 프로필 추가 화면에서 Shibboleth 메타데이터 파일을 업로드하고 완료를 클릭합니다.

Shibboleth 구성

Adobe Admin Console에서 SAML XML 메타데이터 파일을 다운로드한 후 아래 단계에 따라 Shibboleth 구성 파일을 업데이트합니다.

  1. 다운로드한 메타데이터 파일을 다음 위치에 복사하고 파일 이름을 adobe-sp-metadata.xml로 변경합니다.

    %{idp.home}/metadata/

  2. 올바른 정보가 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">

  3. metadata-providers.xml 파일을 편집합니다.

    위의 단계 1에서 생성한 adobe-sp-metadata.xml 메타데이터 파일(아래 29행)의 위치로 %{idp.home}/conf/metadata-providers.xml을 업데이트합니다.

        <!-- <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가 “페더레이션”되지 않았지만 서비스를 제공하려는 경우 이 옵션을 사용할 수 있습니다. 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 / 액티브 디렉터리에서 정의된 대로 적절한 속성에 매핑해야 합니다.

다음 위치에서 attribute-resolver.xml 파일을 편집합니다.

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

다음 각각의 속성에 대해 귀사에서 정의한 대로 소스 속성 ID를 지정합니다.

  • FirstName (아래 1행)
  • LastName (아래 7행)
  • Email (아래 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 파일을 업데이트하여 Adobe 서비스 제공자에게 필요한 saml-nameid 포맷을 지원하도록 합니다.

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

또한 어설션의 암호화를 해제하려면 각 SAML2 유형에 대한 DefaultRelyingParty 섹션에서 다음을 수행합니다.

대체:

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;#{ {&#39;Email&#39;} }&quot; />

Adobe Admin Console에 IdP 메타데이터 파일 업로드

Shibboleth 메타데이터 파일을 업데이트하려면:

  1. Adobe Admin Console로 돌아옵니다.

  2. Shibboleth 메타데이터 파일을 SAML 프로필 추가 화면에 업로드합니다.

    Shibboleth를 구성한 후 Shibboleth 서버의 다음 위치에서 메타데이터 파일(idp-metadata.xml)을 사용할 수 있습니다.

    <shibboleth>/metadata

  3. 완료를 클릭합니다.

자세한 내용은 Admin Console에서의 디렉터리 생성 방법을 참조하십시오.

Single Sign-On 테스트

Adobe 웹 사이트 또는 Creative Cloud 데스크탑 앱에 로그인하여 자신의 ID 관리 시스템과 Adobe Admin Console에서 정의한 사용자에 대한 사용자 액세스를 확인합니다.

문제가 발생하면 문제 해결 문서를 참조하십시오.

여전히 Single Sign-On 구성과 관련하여 지원이 필요한 경우 Adobe Admin Console에서 지원으로 이동한 다음 티켓을 여십시오.

Adobe 로고

내 계정 로그인