チュートリアル: Microsoft Entra シングル サインオン (SSO) の SAP NetWeaver との統合

このチュートリアルでは、SAP NetWeaver を Microsoft Entra ID と統合する方法について説明します。 SAP NetWeaver を Microsoft Entra ID と統合すると、次のことができます。

  • SAP NetWeaver にアクセスできるユーザーを Microsoft Entra ID で制御する。
  • ユーザーが自分の Microsoft Entra アカウントを使用して SAP NetWeaver に自動的にサインインできるようにする。
  • 1 つの場所でアカウントを管理します。

前提条件

開始するには、次が必要です。

  • Microsoft Entra サブスクリプション。 サブスクリプションがない場合は、無料アカウントを取得できます。
  • SAP NetWeaver でのシングル サインオン (SSO) が有効なサブスクリプション。
  • SAP NetWeaver V7.20 以降

シナリオの説明

  • SAP NetWeaver では、SAML (SP Initiated SSO) と OAuth の両方がサポートされます。 このチュートリアルでは、テスト環境で Microsoft Entra の SSO を構成してテストします。

Note

このアプリケーションの識別子は固定文字列値であるため、1 つのテナントで構成できるインスタンスは 1 つだけです。

注意

自分の組織の要件に応じて SAML または OAuth でアプリケーションを構成してください。

Microsoft Entra ID への SAP NetWeaver の統合を構成するには、ギャラリーから管理対象 SaaS アプリの一覧に SAP NetWeaver を追加する必要があります。

  1. クラウド アプリケーション管理者以上として Microsoft Entra 管理センターにサインインします。
  2. [ID]>[アプリケーション]>[エンタープライズ アプリケーション]>[新しいアプリケーション] に移動します。
  3. [ギャラリーから追加する] セクションで、検索ボックスに、「SAP NetWeaver」と入力します。
  4. 結果パネルから [SAP NetWeaver] を選択し、アプリを追加します。 お使いのテナントにアプリが追加されるのを数秒待機します。

または、Enterprise App Configuration ウィザードを使用することもできます。 このウィザードでは、SSO の構成に加えて、テナントへのアプリケーションの追加、アプリへのユーザーとグループの追加、ロールの割り当てを行うことができます。 Microsoft 365 ウィザードの詳細をご覧ください。

SAP NetWeaver 用に Microsoft Entra SSO を構成してテストする

B.Simon というテスト ユーザーを使用して、SAP NetWeaver に対する Microsoft Entra SSO を構成してテストします。 SSO が機能するためには、Microsoft Entra ユーザーと SAP NetWeaver の関連ユーザーとの間にリンク関係を確立する必要があります。

SAP NetWeaver に対する Microsoft Entra SSO を構成してテストするには、次の手順を行います。

  1. Microsoft Entra SSO を構成して、ユーザーがこの機能を使用できるようにします。
    1. Microsoft Entra テスト ユーザーを作成し、B.Simon を使用して Microsoft Entra シングル サインオンをテストします。
    2. Microsoft Entra テスト ユーザーを割り当て、B.Simon が Microsoft Entra シングル サインオンを使用できるようにします。
  2. SAML を使用した SAP NetWeaver の構成 - アプリケーション側で SSO 設定を構成します。
    1. SAP NetWeaver のテスト ユーザーの作成 - SAP NetWeaver で B.Simon に対応するユーザーを作成し、Microsoft Entra の 当該ユーザーにリンクさせます。
  3. SSO のテスト - 構成が機能するかどうかを確認します。
  4. SAP NetWeaver の OAuth 向け構成 - アプリケーション側で OAuth 設定を構成します。

Microsoft Entra SSO の構成

このセクションでは、Microsoft Entra のシングル サインオンを有効にします。

