Amazon Web Services ブログ

AWS SSOによるSAPシングルサインオンの有効化 パート1:SAP Netweaver ABAPとAWS SSOの統合

このブログでは、任意のSAP Netweaver ABAPとSAP Netweaver JAVAをAWS Single Sign Onと統合する方法について説明します。AWS Single Sign-On(SSO)は、複数のAWSアカウントやブラウザベースのビジネスアプリケーションのSSOアクセスを簡単に一元管理できるクラウド型のシングルサインオンサービスです。

数回クリックするだけで、独自のSSOインフラストラクチャを運用するための先行投資や継続的なメンテナンスコストをかけずに、可用性の高いSSOサービスを有効にすることができます。AWS SSOを使用することで、AWS Organizations内のすべてのアカウントに対するSSOアクセスとユーザー権限を簡単に一元管理することができます。また、AWS SSOにはSAP、Salesforce、Box、Office 365など、多くのビジネスアプリケーションとのSAML統合が組み込まれています。さらに、AWS SSOアプリケーション設定ウィザードを使用することで、Security Assertion Markup Language (SAML) 2.0統合を作成し、SAMLが有効化された任意のアプリケーションにSSOアクセスを拡張することができます。ユーザーは、AWS SSOで設定した認証情報を使ってユーザーポータルにサインインするか、既存の企業認証情報を使ってサインインするだけで、割り当てられたすべてのアカウントとアプリケーションに1か所からアクセスできます。

前提条件

このウォークスルーには以下のものが必要です。

  • AWS Organizationsで作成した組織(まだ組織を持っていない場合は、AWS Single Sign-Onによって自動的に組織が作成されます)。
  • AWS Directory Service。Microsoft Active DirectoryまたはAD Connector用にプロビジョニングされます。これらのサービスの詳細については、以下のリソースをご参照ください。
    1. AWS Managed Microsoft AD の開始方法
    2. Active Directory Connector管理ガイド

このブログでは、SAP ABAPブラウザベースのアプリケーションをAWS SSOと統合し、シングルサインオンを可能にする方法について紹介します。SAP ABAPブラウザベースのアプリケーションには複数のユースケースがあります。以下のセクションでは、すべてのABAPブラウザベースのアプリケーションに通用します。SAP ABAPブラウザベースのアプリケーションのいくつかの例を以下に挙げます。

  1. SAP Fiori
  2. SAP Webgui
  3. SAP GRC Access Control webui with NWBC (ABAP)
  4. SAP Solution Manager work center (ABAP)
  5. SAP CRM webui (ABAP)
  6. SAP SRM (ABAP)
  7. SAP BW (ABAP)
  8. SAP NWBC (Netweaver Business Client)
  9. 任意のSAP ABAPブラウザベースのアプリケーション

ソリューション概要

AWS SSOとSAP ABAPブラウザベースのアプリケーションとの統合には、業界標準のSAML 2.0を使用します。設定の手順は以下の通りです。SAP ABAPベースのブラウザアプリケーションは、Service Provider (SP) initiated のフローのみをサポートします。

ハイレベルなステップは以下の通りです。

ステップ1:AWSコンソールにログオンし、必要なSAP ABAPアプリケーションをAWS SSOに追加します。

ステップ2:SAPにログオンし、tcode RZ10を開き、DEFAULTプロファイルに必要なパラメータを設定します。

ステップ3:SMICMでhttpsが有効になっていることを確認します。

ステップ4:SICFで必要なサービスを起動します。

ステップ5:SAML2を有効化します。

ステップ6:SAML2ローカル・プロバイダーを作成します。

ステップ7:SAP ABAPからSAML 2.0ローカルプロバイダのメタデータをダウンロードします。

ステップ8:SAP ABAP SAML 2.0のメタデータをAWS SSOにアップロードします。

ステップ9:AWS SSOメタデータファイルをダウンロードします。

ステップ10:AWS SSOメタデータファイルをSAP ABAP SAML 2.0ローカルプロバイダにアップロードします。

ステップ11:SAP SAML Trusted Providerを有効化します。

