Enterprise Application Access (EAA) Office 365連携について (SAASアプリケーション連携)

Enterprise Application Access (EAA) はリモートアクセスが必要な社内アプリケーションやSaaSに対し、Identity Providerと連携し認証/認可を行う企業のゼロトラスト・セキュリティを実現するためのリモートアクセスソリューションです。今回はEAAをIdPとしたOffice 365連携についてご紹介させて頂きます。
■構成について
EAAをIdP、SaaSアプリケーションをSPとして連携することで、各SaaSアプリケーションとオンプレアプリケーション接続の認証統合、シングルサインオンを実現することができます。
本内容ではOffice 365の連携手順をご紹介します。

■ユーザーズガイドについて
下記ユーザーズガイドの手順の補足として、 Office 365 (O365) をSPとして連携するための手順を記載しています。併せてユーザーズガイドもご参照ください。
・Set up O365 as the SP and EAA as the IdP
・Configure EAA as the IdP for a custom SaaS application
■設定の流れについて
Active DirectoryとOffice 365(Azure AD)のアカウント連携が行われますので、十分にテストを行ったうえで本番環境には実施を行ってください。
☆事前に必要な項目
・独自ドメイン(カスタムドメイン) / 初期作成済みのonmicrosoft.comでは利用できません。
・Akamai EAA 及びMicrosoft O365の契約
・オンプレ(もしくはIaaS)のActive Directory環境
・EAA管理者による、AD連携、IdP設定

Step1. Microsoft 365管理画面にてドメイン追加
https://admin.microsoft.com
1. O365管理者にてMicrosoft 365管理センターを開き、ドメインを選択します。
左メニューにて全てを表示 → 設定 → ドメイン
※既にOffice 365を利用済でドメイン登録が完了している場合は本項目は不要です。

2.ドメインを追加します。連携するドメイン名を入力します

3.ドメインの確認が求められる場合があります。指示に従いドメイン所有を確認します。

4.ドメインにレコードを追加します。O365を利用する上で必要に応じて登録します。
(EAAと連携することにおいては必須ではありません。)

5. O365を利用する上で必要に応じて選択します。

6.それぞれのレコードを登録し、続行ボタンにて設定が正しく行われているか確認します。

7.O365でのドメイン登録が完了します。

8.O365にてドメインが登録されていることを確認します。No4にてスキップを選択した場合は
状態はセットアップ未完了となります。

Step2. EAAでアプリケーション作成1/2
https://control.akamai.com
1.Akamai Control Centerにログインし、EAA管理画面にてSaaSアプリケーションを作成します。

2.下記項目を入力して、Create Appをクリックします。

3.GeneralタブのCertificate項は、「Use self-signed certificate」であることを確認します。
Saveにて次に進みます。

4.Authenticationタブにて、EAAにて事前に設定済みのIdentityおよび、Directory (Active Directory)、Assign groupsを設定します。
Saveして次に進みます。

5.SAML Settingsタブの、IDP Infoにて始めから値が定義されている、以下の項目をテキストとしてコピーしておきます。 まだここではEAAアプリケーションのDeployはしないでください。
O365側で個別に入力する必要があるため、Metadataは利用しません。
・Entity ID
・SSO URL
・Single logout URL
・Signing certificate

Step3. Azure AD Connectのセットアップ
1.社内のActive DirectoryドメインコントローラにAzure AD Connectのセットアップを行います。
Microsoft社のWebサイトからダウンロードし実行します。

2.本内容では、「簡単設定を使う」を選択します。

3.インストールが開始されます。

4.Azure ADに接続するためのアカウントを入力します。

5.ローカルActive Directoryドメインに接続されるためのアカウントを入力します。

6.構成の準備が完了し、インストールを実行します。

7.構成が完了し、Azure ADへの同期が行われます。

8.Microsoft 365管理センター >> ユーザー >> アクティブなユーザーにてActive Directoryのユーザが登録されていることを確認します。

9.同期がうまくいかない場合は、同期状態を確認します。
Microsoft 365管理センター >> すべての管理センター >> Azure Active Directory >> Azure AD Connect メニュー
Active DirectoryとAzure ADの同期が成功しているかを確認します。
エラーメッセージもしくは、同期が正しくない場合は、Microsoft社AD Connectのドキュメントの確認、またはメーカーサポート窓口等へお問合せください。

Step4. O365認証IdPの変更
1.Active Directoryドメインコントローラに、コマンドまたは手動インストールにてAzure Active Directory PowerShellをインストールします。

2.Azure ADへ接続します。 サインインウィンドウが表示されますので、Azure ADグローバル管理者にてサインインします。