SAP NetWeaver で Microsoft Entra シングル サインオンを構成するには、次の手順を実行します。

  1. 新しい Web ブラウザー ウィンドウを開き、SAP NetWeaver 企業サイトに管理者としてサインインします。

  2. http および https サービスがアクティブであり、SMICM T-Code で適切なポートが割り当てられていることを確認します。

  3. SAP システム (T01) のビジネス クライアントにサインオンします。SSO が必要であり、HTTP セキュリティ セッション管理をアクティブ化します。

    1. トランザクション コードの SICF_SESSIONS に移動します。 すべての関連プロファイル パラメーターと現在の値が表示されます。 次のように表示されます。

      login/create_sso2_ticket = 2
      login/accept_sso2_ticket = 1
      login/ticketcache_entries_max = 1000
      login/ticketcache_off = 0  login/ticket_only_by_https = 0 
      icf/set_HTTPonly_flag_on_cookies = 3
      icf/user_recheck = 0  http/security_session_timeout = 1800
      http/security_context_cache_size = 2500
      rdisp/plugin_auto_logout = 1800
      rdisp/autothtime = 60
      

      注意

      組織の要件に合わせて上記のパラメーターを調整します。上記のパラメーターは参考用にのみ示してあります。

    2. 必要に応じて SAP システムのインスタンスまたは既定プロファイルでパラメーターを調整し、SAP システムを再起動します。

    3. 関連するクライアントをダブルクリックして、HTTP セキュリティ セッションを有効にします。

      HTTP セキュリティ セッション

    4. 以下の SICF サービスをアクティブ化します。

      /sap/public/bc/sec/saml2
      /sap/public/bc/sec/cdc_ext_service
      /sap/bc/webdynpro/sap/saml2
      /sap/bc/webdynpro/sap/sec_diag_tool (This is only to enable / disable trace)
      
  4. SAP システム [T01/122] のビジネス クライアントでトランザクション コード SAML2 に移動します。 ブラウザーでユーザー インターフェイスが開きます。 この例では、SAP ビジネス クライアントとして 122 を想定しています。

    トランザクション コード

  5. ユーザー インターフェイスに入るためのユーザー名とパスワードを指定し、 [Edit](編集) をクリックします。

    ユーザー名とパスワード

  6. プロバイダー名 を T01122 から http://T01122 に変更し、 [保存] をクリックします。

    Note

    既定ではプロバイダー名は <sid><client> という形式ですが、Microsoft Entra ID では <protocol>://<name> という形式の名前が想定されています。プロバイダー名は https://<sid><client> のままにして、Microsoft Entra ID で複数の SAP NetWeaver ABAP エンジンを構成できるようにすることをお勧めします。

    複数の SAP NetWeaver ABAP エンジン

  7. サービス プロバイダー メタデータの生成:- SAML 2.0 ユーザー インターフェイスで [ローカル プロバイダー] 設定と [信頼されたプロバイダー] 設定の構成が完了したら、次のステップでは、サービス プロバイダーのメタデータ ファイルを生成します (これには SAP におけるすべての設定、認証コンテキスト、その他の構成が含まれることになります)。 このファイルが生成されたら、このファイルを Microsoft Entra ID にアップロードします。

    サービス プロバイダーのメタデータを生成する

    1. [Local Provider](ローカル プロバイダー) タブに移動します。

    2. [Metadata](メタデータ) をクリックします。

    3. 生成されたメタデータ XML ファイルをコンピューターに保存し、それを Azure portal の [基本的な SAML 構成] セクションにアップロードして、 [識別子][応答 URL] の値を自動的に設定します。