ステップ12:AWS SSOにアプリケーションのURLを追加します。

ステップ13:アクティブディレクトリからAWS SSOアプリケーションへユーザーを追加します。

ステップ14:SAP SU01でEメールのIDをマッピングします。

ステップ15:URLを起動し、SAPアプリケーションをテストします。

ステップ1:AWSコンソールにログオンし、必要なSAP ABAPアプリケーションをAWS SSOに追加します

  • AWS SSOコンソールにログオンし、AWS SSOを起動します。
  • Manage SSO access to your cloud applicationsを選択します。
  • Add New Applicationを選択します。
  • 任意の SAP ABAP ブラウザベースのアプリを検索します。この例では、SAP Fiori アプリを追加しています。
  • SAP Fiori ABAP Applicationを選択し、Add Applicationを選択します。
  • View instructionsをクリックし、完全なステップバイステップの手順が表示されます。
  • 複数のSAPインスタンスにこのサービスを使用する場合、識別のために、SAPインスタンスのシステムID(SID)などの詳細情報を含むように、アプリ名をカスタマイズします。

ステップ2:SAPにログオンし、tcode RZ10を開き、DEFAULTプロファイルに必要なパラメータを設定します

SAP にログオンし、トランザクションコード RZ10 を入力します。DEFAULTプロファイルを開き、extended maintenanceをクリックして、以下のパラメータを追加します。これらのパラメータを有効化するために、SAPインスタンスを再起動します。

パラメータ名 パラメータ値
login/create_sso2_ticket 2
login/accept_sso2_ticket 1
login/ticketcache_entries_max 1000
login/ticketcache_off 0
login/ticket_only_by_https 1
icf/set_HTTPonly_flag_on_cookies 0
icf/user_recheck 1
http/security_session_timeout 1800
http/security_context_cache_size 2500
rdisp/plugin_auto_logout 1800
rdisp/autothtime 60

ステップ3:SMICMでhttpsが有効になっていることを確認します

SMICMにアクセスし、httpsが有効かどうかを確認します。アクティブになっていない場合、RZ10のパラメータを設定します。

icm/server_port_2=PROT=HTTPS,PORT=44300,TIMEOUT=300,PROCTIMEOUT=7200

ステップ4:SICFで必要なサービスを起動します

SAML2とSICFでcdc_ext_service servicesを起動します。

ステップ5:SAML2を有効化します

  • Tcode SAML2を開きます。
  • 注:SAML2 を起動する際のホスト名は、通常、起動元のアプリケーションサーバのものです。HAにメッセージサーバーやロードバランサーを使用している場合は、URLをメッセージサーバーまたはロードバランサーのホスト名に合わせる必要があります。ホスト名を変更せず、ホスト名またはポートの不一致があった場合、SSOに問題が発生します。ポートとホスト名が一致することが重要です。
  • Enable SAML 2.0 supportを選択します。

ステップ6:SAML2ローカル・プロバイダーを作成します

  • Create SAML 2.0 Local Providerを選択します。
  • Local Providerに名前を付けて、Nextを選択します。
  • Miscellaneous配下に、 Clock Skew Toleranceの値をデフォルトのままにして、Nextをクリックします。
  • Service Provider Settings配下のFinishをクリックします。

これで、SAML 2.0ローカルプロバイダーの設定が完了しました。

ステップ7:SAP ABAPからSAML 2.0ローカルプロバイダのメタデータをダウンロードします

  • Local Providerを選択し、Metadataを選択します。
  • Download Metadataをクリックし、SAML 2.0 Metadataをダウンロードします。Service Provider、Application Service ProviderとSecurity Token Serviceの3つのオプションがすべて選択されていることを確認します。

これで、SAML 2.0ローカルプロバイダのメタデータ(Local Provider Metadata)ファイルのダウンロードに成功しました。

ステップ8:SAP ABAP SAML 2.0のメタデータをAWS SSOにアップロードします

ステップ1で開いたAWS SSOの画面を開きます。Application SAML metadata fileをクリックし、browseをクリックします。SAP ABAP SAML 2.0 メタデータファイルをアップロードします。

