Office 365とOAMおよびIDの前提条件の統合

この記事では、SAML 2.0プロトコルを使用して、OAM (11.1.2.2.0以上)をIdPとしてフェデレーションSSO用のOffice 365と統合する方法を示します。

インテグレーションには、次のものが含まれます。

SAML 2.0以外のコンポーネントのOffice 365との統合が機能しないことに注意してください。次に例を示します。

この記事の内容:

概要

SAML 2.0プロトコルを使用してOffice 365と統合するには、既知のCAによって発行されたSSL証明書を持つエンドポイントとしてHTTPS/SSLを使用するようにOAMを構成する必要があります(ActiveSyncメール統合が必要な場合)。そうしないと、フェデレーション・トラストを確立するときにOffice 365がOAM SAML 2.0 Metadataを受け入れない場合があります。

Office 365では、すべてのSAMLメッセージがSHA-1ダイジェスト・アルゴリズムを使用して署名されていると想定しています。そのため、SHA-1を使用するようにIdPを構成する必要があります。構成しない場合、Office 365 SPはSHA-256が使用されるとエラーを返します。また、Office 365では、署名付きSAMLアサーションにIdPの署名証明書を含める必要があります。そのため、Office 365のすべての送信署名済メッセージに含めるようにOAMを構成する必要があります。

HTTP Basic認証がIdPで使用されている場合(ActiveSyncメール統合に必要であるため)、OAMが実行されているWebLogicドメインは、保護されていないリソースのHTTP Basic認証を検証しないように構成する必要があります。

2つのフェデレーション・サーバー間の信頼を確立するには、次のデータを取得する必要があります。

最後に、フェデレーションの信頼を確立するには、次のことが必要です。

SSLの有効化

重要なノート: Office 365サーバーがActiveSyncユース・ケースでOAMサーバーへの直接接続を試行するため、OAMでSSLを有効にするために使用するSSL証明書が既知のCAによって発行されている必要があります。

OAMのパブリック・エンドポイントでSSLを有効にする方法はいくつかあります。