次の手順に従って Microsoft Entra SSO を有効にします。

  1. クラウド アプリケーション管理者以上として Microsoft Entra 管理センターにサインインします。

  2. [ID]>[アプリケーション]>[エンタープライズ アプリケーション]>[SAP NetWeaver] アプリケーション統合ページに移動し、[管理] セクションを見つけて、[シングル サインオン] を選択します。

  3. [シングル サインオン方式の選択] ページで、 [SAML] を選択します。

  4. [SAML によるシングル サインオンのセットアップ] ページで、 [基本的な SAML 構成] の鉛筆アイコンをクリックして設定を編集します。

    基本的な SAML 構成を編集する

  5. [基本的な SAML 構成] セクションで、アプリケーションを IDP 開始モードで構成する場合は、次の手順を実行します。

    1. [メタデータ ファイルをアップロードする] をクリックして、前に取得したサービス プロバイダー メタデータ ファイルをアップロードします。

    2. フォルダー ロゴをクリックしてメタデータ ファイルを選択し、 [アップロード] をクリックします。

    3. メタデータ ファイルが正常にアップロードされると、次に示すように、識別子応答 URL の値が、 [基本的な SAML 構成] セクションのテキスト ボックスに自動的に設定されます。

    4. [サインオン URL] ボックスに、https://<your company instance of SAP NetWeaver> という形式で URL を入力します。

    Note

    一部のお客様からは、インスタンスに対して構成された応答 URL に誤りがあるというエラーの報告を受けています。 このようなエラーが発生した場合は、これらの PowerShell コマンドを使用します。 まず、アプリケーション オブジェクト内の応答 URL をこの応答 URL で更新してから、サービス プリンシパルを更新します。 Get-MgServicePrincipal を使用して、サービス プリンシパル ID の値を取得します。

    $params = @{
       web = @{
          redirectUris = "<Your Correct Reply URL>"
       }
    }
    Update-MgApplication -ApplicationId "<Application ID>" -BodyParameter $params
    Update-MgServicePrincipal -ServicePrincipalId "<Service Principal ID>" -ReplyUrls "<Your Correct Reply URL>"
    
  6. SAP NetWeaver アプリケーションでは、特定の形式の SAML アサーションを使用するため、カスタム属性マッピングを SAML トークン属性の構成に追加する必要があります。 次のスクリーンショットには、既定の属性一覧が示されています。 [編集] アイコンをクリックして、[ユーザー属性] ダイアログを開きます。

    属性を編集する

  7. [ユーザー属性] ダイアログの [ユーザーの要求] セクションで、上の図のように SAML トークン属性を構成し、次の手順を実行します。

    1. [編集] アイコンをクリックして、 [ユーザー要求の管理] ダイアログを開きます。

      [編集] アイコン

      image

    2. [変換] の一覧で、ExtractMailPrefix() を選択します。

    3. [パラメーター 1] の一覧で、user.userprincipalname を選択します。

    4. [保存] をクリックします。

  8. [SAML でシングル サインオンをセットアップします] ページの [SAML 署名証明書] セクションで、 [フェデレーション メタデータ XML] を探して [ダウンロード] を選択し、証明書をダウンロードしてコンピューターに保存します。

    証明書のダウンロードのリンク

  9. [SAP NetWeaver の設定] セクションで、要件に基づいて適切な URL をコピーします。

    構成 URL をコピーする

Microsoft Entra テスト ユーザーを作成する

このセクションでは、B.Simon というテスト ユーザーを作成します。

  1. Microsoft Entra 管理センターユーザー管理者以上でサインインしてください。
  2. [ID]>[ユーザー]>[すべてのユーザー] の順に移動します。
  3. 画面の上部で [新しいユーザー]>[新しいユーザーの作成] を選択します。
  4. [ユーザー] プロパティで、以下の手順を実行します。
    1. "表示名" フィールドに「B.Simon」と入力します。
    2. [ユーザー プリンシパル名] フィールドに「username@companydomain.extension」と入力します。 たとえば、「 B.Simon@contoso.com 」のように入力します。
    3. [パスワードを表示] チェック ボックスをオンにし、 [パスワード] ボックスに表示された値を書き留めます。
    4. [Review + create](レビュー + 作成) を選択します。
  5. [作成] を選択します。

Microsoft Entra テスト ユーザーを割り当てる

このセクションでは、B.Simon に SAP NetWeaver へのアクセスを許可することで、このユーザーがシングル サインオンを使用できるようにします。

  1. クラウド アプリケーション管理者以上として Microsoft Entra 管理センターにサインインします。
  2. [ID]>[アプリケーション]>[エンタープライズ アプリケーション]>[SAP NetWeaver] の順に移動します。
  3. アプリの概要ページで、 [管理] セクションを見つけて、 [ユーザーとグループ] を選択します。
  4. [ユーザーの追加] を選択し、 [割り当ての追加] ダイアログで [ユーザーとグループ] を選択します。
  5. [ユーザーとグループ] ダイアログの [ユーザー] の一覧から [B.Simon] を選択し、画面の下部にある [選択] ボタンをクリックします。 ユーザーにロールが割り当てられることが想定される場合は、 [ロールの選択] ドロップダウンからそれを選択できます。 このアプリに対してロールが設定されていない場合は、[既定のアクセス] ロールが選択されていることを確認します。
  6. [割り当ての追加] ダイアログで、 [割り当て] をクリックします。

