概述

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. 通过指定 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. 编辑 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>
    	<AttributeFilterPolicy>
    		<PolicyRequirementRule xsi:type="Requester" value="https://www.okta.com/saml2/service-provider/spiml66pl3iZi7tuI0x7" />
    		<AttributeRule attributeID="NameID">
    			<PermitValueRule xsi:type="ANY" />
    		</AttributeRule>
    		<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>
  4. 编辑 metadata-providers.xml 文件。

    使用您在上述步骤 1 中创建的 adobe-sp-metadata.xml 元数据文件的位置更新 %{idp.home}/conf/metadata-providers.xml以下第 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 xsi:type="ad:Simple" id="NameID" sourceAttributeID="mail">
      <resolver:Dependency ref="myLDAP" />
      <resolver:AttributeEncoder xsi:type="SAML2StringNameID"
       xmlns="urn:mace:shibboleth:2.0:attribute:encoder"
        nameFormat="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" />
      </resolver:AttributeDefinition>
      <resolver:AttributeDefinition xsi:type="ad:Simple" id="Email"
        sourceAttributeID="mail">
        <resolver:Dependency ref="myLDAP" />
        <resolver:AttributeEncoder xsi:type="enc:SAML2String" name="Email" />
      </resolver:AttributeDefinition>
      <resolver:AttributeDefinition xsi:type="ad:Simple" id="FirstName"
        sourceAttributeID="givenName">
        <resolver:Dependency ref="myLDAP" />
        <resolver:AttributeEncoder xsi:type="enc:SAML2String" name="FirstName" />
     </resolver:AttributeDefinition>
     <resolver:AttributeDefinition xsi:type="ad:Simple" id="LastName"
        sourceAttributeID="sn">
     <resolver:Dependency ref="myLDAP" />
    <resolver:AttributeEncoder xsi:type="enc:SAML2String" name="LastName" /></resolver:AttributeDefinition>

2. relying-party.xml

更新位于以下位置的 relying-party.xml,以支持 Adobe 服务提供程序要求的 saml-nameid 格式:

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

更新 p:nameIDFormatPrecedence 属性(以下第 7 行),添加 emailAddress

<bean parent="RelyingPartyByName" c:relyingPartyIds="[entityId">
	<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" p:encryptAssertions="false" />
			<ref bean="SAML2.ECP" />
			<ref bean="SAML2.Logout" />
			<ref bean="SAML2.AttributeQuery" />
			<ref bean="SAML2.ArtifactResolution" />
			<ref bean="Liberty.SSOS" />
		</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="shibboleth.SAML2AttributeSourcedGenerator"
            p:format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"
            p:attributeSourceIds="#{ {'Email'} }" />

将 IdP 元数据文件上载至 Adobe Admin Console

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

  1. 返回到 Adobe Admin Console

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

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

    <shibboleth>/元数据

  3. 单击完成

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

测试单点登录

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

如果您遇到问题,请参阅我们的故障诊断文档

如果您在单点登录配置方面仍需要帮助,请导航到 Adobe Admin Console 中的支持,然后创建一个票证。

本产品经 Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License 许可  Twitter™ 与 Facebook 中的内容不在 Creative Commons 的条款约束之下。

法律声明   |   在线隐私策略