チュートリアル: 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 セキュリティ セッションを有効にします。

      The HTTP Security session

    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 を想定しています。

    Transaction code

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

    username and password

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

    Note

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

    The multiple SAP NetWeaver ABAP engines

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

    Generating Service Provider Metadata

    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 構成] の鉛筆アイコンをクリックして設定を編集します。

    Edit Basic SAML Configuration

  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 トークン属性の構成に追加する必要があります。 次のスクリーンショットには、既定の属性一覧が示されています。 [編集] アイコンをクリックして、[ユーザー属性] ダイアログを開きます。

    edit attribute

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

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

      edit icon

      image

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

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

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

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

    The Certificate download link

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

    Copy configuration URLs

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](信頼できるプロバイダー) タブに移動します。

    Configure Single Sign-On Trusted Providers

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

    Configure Single Sign-On 2

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

    Configure Single Sign-On 3

  5. 次の画面で、エイリアス名を入力します。 たとえば「aadsts」と入力し、[Next](次へ) をクリックして続行します。

    Configure Single Sign-On 4

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

    Configure Single Sign-On 5

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

    Configure Single Sign-On 6

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

    Configure Single Sign-On 7

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

    Configure Single Sign-On 8

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

    Configure Single Sign-On 9

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

    Configure Single Sign-On 10

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

    Configure Single Sign-On 11

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

    Configure Single Sign-On 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 詳細スクリーンショット。

    Configure Single Sign-On 13

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

    Configure Single Sign-On 14

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

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

      Configure Single Sign-On 15

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

    Configure Single Sign-On 16

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

    Configure Single Sign-On 17

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

    Configure Single Sign-On 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 のセットアップは正常に行われています。

    test Single Sign-On

  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](サービスのアクティブ化と管理) を探します。

    Activate and Maintain services

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

    OData service

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

    Configure OAuth

    Note

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

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

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

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

    注意

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

  3. tcod: SU01 で、CLIENT1 というユーザーを System type として作成してパスワードを割り当て、保存します。必要に応じてその資格情報を API プログラマに提供します。API プログラマはそれをユーザー名と共に、呼び出し元のコードに書き込む必要があります。 プロファイルやロールを割り当てる必要はありません。

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

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

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

    SOAUTH2

    OAuth 2.0 Client 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

    scope assignment

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

次のステップ

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