SAML を使用した SAP NetWeaver の構成

  1. SAP システムにサインインし、トランザクション コード SAML2 に移動します。 新しいブラウザー ウィンドウで SAML 構成画面が開きます。

  2. 信頼できる ID プロバイダー (Microsoft Entra ID) のエンド ポイントを構成するには、[Trusted Providers](信頼できるプロバイダー) タブに移動します。

    シングル サインオンの構成 (信頼できるプロバイダー)

  3. [Add](追加) をクリックして、コンテキスト メニューから [Upload Metadata File](メタデータ ファイルのアップロード) を選択します。

    シングル サインオンの構成 2

  4. 先ほどダウンロードしたメタデータ ファイルをアップロードします。

    シングル サインオンの構成 3

  5. 次の画面で、エイリアス名を入力します。 たとえば aadsts と入力して、[次へ] を押して次に進みます。

    シングル サインオンの構成 4

  6. [Digest Algorithm](ダイジェスト アルゴリズム)[SHA-256] であることを確認します。何も変更する必要はありません。[Next](次へ) をクリックします。

    シングル サインオンの構成 5

  7. [Single Sign-On Endpoints](シングル サインオン エンドポイント) では [HTTP POST] を使用し、[Next](次へ) をクリックして続行します。

    シングル サインオンの構成 6

  8. [Single Logout Endpoints](シングル ログアウト エンドポイント) では [HTTPRedirect] を選択し、[Next](次へ) をクリックして続行します。

    シングル サインオンの構成 7

  9. [Artifact Endpoints](アーティファクト エンドポイント) では、[Next](次へ) をクリックして続行します。

    シングル サインオンの構成 8

  10. [Authentication Requirements](認証要件) では、[Finish](完了) をクリックします。

    シングル サインオンの構成 9

  11. [Trusted Providers](信頼できるプロバイダー)>[Identity Federation](ID フェデレーション) タブ (画面下部) に移動します。 [編集] をクリックします。

    シングル サインオンの構成 10

  12. [Identity Federation](ID フェデレーション) タブ (下のウィンドウ) で [Add](追加) をクリックします。

    シングル サインオンの構成 11

  13. ポップアップ ウィンドウで [Supported NameID formats](サポートされる名前 ID 形式) から [Unspecified](未指定) を選択し、[OK] をクリックします。

    シングル サインオンの構成 12

  14. [User ID Source](ユーザー ID ソース) の値として「Assertion Attribute」を、 [User ID mapping mode](ユーザー ID マッピング モード) の値として「Email」を、 [Assertion Attribute Name](アサーション属性名) の値として「http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name」を指定します。

    Configure single sign-on

  15. [User ID Source](ユーザー ID ソース)[User ID mapping mode](ユーザー ID マッピング モード) の値によって、SAP ユーザーと Microsoft Entra 要求の間のリンクが決まることに注意してください。

シナリオ: SAP ユーザーから Microsoft Entra ユーザーへのマッピング。

  1. SAP の NameID 詳細スクリーンショット。

    シングル サインオンの構成 13

  2. Microsoft Entra ID からの必須要求に関するスクリーンショット。

    シングル サインオンの構成 14

    シナリオ:SU01 で構成済みのメール アドレスに基づいて SAP ユーザー ID を選択する。 このケースでは、SSO を必要とする各ユーザーの su01 でメール ID を構成する必要があります。

    1. SAP の NameID 詳細スクリーンショット。

      シングル サインオンの構成 15

    2. Microsoft Entra ID からの必須要求に関するスクリーンショット。

    シングル サインオンの構成 16

  3. [Save](保存) をクリックし、[Enable](有効) をクリックして ID プロバイダーを有効にします。

    シングル サインオンの構成 17

  4. メッセージが表示されたら、[OK] をクリックします。

    シングル サインオンの構成 18

SAP NetWeaver のテスト ユーザーの作成

このセクションでは、SAP NetWeaver で B.simon というユーザーを作成します。 社内の SAP 専門家チームまたは組織の SAP パートナーと協力して、SAP NetWeaver プラットフォームにユーザーを追加してください。

SSO のテスト

  1. ID プロバイダーの Microsoft Entra ID がアクティブになったら、以下の URL にアクセスして SSO をチェックし、ユーザー名とパスワードのプロンプトが表示されないことを確認します。

    https://<sapurl>/sap/bc/bsp/sap/it00/default.htm

    (または) 下記の URL を使用します

    https://<sapurl>/sap/bc/bsp/sap/it00/default.htm

    注意

    sapurl は実際の SAP のホスト名に置き換えます。

  2. 上記の URL により、下の画面に移動するはずです。 下のページに移動できる場合、Microsoft Entra SSO のセットアップは正常に行われています。

    シングル サインオンのテスト

  3. ユーザー名とパスワードのプロンプトが表示された場合は、以下のように URL を使用してトレースを有効にすることで、問題を診断できます。

    https://<sapurl>/sap/bc/webdynpro/sap/sec_diag_tool?sap-client=122&sap-language=EN#

