Office 365とOAMおよびIDの前提条件の統合
この記事では、SAML 2.0プロトコルを使用して、OAM (11.1.2.2.0以上)をIdPとしてフェデレーションSSO用のOffice 365と統合する方法を示します。
インテグレーションには、次のものが含まれます。
-
ブラウザ・フェデレーションSSO統合: これは、ブラウザを介してwww.office365.comリソースにアクセスする際にユーザーが実行するフローです:
-
www.office365.comは、ユーザーに電子メール・アドレスの入力を求めます。
-
サーバーはそのドメインにフェデレーションSSOを使用する必要があることを検出し、IdPのフェデレーションSSOフローを開始します
-
IdPはユーザーにチャレンジし、SAMLアサーションを作成してユーザーをwww.office365.comにリダイレクトします
-
www.office365.comは、ユーザーにアクセス権を付与します。
-
ActiveSyncメール統合: このフローでは、ユーザーはOffice 365用に構成されたメール・アプリケーションを使用します
-
メール・アプリケーションが起動すると、ユーザーの資格証明(電子メール・アドレスおよびIdPパスワード)がOffice 365に送信されます。
-
www.office365.comは、SSLを介してIdPに直接接続し、SAML 2.0 ECPプロトコルを使用して、HTTP Basic認証を介してSAML AuthnRequestおよびユーザーの資格証明を送信します。www.office365.com
-
IdPは、これらの資格証明を検証し、ECPプロトコルを介してSAMLアサーションを返します
-
Office 365はメール・アプリケーションへのアクセス権を付与します
SAML 2.0以外のコンポーネントのOffice 365との統合が機能しないことに注意してください。次に例を示します。
-
Lyncクライアント
-
OWAモバイル・アプリ
この記事の内容:
-
実行されたテスト
-
Office 365のSAML 2.0サポートに関するMicrosoftの記事、およびOffice 365の構成に必要な技術文書リスト・ステップ(ユーザー管理とフェデレーション信頼確立):
-
Microsoftブログ
-
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つのフェデレーション・サーバー間の信頼を確立するには、次のデータを取得する必要があります。
-
Office 365 SP SAML 2.0 Metadata。
-
Office 365ではSAML 2.0 Metadataの消費はまだサポートされていないため、次の情報を収集する必要があります。
-
Base64エンコード形式のOAM IdP署名証明書
-
OAM IdP発行者値
-
OAM IdP SSOおよびログアウトURL
最後に、フェデレーションの信頼を確立するには、次のことが必要です。
-
特定のユーザーの場合、Office 365と、次によって使用されるディレクトリの両方
-
OAMには、そのユーザーのアカウントが必要です。
-
Office 365アカウントで使用されるユーザー・グローバル一意ID (または
ImmutableId
)およびEメール・アドレス(またはUserPrincipalName
)は、OAMのユーザー・アカウントで設定する必要があります -
ActiveSyncメール統合の場合、Office 365で使用される電子メール・アドレス(または
UserPrincipalName
)の識別子は、OAMでのHTTP Basic認証に使用されるユーザー名である必要があります
SSLの有効化
重要なノート: Office 365サーバーがActiveSyncユース・ケースでOAMサーバーへの直接接続を試行するため、OAMでSSLを有効にするために使用するSSL証明書が既知のCAによって発行されている必要があります。
OAMのパブリック・エンドポイントでSSLを有効にする方法はいくつかあります。
-
ロード・バランサがOAMの前面にある場合、SSL/HTTPSをロード・バランサで有効化/構成できます。
-
OHSがOAMの前面にある場合、OHSはSSL用に構成されます。
-
OAMの前にコンポーネントがない場合、OAMが実行されているWLSサーバーをSSL/HTTPS用に構成できます。
コンポーネント(ロード・バランサ、OHSまたはWLS)がSSL用に構成されると、新しいエンドポイントをそのパブリックURLとして参照するようにOAM構成を更新する必要があります。
-
OAM管理コンソール(
http(s)://OAM-admin- host:OAM-admin-port/oamconsole
)にアクセスします。 -
「構成」、「Access Managerの設定」にナビゲートします。
-
OAMサーバー・ホストをパブリック・エンドポイントのホスト名に設定します
-
OAMサーバー・ポストをパブリック・エンドポイントのSSLポートに設定します
-
OAMサーバー・プロトコルをhttpsに設定します
-
「適用」をクリックします
図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認証資格証明の自動検証を無効にするには、次のステップを実行します。
-
$IAM_ORACLE_HOME/common/bin/WLST.sh
を実行して、WLST環境を入力します。 -
WLS管理サーバー(
connect()
)に接続します。 -
編集セッションの開始:
edit()
startEdit()
-
SecurityConfiguration
ノードcd('SecurityConfiguration')
にナビゲートします。 -
ドメインに移動します(DOMAIN_NAMEは、OAMがインストールされているWLSドメインの名前に置き換えます):
cd('DOMAIN_NAME')
-
保護されていないアプリケーションに送信されるHTTP Basic認証資格証明の
automatic
検証を無効にするには、EnforceValidBasicAuthCredentials
設定をfalseに設定します:set('EnforceValidBasicAuthCredentials','false')
-
変更を保存してアクティブ化します。
save()
activate()
-
変更を有効にするためにWLSドメイン内のサーバーを再起動します
SAML 2.0 Metadata、証明書および発行者
Office 365 SPサーバーからSAML 2.0 Metadataをダウンロードするには:
-
ブラウザを開きます
-
Azure / Office 365 Metadataパブリッシュ・サービスに移動します:
https://nexus.microsoftonline-p.com/federationmetadata/saml20/federationmetadata.xml
-
ブラウザの「名前を付けて保存」ボタンを使用してMetadataをローカルに保存します
OAM IdP署名証明書は、Windows PowershellコマンドへのBase64エンコード文字列として、スペース/改行のない単一の文字列として指定する必要があります。OAM IdP署名証明書を取得するには、次の操作を実行して、送信SAMLメッセージの署名に使用されるkeyID
エントリを確認します。
-
OAM管理コンソールに移動します:
http(s)://OAM-adminhost:OAM-admin-port/oamconsole
-
「構成」→「連邦設定」に移動します
-
「署名キー」フィールドのSAML署名操作の署名キーの
keyID
に注意してください
次のステップを実行して、そのkeyID
エントリの証明書を取得します:
-
ブラウザを開きます
-
次のURLに移動します(KEYENTRY_IDは、前のステップで取得した
keyID
名に置き換えます)。 -
証明書をテキスト・ファイルに保存します。
-
任意のテキスト・エディタでファイルを開く
-
このファイルの内容は次のとおりです。
-----BEGIN CERTIFICATE----- MIIB+DCCAWGgAwIBAgIBCjANBgkqhkiG9w0BAQQFADAhMR8wHQYDVQQDExZhZGMMHBjYy51cy5vcmFjbGUuY29tMB4XDTE0MDMwNDE5MjAzMloXDTI0MDMwMTE5MjAzMlowITEfMB0GA1UEAxMWYWRjMDBwY2MudXMub3JhY2xlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAkQOdZCmoOQRuxSvI/74bjnUPq7u7qiGbmaN1D5TB JaM+j5XRixEUI3pidaxlbykaraqVBMJpXJ6ua0QWectv6SdzuqcvH8C5el06NxTs fB6pcvxHGXVAbAvtGr2tOPSL+5HaFQoATpiY3HugTnJfjmHRfOqIo8nUMek6zCtv rKUCAwEAAaNAMD4wDAYDVR0TAQH/BAIwADAPBgNVHQ8BAf8EBQMDB9gAMB0GA DgQWBBQ/7yJbGCbbAnaLEi4ReLwLlvSxJTANBgkqhkiG9w0BAQQFAAOBgQBrMb2i6zcChhVM7a9VVgBr8xljBsPxVWCAYNUYaoyUj9VkD4CpFF9hVX0CpceoSBTiyMQp 3sg0FAYz1PGfjrq7uFEq9iTCwa5J/7k/VSOLKd3IDqzz7w0ZERksgp3OOqOct/wB/wQplaoMZLcRoInVUbGTBDMfqmW5iZ/wjpzItg== —–END CERTIFICATE—–
-
最初の行
(-----BEGIN CERTIFICATE-----)
を削除し、最後の行(-----END CERTIFICATE-----)
を削除し、残りのファイルを変更して改行を削除します。結果は単一行ファイルになります(内容が短縮されました)。 - ファイルを保存します。この行は、Windows Powershellコマンドへの入力として提供されます。
http://oam-runtime-host:oam-runtime-port/oamfed/idp/cert?id=<KEYENTRY_ID>
MIIB+DCCAWGgAwIBAgIBCjANBg....InVUbGTBDMfqmW5iZ/wjpzItg==
次のステップを実行して、IdPの発行者/プロバイダIDを取得します:
-
OAM管理コンソール(
http(s)://OAM-admin-host:OAM-admin-port/oamconsole
)にアクセスします。 -
「構成」→「連邦設定」に移動します
-
「プロバイダID」フィールドの「OAM発行者/プロバイダID」の値を確認します。
OAMのIdP SSOおよびログアウトURLは、(ノート: エンド・ユーザーが使用するURLであるパブリック・エンドポイントがあることを確認してください):
-
ブラウザSSO URL:
http(s)://oam-public-host:oam-publicport/oamfed/idp/samlv20
-
ECP SSO URL:
http(s)://oam-public-host:oam-publicport/oamfed/idp/soap
-
ログアウトURL:
http(s)://oam-public-host:oam-publicport/oamfed/idp/samlv20
疑問がある場合は、IdPメタデータからこれらのURLを取得できます:
-
ブラウザを開きます
-
http(s)://oam-public-host:oam-public-port/oamfed/idp/metadata
に移動します -
ブラウザ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>
-
ECP SSO URLはXMLのLocation属性になります
Element EntityDescriptor , IDPSSODescriptor , SingleSignOnService for which the Binding attribute is set to urn:oasis:names:tc:SAML:2.0:bindings:SOAP: <md:EntityDescriptor ...> ... <md:IDPSSODescriptor ...> ... <md:SingleSignOnService> Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP"Location="https://acme.com/oamfed/idp/soap"/> ... </md:IDPSSODescriptor> ... </md:EntityDescriptor>
-
ログアウトURLは、XMLのLocation属性になります
Element EntityDescriptor , IDPSSODescriptor , SingleLogoutService for which the Binding attribute is set to urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect: <md:EntityDescriptor ...> ... <md:IDPSSODescriptor ...> ... <md:SingleLogoutServiceBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTPRedirect" Location="https://acme.com/oamfed/idp/samlv20"ResponseLocation="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)をサポートするために同期する必要があります。
-
特定のユーザーの場合、Office 365とOAMが使用するディレクトリの両方に、そのユーザーのアカウントが必要です。
-
Office 365アカウントで使用されるユーザー・グローバル一意ID (または
ImmutableId
)およびEメール・アドレス(またはUserPrincipalName
)は、OAMのユーザー・アカウントで設定する必要があります -
ActiveSyncメール統合の場合、Office 365で使用される
userID
(またはImmutableId
)は、OAMでHTTP Basic認証に使用されるユーザー名である必要があります。 -
電子メール・アドレス(または
UserPrincipalName
)の識別子は、@
文字の前にある電子メール・アドレスの一部です。たとえば、UserPrincipalName
がalice.appleton@acme.comの場合、識別子はalice.appleton
です -
この識別子は、HTTP Basic認証ユーザー名です。例:
alice.appleton
-
OAM HTTP Basic認証スキームのOAMアイデンティティ・ストア構成で使用されるユーザーID属性は、受信HTTP HTTP Basic認証ユーザー名と一致する必要があります。たとえば、ユーザー・アライスのOAMアイデンティティ・ストアで使用されるユーザーID属性は、alice.appletonである必要があります。
ImmutableId
ImmutableId
は、Office 365がユーザーを一意に参照するために使用する属性です。後でユーザー・レコードを削除する場合でも、後で作成される他のユーザーは同じImmutableId
値を持つことができません。
通常、ImmutableId
-
ランダム一意識別子(2848cfc7f6914af2a550c024bcbf0c6eなど)
-
または、一意とみなされるユーザー名: 元のユーザーがシステムから削除されている場合でも、他のユーザーは同じユーザー名を持つことはありません。
UserPrincipalName
UserPrincipalName
(またはUPN)は、電子メール・アドレスの形式を持つ識別子です。Eメール・アドレスのドメイン名は、Office 365ドメインで使用されている名前にマップする必要があります。
たとえば、フェデレーションSSOのacme.comドメインにOffice 365が構成されている場合、identiSer@acme.comのような電子メール・アドレスを持つすべてのユーザーは、そのOffice 365ドメインに構成されたIdPでフェデレーションSSOを実行できます。
ActiveSync要件
ActiveSyncメール・フローの場合:
-
Office 365メール・サーバーは、SSLを介してIdPに直接接続し、SAML 2.0 ECPプロトコルを使用して、HTTP Basic認証を介してSAML AuthnRequestおよびユーザーの資格証明を送信します
-
IdPは、これらの資格証明を検証し、ECPプロトコルを介してSAMLアサーションを返します
-
Office 365はメール・アプリケーションへのアクセス権を付与します
このようなフローでは、ユーザーは次のことを行います。
-
Office 365にEメール・アドレスを指定します(alice.appleton@acme.comなど)
-
Office 365では、HTTP Basic認証ユーザー名として'@'文字の前に識別子を使用します(alice.appletonなど)
-
IdPは、ユーザー名が電子メール・アドレスの識別子(alice.appletonなど)である資格証明を検証できる必要があります
ユーザー名要件
前述の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を参照してください。
Integrating Office 365 with OAM and Id Pre-Requisites
F60937-01
September 2022
Copyright © 2022, Oracle and/or its affiliates.