配置 Shibboleth IdP 以将其与 Adobe SSO 搭配使用

适用于企业。

概述

使用 Adobe Admin Console,系统管理员可以配置用于通过 Federated ID 进行登录的域,从而实现单点登录 (SSO)。验证该域后,包含该域的目录即被配置为允许用户登录到 Creative Cloud。用户可以使用该域内的电子邮件地址通过身份提供者 (IdP) 进行登录。该流程会以在公司网络中运行且可通过 Internet 进行访问的软件服务的形式提供,或者以由第三方托管且可以通过使用 SAML 协议的安全通信验证用户的登录详细信息的云服务的形式提供。

Shibboleth 便属于上述 IdP。如需使用 Shibboleth,您需要一个可通过 Internet 进行访问的服务器,并需有权访问企业网络中的目录服务。本文档介绍了如何通过配置 Admin Console 和 Shibboleth 服务器来登录 Adobe Creative Cloud 应用程序和关联网站,进而实现单点登录。

对 IdP 的访问一般使用单独的网络来实现,该网络中配置了特定规则,仅允许在服务器与内部和外部网络之间进行特定类型的通信,也称作 DMZ(隔离区)。此服务器上的操作系统配置以及此类网络的拓扑不在本文档讨论范围内。

先决条件

在对域进行配置并实现由 Shibboleth 充当 IDP 的单点登录之前,须先满足以下要求:

  • 安装并配置最新版本的 Shibboleth。
  • 所有要与适用于企业的 Creative Cloud 关联的 Active Directory 帐户均具备列于 Active Directory 之中的电子邮件地址。
注意:

本文档中介绍的通过 Adobe SSO 配置 Shibboleth IDP 的步骤已在版本 3 中进行了测试。

使用 Shibboleth 配置单点登录

要为域配置单点登录,请执行以下操作:

  1. 登录到 Admin Console,首先创建 Federated ID 目录,其中选择“其他 SAML 提供者”作为身份提供者。从“添加 SAML 配置文件”屏幕中复制“ACS URL”“实体 ID”的值。
  2. 配置 Shibboleth,其中指定 ACS URL实体 ID,然后下载 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/Active Directory 中定义的相应属性。

编辑位于以下位置的 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;#{ {'Email'} }&quot; />

将 IdP 元数据文件上传到 Adobe Admin Console

要更新 Shibboleth 元数据文件,请执行以下操作:

  1. 将 Shibboleth 元数据文件上传到“添加 SAML 配置文件”屏幕。

    配置 Shibboleth 之后,可在 Shibboleth 服务器上的以下位置找到元数据文件 ( idp-metadata.xml):

    <shibboleth>/metadata

  2. 单击“完成”

有关更多详细信息,请参阅“如何在 Admin Console 上创建目录”。

测试单点登录

通过登录到 Adobe 网站或 Creative Cloud 桌面应用程序,为已在您自己的身份管理系统中和在 Adobe Admin Console 中定义的用户检查用户访问。

如果遇到问题,请参阅我们的故障排除文档

如果对于单点登录配置仍需帮助,请在 Adobe Admin Console 中导航到“支持”并提交服务单。

更快、更轻松地获得帮助

新用户?