SAP NetWeaver の OAuth 向け構成

  1. SAP によって文書化されたプロセスが「NetWeaver Gateway サービスの有効化と OAuth 2.0 スコープの作成」に記載されています

  2. SPRO に移動し、[Activate and Maintain services](サービスのアクティブ化と管理) を探します。

    サービスのアクティブ化と管理

  3. この例では、OAuth を使用した OData サービス DAAG_MNGGRP を Microsoft Entra SSO に接続します。 テクニカル サービス名の検索を使用して、DAAG_MNGGRP というサービスを探し、まだアクティブ ([ICF nodes](ICF ノード) タブで green 状態を確認) になっていない場合はアクティブ化します。 システム エイリアス (サービスが実際に実行される接続先バックエンド システム) が正しいことを確認してください。

    OData サービス

    • 次に、最上部にあるボタン バーの [OAuth] ボタンをクリックし、scope を割り当てます (既定の名前をそのまま使用してください)。
  4. この例では、スコープは DAAG_MNGGRP_001 です。 これは、自動的に番号を追加することでサービス名から生成されます。 レポート /IWFND/R_OAUTH_SCOPES は、スコープの名前の変更または作成を手動で行うために使用できます。

    OAuth の構成

    注意

    soft state status is not supported というメッセージは問題ないので無視してかまいません。

OAuth 2.0 クライアントのサービス ユーザーを作成する

  1. OAuth2 では、service ID を使用してエンドユーザーのアクセス トークンを代わりに取得します。 OAuth の設計上の重要な制限として、OAuth 2.0 Client ID は、OAuth 2.0 クライアントがアクセス トークンを要求する際のログインに使用される username と一致している必要があります。 したがって、この例では、CLIENT1 という名前で OAuth 2.0 クライアントを登録することになります。 前提条件として、同じ名前 (CLIENT1) を持つユーザーが SAP システム内に存在する必要があり、参照されるアプリケーションによってそのユーザーが使用されるように構成します。

  2. OAuth クライアントを登録する際は、SAML Bearer Grant type を使用します。

    注意

    詳細については、こちらの「SAML ベアラー付与タイプでの OAuth 2.0 クライアントの登録」を参照してください。

  3. T-Code SU01 を実行してユーザー CLIENT1 を System type として作成し、パスワードを割り当てます。 この資格情報は API プログラマに提供する必要があるため、パスワードを保存します。プログラマはそれをユーザー名と共に呼び出しコードに保存する必要があります。 プロファイルやロールを割り当てる必要はありません。

新しい OAuth 2.0 クライアント ID を作成ウィザードで登録する

  1. 新しい OAuth 2.0 クライアントを登録するために、トランザクション SOAUTH2 を開始します。 このトランザクションは、既に登録されている OAuth 2.0 クライアントについての概要を表示します。 この例では CLIENT1 という名前の新しい OAuth クライアントのために、[作成] を選択してウィザードを起動します。

  2. T-Code: SOAUTH2 に移動して説明を入力し、 [next](次へ) をクリックします。

    SOAUTH2

    OAuth 2.0 クライアント ID

  3. あらかじめ追加されている [SAML2 IdP - Microsoft Entra ID] をドロップダウン リストから選択して保存します。

    SAML2 IdP – Microsoft Entra ID 1

    SAML2 IdP – Microsoft Entra ID 2

    SAML2 IdP – Microsoft Entra ID 3

  4. [Scope Assignment](スコープ割り当て) の下の [Add](追加) をクリックして、前に作成されたスコープ (DAAG_MNGGRP_001) を追加します。

    Scope

    スコープの割り当て

  5. [finish](完了) をクリックします。

次のステップ

Microsoft Entra SAP NetWeaver を構成したら、組織の機密データを流出と侵入からリアルタイムで保護するセッション制御を適用できます。 セッション制御は、条件付きアクセスを拡張したものです。 Microsoft Defender for Cloud Apps でセッション制御を強制する方法をご覧ください。