3.サインインウィンドウが表示されない場合は、IEセキュリティ強化の構成など、ブロックされていないかを確認します。

4.コマンドにて、フェデレーション設定が行われていないことを確認します。
PS> Get-MsolDomainFederationSettings -domainName [ドメイン名]| Format-List *
まだ未設定のため何も表示されません。後で再度実行します。

5.下記それぞれ変数を入力します。
「Step2. EAAでアプリケーション作成1/2」にてメモを行った情報を用います。
PS> Set-MsolDomainAuthentication -DomainName [ドメイン名] -Authentication Managed
PS> $domainname = " [ドメイン名]"
PS> $logoffuri = " [Single logout URL]"
PS> $passivelogonuri = " [SSO URL]"

PS> $cert = "[Signing certificate]" ※コピーしたcertificateは空白/改行を削除してください。 Microsoft PowerShellは空白/改行があると、適切に機能しません。
PS> $issueruri = " [Entity ID]"
PS> $protocol = "SAMLP"

6.変数を用いてコマンドを実行します。
PS> Set-MsolDomainAuthentication -DomainName $domainname
-FederationBrandName $domainname -Authentication Federated -IssuerUri $issueruri -LogOffUri $logoffuri
-PassiveLogOnUri $passivelogonuri -SigningCertificate $cert -PreferredAuthenticationProtocol $protocol

7.コマンドが成功した場合は、再度フェデレーション設定確認コマンドを実行し適用した設定が正しく反映されているか確認します。
変数やURL等が間違っていると、正しく連携できません。
PS> Get-MsolDomainFederationSettings -domainName [ドメイン名]| Format-List *

Step5. EAAでアプリケーション作成2/2
1.EAA アプリケーション設定に戻り、続きの設定を行います。
SAML Settingsにてそれぞれ設定します。入力後は、Saveし、Deployを行います。
Single SignOn (ACS):https://login.microsoftonline.com/login.srf
NameID Format:Persistent
NameID Attribute:Custom script { "immutable-id" : [{"$" : "user.persistentId"}]}
Default Relay State:blank
Signed Request:Unchecked
Response Encryption:Unchecked
Response Signature Algorithm:SHA1
Single Logout Binding:Redirect
Single Logout URL:https://www.office.com/estslogout?ru=%2F
Verify Single Logout:Unchecked
Attribute statements
Name: IDPEmail, Format:Unspecified, Value:user.userPrincipleName



Step6. 動作確認
1.Microsoft 365のポータルに接続し、ログイン用のメールアドレスを入力します。
https://portal.office.com

2. ログイン画面(IdP)が、EAAにリダイレクトされるため、ユーザID / パスワードにてログインを行います。

3.ログイン後に再度、Office 365 Portalにリダイレクトされ、Office 365が利用できることを確認します。

Step7. 動作確認[参考:Outlook デスクトップアプリ]
1.ここではWindows Outlook for Microsoft 365を例とします。
Outlookアプリを開き、ログインアカウントを入力して接続をクリックします。

2. EAA (IdP) にリダイレクトされますので、ログインします。

3.ログイン後、Outlookに戻り、アカウントが追加されます。

4.アカウントが追加されたら、「完了」をクリックします。

5.Outlookが起動します。

Step8. 動作確認[参考:Outlook iPhoneアプリ]
1.ここでは、iPhone Outlookアプリを例とします。Microsoft Authenticatorアプリも必要です。
Outlookアプリを起動後に、ログインアカウントを入力して「アカウントの追加」をタップします。

2.サインインをタップします。

3. Authenticatorを開くをタップします。

4. EAA (IdP) にリダイレクトされますので、ログインします。

5. Office 365アカウントが追加されます。

6.Outlookが利用できるようになります。

以上で完了です。
いかがでしたでしょうか。
その他SaaSアプリケーションやオンプレアプリケーションも連携することで、最初にログインした情報を用いてEAA IdPを用いたシングルサインオンが実現できます。
是非、この機会にゼロトラストベースのリモートアクセスソシューションをご検討してみてはいかがでしょうか。
■ Enterprise Application Access (EAA) に関するその他ブログ記事も併せてご参照ください。
リモートアクセスの変革 - Enterprise Application Access
「進め/止まれ」:セキュリティ信号を使って、安全な適応型アクセス制御
EAA Client ConnectorのTunnel接続によるVPN置き換えの実現
Enterprise Application Access (EAA) のレポート機能について
Enterprise Application Accessのアップデート: Device Posture のご紹介
Enterprise Application Access(EAA) のOKTA連携について
Enterprise Application Access(EAA) のAzure Active Directory (Azure AD) との連携について