Amazon Web Services ブログ

SAP Fioriを多要素認証(MFA)でよりセキュアに

はじめに

クラウドセキュリティは、「Job Zero」としてAWSでは最優先事項として位置付けています。AWSはお客様との責任共有モデルに基づき、ホストOSや仮想化レイヤーからサービスを運用する施設の物理的なセキュリティに至るまで、コンポーネントを管理・制御しています。お客様は、ゲストOS(アップデートやセキュリティパッチを含む)、その他の関連アプリケーションソフトウェア、およびAWSが提供するセキュリティグループのファイアウォールの設定について責任と管理を負います。お客様の責任は、使用するサービス、それらのサービスのIT環境への統合、および適用される法律や規制によって異なるため、お客様は選択するサービスを慎重に検討する必要があります。私たちは、アプリケーションレベルのセキュリティ対策を実現するために、お客様が活用できる様々なベストプラクティス・ドキュメント、暗号化ツール、その他のガイダンスを提供しています。

今回のブログでは、AWSを利用しているSAPのお客様向けに、SAP Fiori(SAP S/4HANAシステムのユーザーインターフェース)に多要素認証(MFA)を実装するためのハウツーをご紹介します。MFAを実装すると、ユーザー名とパスワードの上に、さらに保護の層が追加されます。ユーザーが SAP Fiori にサインインする際には、ユーザー名とパスワード(第一要素-ユーザーが知っているもの)に加えて、MFA デバイスからの認証コード(第二要素-ユーザーが持っているもの)の入力が求められます。これにより、ユーザー認証情報が漏洩した場合のブルートフォース攻撃などのセキュリティリスクを軽減することができます。

SAPのお客様の多くがMicrosoft Active Directoryを利用していることから、本ソリューションのアーキテクチャでは、ディレクトリサービスとしてAWS Managed Microsoft ADを使用し、MFAデバイスの管理にはAWS Single Sign-On(AWS SSO)を使用しています。実装の詳細についても、ステップバイステップで説明してゆきます。

ソリューション概要

上の図は、ユーザーがブラウザから SAP Fiori にアクセスし、SAML2 メカニズムを利用して AWS SSO と AWS Managed Microsoft AD に接続する際の認証の流れを示しています。

上の2つ目の図のように、SAML2 メカニズムを使って SAP Fiori と統合するために AWS SSO を設定し、ユーザー認証のためのディレクトリサービスとして AWS Managed Microsoft AD を参照します。AD管理サーバーは、ADUC(Active Directory Users and Computers)ツールを使って、ここからActive Directoryを管理します。アプリケーションロードバランサー(ALB)は、パブリックサブネットの SAP web dispatcherとともに、プライベートサブネットのSAP S/4HANAサーバーに組み込まれたSAP Fioriへのリバースプロキシとして機能します。この構成により、ユーザーはインターネット接続を通じてSAP Fioriにアクセスできるようになります。

AWS SSO は、SAP Fiori などの AWS リソースへのアクセスを、複数の AWS アカウントにまたがってユーザーに付与することができるクラウドサービスです。AWS Managed Microsoft AD は、AWS クラウド上でマネージド Microsoft Active Directory を使用することができます。SAP Fiori と同様に、AWS Managed Microsoft AD でユーザーとグループを作成し、管理します。

別のシナリオとして、既存のADドメインのユーザーやグループなどのオブジェクトを認証に再利用したい場合は、既存のActive DirectoryドメインとAWS Managed Microsoft ADの間にAD 信頼関係を作成することができます。また、既存のActive DirectoryドメインをAWSに拡張し、Amazon EC2インスタンス上にActive Directoryのセカンダリドメインコントローラを作成することで、AWS Managed Microsoft ADの使用を代替するシナリオもあります。