コンポーネント(ロード・バランサ、OHSまたはWLS)がSSL用に構成されると、新しいエンドポイントをそのパブリックURLとして参照するようにOAM構成を更新する必要があります。

  1. OAM管理コンソール(http(s)://OAM-admin- host:OAM-admin-port/oamconsole)にアクセスします。

  2. 「構成」「Access Managerの設定」にナビゲートします。

  3. OAMサーバー・ホストをパブリック・エンドポイントのホスト名に設定します

  4. OAMサーバー・ポストをパブリック・エンドポイントのSSLポートに設定します

  5. OAMサーバー・プロトコルをhttpsに設定します

  6. 「適用」をクリックします

図Access_Manager_Settings.jpgの説明

ノート: 変更を加えた後、OAM SAML 2.0 Metadataを取得すると、新しいhttps URLが含まれます

HTTP Basic認証

デフォルトでは、ブラウザがHTTP Basic認証の資格証明をOAMに送信する場合、WLSサーバーは、OAMにリクエストを処理させる前にそれらを検証しようとします。これにより、特にOAMで作成された各アイデンティティ・ストアのWLS LDAPオーセンティケータでWLSドメインが構成されていなかった場合に、認証が失敗する可能性があります。

ノート: WLSドメインが、OAMで作成された各アイデンティティ・ストアに対してWLS LDAPオーセンティケータを持つように正しく構成されていても、2つの認証操作が発生します。1つはWLS、もう1つはOAMがOAMセッションを作成するために必要な認証操作です。

OAMが実行されているWLSドメインの保護されていないアプリケーションに送信されたHTTP Basic認証資格証明の自動検証を無効にできます。詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverセキュリティ・プログラミング』ガイドの保護されていないリソースによるBASIC認証に関する項を参照してください。

WLSドメインの保護されていないアプリケーションに送信されるHTTP Basic認証資格証明の自動検証を無効にするには、次のステップを実行します。

  1. $IAM_ORACLE_HOME/common/bin/WLST.shを実行して、WLST環境を入力します。

  2. WLS管理サーバー(connect())に接続します。

  3. 編集セッションの開始:

    edit()

    startEdit()

  4. SecurityConfigurationノードcd('SecurityConfiguration')にナビゲートします。

  5. ドメインに移動します(DOMAIN_NAMEは、OAMがインストールされているWLSドメインの名前に置き換えます): cd('DOMAIN_NAME')

  6. 保護されていないアプリケーションに送信されるHTTP Basic認証資格証明のautomatic検証を無効にするには、EnforceValidBasicAuthCredentials設定をfalseに設定します: set('EnforceValidBasicAuthCredentials','false')

  7. 変更を保存してアクティブ化します。

    save()

    activate()

  8. 変更を有効にするためにWLSドメイン内のサーバーを再起動します

SAML 2.0 Metadata、証明書および発行者

Office 365 SPサーバーからSAML 2.0 Metadataをダウンロードするには:

  1. ブラウザを開きます

  2. Azure / Office 365 Metadataパブリッシュ・サービスに移動します: https://nexus.microsoftonline-p.com/federationmetadata/saml20/federationmetadata.xml

  3. ブラウザの「名前を付けて保存」ボタンを使用してMetadataをローカルに保存します

OAM IdP署名証明書は、Windows PowershellコマンドへのBase64エンコード文字列として、スペース/改行のない単一の文字列として指定する必要があります。OAM IdP署名証明書を取得するには、次の操作を実行して、送信SAMLメッセージの署名に使用されるkeyIDエントリを確認します。

  1. OAM管理コンソールに移動します: http(s)://OAM-adminhost:OAM-admin-port/oamconsole

  2. 「構成」「連邦設定」に移動します

  3. 「署名キー」フィールドのSAML署名操作の署名キーのkeyIDに注意してください

図Federation_Settings.jpgの説明

次のステップを実行して、そのkeyIDエントリの証明書を取得します:

  1. ブラウザを開きます

  2. 次のURLに移動します(KEYENTRY_IDは、前のステップで取得したkeyID名に置き換えます)。

  3. http://oam-runtime-host:oam-runtime-port/oamfed/idp/cert?id=<KEYENTRY_ID>

  4. 証明書をテキスト・ファイルに保存します。

  5. 任意のテキスト・エディタでファイルを開く

  6. このファイルの内容は次のとおりです。

    -----BEGIN CERTIFICATE-----
    	MIIB+DCCAWGgAwIBAgIBCjANBgkqhkiG9w0BAQQFADAhMR8wHQYDVQQDExZhZGMMHBjYy51cy5vcmFjbGUuY29tMB4XDTE0MDMwNDE5MjAzMloXDTI0MDMwMTE5MjAzMlowITEfMB0GA1UEAxMWYWRjMDBwY2MudXMub3JhY2xlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAkQOdZCmoOQRuxSvI/74bjnUPq7u7qiGbmaN1D5TB JaM+j5XRixEUI3pidaxlbykaraqVBMJpXJ6ua0QWectv6SdzuqcvH8C5el06NxTs fB6pcvxHGXVAbAvtGr2tOPSL+5HaFQoATpiY3HugTnJfjmHRfOqIo8nUMek6zCtv rKUCAwEAAaNAMD4wDAYDVR0TAQH/BAIwADAPBgNVHQ8BAf8EBQMDB9gAMB0GA DgQWBBQ/7yJbGCbbAnaLEi4ReLwLlvSxJTANBgkqhkiG9w0BAQQFAAOBgQBrMb2i6zcChhVM7a9VVgBr8xljBsPxVWCAYNUYaoyUj9VkD4CpFF9hVX0CpceoSBTiyMQp 3sg0FAYz1PGfjrq7uFEq9iTCwa5J/7k/VSOLKd3IDqzz7w0ZERksgp3OOqOct/wB/wQplaoMZLcRoInVUbGTBDMfqmW5iZ/wjpzItg==
    —–END CERTIFICATE—–
    
  7. 最初の行(-----BEGIN CERTIFICATE-----)を削除し、最後の行(-----END CERTIFICATE-----)を削除し、残りのファイルを変更して改行を削除します。結果は単一行ファイルになります(内容が短縮されました)。

  8. MIIB+DCCAWGgAwIBAgIBCjANBg....InVUbGTBDMfqmW5iZ/wjpzItg==

  9. ファイルを保存します。この行は、Windows Powershellコマンドへの入力として提供されます。

次のステップを実行して、IdPの発行者/プロバイダIDを取得します:

  1. OAM管理コンソール(http(s)://OAM-admin-host:OAM-admin-port/oamconsole)にアクセスします。

  2. 「構成」「連邦設定」に移動します

  3. 「プロバイダID」フィールドの「OAM発行者/プロバイダID」の値を確認します。

図Retrieve_IDP.jpgの説明

OAMのIdP SSOおよびログアウトURLは、(ノート: エンド・ユーザーが使用するURLであるパブリック・エンドポイントがあることを確認してください):

疑問がある場合は、IdPメタデータからこれらのURLを取得できます:

  1. ブラウザを開きます

  2. http(s)://oam-public-host:oam-public-port/oamfed/idp/metadataに移動します

  3. ブラウザSSO URLは、XMLのLocation属性になります

    
    	 Element EntityDescriptor , IDPSSODescriptor , SingleSignOnService for which the Binding attribute is set to urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect:
               <md:EntityDescriptor ...>
    				...
    				<md:IDPSSODescriptor ...>
    					...
    					<md:SingleSignOnService>
    						Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTPRedirect" Location="https://acme.com/oamfed/idp/samlv20"/>
    					...
    				</md:IDPSSODescriptor>
    				...
    			</md:EntityDescriptor>
    	

SHA-256とSHA-1

OAMとOffice 365の間にフェデレーションを設定した後、Office 365 SPパートナの署名にSHA-1を使用するようにOAMを構成する必要があります。

署名メッセージでのOAMの署名証明書

OAMとOffice 365の間でフェデレーションを設定した後、フェデレーション・サーバーがOffice 365 SPパートナのすべての送信署名済SAMLメッセージにX.509署名証明書を含めるようにOAMを構成する必要があります。

ユーザー・アカウント

Office 365およびOAMディレクトリのユーザー・アカウントは、様々なフェデレーション・フロー(ブラウザSSOおよびActiveSync)をサポートするために同期する必要があります。

ImmutableId

ImmutableIdは、Office 365がユーザーを一意に参照するために使用する属性です。後でユーザー・レコードを削除する場合でも、後で作成される他のユーザーは同じImmutableId値を持つことができません。

通常、ImmutableId

UserPrincipalName

UserPrincipalName (またはUPN)は、電子メール・アドレスの形式を持つ識別子です。Eメール・アドレスのドメイン名は、Office 365ドメインで使用されている名前にマップする必要があります。

たとえば、フェデレーションSSOのacme.comドメインにOffice 365が構成されている場合、identiSer@acme.comのような電子メール・アドレスを持つすべてのユーザーは、そのOffice 365ドメインに構成されたIdPでフェデレーションSSOを実行できます。

ActiveSync要件

ActiveSyncメール・フローの場合:

このようなフローでは、ユーザーは次のことを行います。

ユーザー名要件

前述のIdPでのユーザー認証の要件は、次のとおりです。

ブラウザ

認証ユーザー名

HTTP Basic認証ユーザー名(IdP)
ブラウザ・ベースのフェデレーションSSO すべて 該当なし

ブラウザ・ベースのフェデレーションSSO

+

ActiveSyncECP

すべて Eメール・アドレスの識別子

その他の学習リソース

docs.oracle.com/learnで他のラボを探すか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。

製品ドキュメントについては、Oracle Help Centerを参照してください。