将下载的元数据文件复制到以下位置并将文件重命名为 adobe-sp-metadata.xml:
%{idp.home}/metadata/
适用于企业。
使用 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 的单点登录之前,须先满足以下要求:
本文档中介绍的通过 Adobe SSO 配置 Shibboleth IDP 的步骤已在版本 3 中进行了测试。
要为域配置单点登录,请执行以下操作:
从 Adobe Admin Console 中下载 SAML XML 元数据文件后,请按以下步骤更新 Shibboleth 配置文件。
将下载的元数据文件复制到以下位置并将文件重命名为 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 文件。
用您在上述第 1 步中创建的 adobe-sp-metadata.xml 元数据文件的位置(下方的第 29 行)更新 %{idp.home}/conf/metadata-providers.xml。
<!-- <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> --> <!-- 示例文件元数据提供者。如果要从本地文件加载元数据,请使用此项。如果您有一些不是“联合”的本地 SP,但您希望向其提供服务,则您可能会使用此项。如果您不提供 SignatureValidation 筛选器,则由您负责确保内容可信。--> <MetadataProvider id="LocalMetadata" xsi:type="FilesystemMetadataProvider" metadataFile="%{idp.home}/metadata/adobe-sp-metadata.xml"/>
如果您无法成功登录 adobe.com,请检查以下 Shibboleth 配置文件是否存在问题:
属性筛选文件,在配置 Shibboleth 时更新,定义您需要向 Adobe 服务提供者提供的属性。但是,您需要将这些属性映射到在组织的 LDAP/Active Directory 中定义的相应属性。
编辑位于以下位置的 attribute-resolver.xml 文件:
%{idp.home}/conf/attribute-resolver.xml
为以下各个属性指定在您的组织中定义的源属性 ID:
<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>
更新以下位置的 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"
更新位于以下位置的 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'} }" />
要更新 Shibboleth 元数据文件,请执行以下操作:
将 Shibboleth 元数据文件上传到“添加 SAML 配置文件”屏幕。
配置 Shibboleth 之后,可在 Shibboleth 服务器上的以下位置找到元数据文件 ( idp-metadata.xml):
<shibboleth>/metadata
单击“完成”。
有关更多详细信息,请参阅“如何在 Admin Console 上创建目录”。
通过登录到 Adobe 网站或 Creative Cloud 桌面应用程序,为已在您自己的身份管理系统中和在 Adobe Admin Console 中定义的用户检查用户访问。
如果遇到问题,请参阅我们的故障排除文档。
如果对于单点登录配置仍需帮助,请在 Adobe Admin Console 中导航到“支持”并提交服务单。