前提条件

  1. Patrick LeungによるAWS for SAPブログに記載されている通りに、AWS SSOとSAP Fioriの設定を実施するか、このドキュメントの通りにアプリケーションを “SAP Fiori ABAP “として定義する際にAWS SSOウィザードに従うことができます。
  2. 上記を行った上で、SAP FioriからSICFトランザクションコードを使用して、以下のSAML2設定を有効にしてください。
  3. ログオンとログオフのユーザーエクスペリエンスを向上させるために、以下の変更をお勧めします。
    • SAP Fiori で SAPノート 2673366(SAP S-User ID is required to access)を適用する。これにより、ユーザーがログオン時に使用する Identity Provider を手動で選択する必要がなくなります。
    • SAP Fiori では、シングルログアウトエンドポイントを https://<SSOStartPage>/start#/signout への HTTP リダイレクトとして設定することができます。これにより、ユーザーは AWS SSO Start ページにリダイレクトされ、SAP Fiori から自動的にログオフすることができます。

  1. このドキュメントで説明されている手順に従って、AWS Managed Microsoft ADを導入することができます。
  2. AD管理サーバーがプライベートサブネットにあり、上記で作成したADに参加し、関連するADUC(Active Directory Users and Computers)ツールを持っていることを確認する必要があります。そのためには、以下の手順を踏む必要があります。

ソリューションの導入

  1. AWS SSOの「設定」で、IDソースをAWS SSOから、前提となる手順4で導入した「AWS Managed Microsoft AD」に変更します。
  2. そして、ポリシーの「ユーザーが登録済みのMFAデバイスを持っていない場合」を「サインイン時にMFAデバイスの登録を求める」に設定します。これにより、すべてのユーザーがMFAに対応できるようになります。
  3. AWS SSOの「アプリケーション」で、特定のADユーザーグループ(例:「Domain Users」)を「SAP Fiori ABAP」アプリケーションに割り当てることで、ユーザーを作成してこのグループに割り当てると、SAP Fioriへのアクセスが自動的に許可されるようになります。

ソリューションテスト

  1. AWSのMicrosoft ADでは、WindowsのRDPを使ってユーザーやグループを作成・管理します。”Server Manager “から “Active Directory Users and Computers “を選択します。
  2. ドメインコープ→ユーザーを参照することができます。ユーザーのメールアドレスに注意してください。
  3. メールアドレスは、SAP FioriのユーザーActive Directoryのユーザーをマッピングする際に使用する属性です。メールアドレスは、Microsoft 社が推奨(こちらのドキュメントも参照)する UPN(user principal name)属性に反映されます。もし、現在のADでそうなっていない場合は、適宜調整する必要があります。以下は、このマッピングを駆動するAWS SSO構成のスクリーンショットです。何らかの理由でこのマッピングを使用できない場合は、ユーザー属性マッピングのドキュメントを参照して、代替のマッピングを確認してください。

  4. SAP Fiori では、トランザクションコードSU01を使用して、上記のように AD ユーザープリンシパル名 (UPN) 属性値に一致する同じ電子メールアドレスを持つユーザーを作成します。本番環境では、トランザクションコードLDAP*を使用してスケジュールされたジョブを設定することで、Managed Microsoft AD から SAP Fiori User ID を自動的に複製することができます
  5. 次の URL https://<sapfiori.example.com>/sap/bc/ui5_ui5/ui2/ushell/shells/abap/FioriLaunchpad.html で SAP Fiori Launchpad にアクセスしてテストします。以下のスクリーンショットのように、ユーザーが初めて SAP Fiori Launchpad にアクセスしようとすると、MFA デバイスの登録を促されます。この例では、ユーザーは「authenticator app」を選択します(サポートされているauthenticator appの一覧は、このドキュメントに記載されています)。MFA の登録が完了すると、ユーザーは SAP Fiori Launchpad.Solution Testing ScreenShot にリダイレクトされます。
  6. すべてのアクティビティが終了すると、SAP Fiori Launchpad からログオフでき、サインイン画面にリダイレクトされます。

交換または紛失したMFAデバイスの管理

MFAデバイスの交換や紛失などにより、MFAデバイスが無効になった場合は、AWS SSO→ユーザー→ユーザー名→MFAデバイスを選択し、デバイスを選択した後、削除を選択することでMFAデバイスを削除することができます。

まとめ

SAP Fioriに多要素認証を実装し、セキュリティ体制を強化する方法をステップバイステップで説明しました。 AWS SSOを利用することで、認証アプリ、セキュリティキー、ビルトイン認証などの複数のオプションをサポートし、MFAの登録を簡素化することができます。

AWS Managed Microsoft ADにより、AWS上でActive Directoryを簡単に運用することができます。また、既存のActive Directoryドメインを認証目的で使用したい場合は、「AD Trust」または「Extend to AWS」のいずれかを確立することも可能です。

SAP on AWSAWS SSOAWS Managed Microsoft ADの詳細については、AWSの製品資料をご参照ください。

翻訳はPartner SA 松本が担当しました。原文はこちらです。