Adobe SSO で使用する Shibboleth IdP の構成

最終更新日 : 2024年12月16日

概要

システム管理者は、Adobe Admin Console で、Federated ID からのログインに使用されるドメインをシングルサインオン(SSO)用に構成できます。 ドメインの検証が完了すると、ユーザーが Creative Cloud にログインできるように、そのドメインを含むディレクトリが構成されます。 ユーザーは ID プロバイダー(IdP)を介し、そのドメイン内のメールアドレスを使用してログインできます。 このプロセスは、企業ネットワーク内で実行されるソフトウェアサービスとしてプロビジョニングされるか、サードパーティによってホストされるクラウドサービスとしてプロビジョニングされます。前者の場合、プロセスにはインターネットからアクセスできます。後者の場合は、SAML プロトコルを使用したセキュアな通信を通じてユーザーログインの詳細を検証することができます。

これに使用できる IdP の 1 つが Shibboleth です。 Shibboleth を使用するには、インターネットからアクセス可能で、企業ネットワーク内のディレクトリサービスにアクセスできるサーバーを構成する必要があります。 このドキュメントでは、Adobe Creative Cloud アプリケーションおよび関連する web サイトにシングルサインオンでログインできるように Adobe Admin Console と Shibboleth サーバーを構成するプロセスについて説明します。

IdP へのアクセスを確立するには、通常、特定のルールで構成された専用のネットワークを使用して、特定の種類の通信だけがサーバーと内部/外部ネットワーク間で許可されるようにします。このようなネットワークは DMZ(非武装地帯)と呼ばれます。 このサーバーでのオペレーティングシステムの構成や DMZ ネットワークのトポロジーについては、このドキュメントの対象範囲外です。

前提条件

Shibboleth を IdP とするシングルサインオンのドメインを構成するには、次の前提条件を満たす必要があります。

  • Shibboleth の最新バージョンがインストールされ、構成されている。
  • Creative Cloud エンタープライズ版のアカウントと関連付けるすべての Active Directory アカウントのメールアドレスが Active Directory 内に登録されている。
メモ

このドキュメントで説明している手順(Adobe SSO 用に Shibboleth IDP を構成する手順)は、バージョン 3 を使用してテストされています。

Shibboleth の構成

開始する前に、Federated ID ディレクトリを作成し、ID プロバイダーとしてその他の SAML プロバイダーを選択します。 SAML プロファイルを追加画面で、ACS の URLエンティティ ID の値をコピーします。

ダウンロードされたメタデータファイルを次の場所にコピーし、ファイル名を adobe-sp-metadata.xml に変更します。

%{idp.home}/metadata/

正しい情報がアドビに送信されるようにファイルを更新します。

ファイル内の以下の行を置き換えます。

<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=&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 の構成時に更新した属性フィルターファイルは、アドビサービスプロバイダーに提供する必要がある属性を定義したものです。 ただし、これらの属性は、組織の 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 を更新して、アドビサービスプロバイダーが要求する saml-nameid 形式をサポートします。

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

emailAddress を組み込むには、p:nameIDFormatPrecedence 属性(下の 7 行目)を更新します

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

また、アサーションの暗号化をオフにするには、DefaultRelyingParty セクションで SAML2 タイプを次のように置き換えます。

置き換える文字列:

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

Adobe Admin Console への IdP メタデータのアップロード

Shibboleth メタデータファイルを更新するには:

Adobe Admin Console に戻ります。

SAML プロファイルを追加画面で Shibboleth メタデータファイルをアップロードします。

Shibboleth の設定後、メタデータファイル(idp-metadata.xml)が Shibboleth サーバーの次の場所に作成されます。

<shibboleth>/metadata

完了」を選択します。

Admin Console でディレクトリの作成方法を確認します。

シングルサインオンのテスト

自分の ID 管理システムと Adobe Admin Console で定義したユーザーのユーザーアクセスを確認するには、Adobe web サイトまたは Creative Cloud デスクトップアプリにログインします。

問題が発生する場合は、トラブルシューティングに関するドキュメントを参照してください。

シングルサインオン設定についてサポートが必要な場合は、Adobe Admin Consoleサポートに移動して Adobe サポートについてに連絡してください。