ステップ9:AWS SSOメタデータファイルをダウンロードします。

InstructionsガイドページからCopy to Download AWS SSO Metadata fileを選択し、URLを別のブラウザセッションにコピーし、AWS SSOメタデータファイルをダウンロードします。

ステップ10:AWS SSOメタデータファイルをSAP ABAP SAML 2.0ローカルプロバイダにアップロードします

  • SAP SAML 2.0 trusted providerにアクセスし、AWS SSOからダウンロードしたメタデータファイルをアップロードします。
  • Trusted Providersを選択し、Add -> Upload metadata fileをクリックします。
  • Browseをクリックし、AWS SSOのMetadata fileからダウンロードしたメタデータファイルをアップロードします。
  • Provider Name配下にご自身のカスタムのエイリアス名を追加し、Nextをクリックします。
  • ご自分の組織に必要な場合、Signature and Encryption配下のDigest algorithmをSHA-2に変更することができます。 Nextを選択します。
  • Single Sign-On EndpointsHTTP-POSTをデフォルトに選択し、Nextを選択します。
  • Single Log-Out EndpointsHTTP-Redirectを選択し、Nextを選択します。
  • Artifact endpointsにデフォルト設定のままにして、Nextを選択しFinishを選択します。

これで、AWS SSOメタデータファイルをSAP ABAP SAML 2.0ローカルプロバイダにアップロードすることができました。

ステップ11:SAP SAML Trusted Providerを有効化します

  • trusted providerを選択し、Identity ProvidersEditを選択します。
  • Supported NameIDフォーマットでAddを選択し、 Identity Federation配下のUnspecifiedを選択します。
  • 次、Details of NameID Format “Unspecified”の配下に、User ID Mapping Modeの隣に、Emailを選択します。Saveをクリックし、Enable under List of Trusted Providersをクリックします。
  • SAML 2.0 Configurationの配下の“Are you sure you want to enable trusted provider”にOKを選択します。

ステップ12:AWS SSOにアプリケーションのURLを追加します

  • アプリケーションを設定するAWS SSOコンソールページに戻ります。
  • Application Propertiesの配下に、Application start URLエリアにSAP Fiori ABAP URLを入力します。
    • 注:AWSコンソールは非アクティブのためにタイムアウトする場合があります。その場合、AWSコンソールに再ログインし、必要な情報を再度入力してください。「configuration has been saved」というメッセージが表示されるはずです。

ステップ13:アクティブディレクトリからAWS SSOアプリケーションへユーザーを追加します

  • Applicationsをクリックし、 先ほど追加されたSAP Fioriアプリケーションを選択します。
  • Assigned usersをクリックし、Assign usersをクリックし、アクティブディレクトリからユーザを選択します。
  • ユーザが選択された状態でAssign usersを選択します。

ステップ14:SAP SU01でEメールのIDをマッピングします

SAP SU01にアクセスし、アクティブディレクトリからEmail idを先ほど作成されたSAPユーザに紐づけます。

ステップ15:URLを起動し、SAPアプリケーションをテストします

正しく設定されている場合、AD認証情報を使用してログインできます。

結論: シングルサインオンを設定することで、運用を簡素化し、SAPのエンドユーザーの体験を容易にすることは非常に簡単です。AWS SSOはSAML 2.0をサポートするすべてのエンタープライズアプリケーションに使用することができます。AWS SSOは無料で利用できます。マネージドADやAD Connectorと統合する場合は、下記の価格表にあるように、使用するケースに応じて、AWS上のマネージドADやAD Connectorの支払いが生じます。

AWS Directory Service の料金

その他のディレクトリタイプ の料金表

AWS SSOはSAML 2.0をサポートするブラウザベースのアプリケーションにのみ使用でき、Kerberosを必要とするSAP GUIには使用できません。以下のガイドに従って、AWS SSOのMFAを有効にすることができます。

多要素認証

このブログのパート2にて、SAP Netweaver JavaとAWS SSOの統合について紹介します。

翻訳はSpecialist SA アッシュが担当しました。原文はこちらです。