SAPのソリューション

デジタルトランスフォーメーション(DX)を推進などの経営課題の解決に向けて、ERPソリューション、クラウドアプリケーションや開発・運用基盤を組み合わせて、グローバルなエコシステムを構築のためのソリューションです。

お客様の課題

業種や規模によって企業の課題は経営課題、業務課題、システム課題など多様です。さらにそれぞれ課題は単一分野の課題だけではなく、相互に関連することで複雑になっています。

GSLが提供するサービス

様々な業種に関する技術・ノウハウに裏付けられたソリューション力をベースにした豊富な SAP Business-all-in-one テンプレートワンストップサービス体制で、導入から保守までをサポートします。

お役立ち情報

NTTデータGSLは日本企業のDX推進やグローバルビジネス展開の支援を提供しています。
GSL Tech Blogでは、最新技術に関するノウハウやナレッジをまとめています。
GSLコラムでは、製品情報だけではなく、トレンドや基本的な用語の解説などをまとめています。
関連資料ダウンロードでは、お客様の課題やソリューションをまとめた資料を用意しています。
GSLニュースは、SAPソリューションをはじめ周辺系システムとの連携を通じたDX推進など、最新の情報をメールマガジンでお届けします。
GSL University Journalは、企業内大学である「GSL University」における各研究室の教授等によるインサイトや成果報告、社員からの寄稿をまとめております。
ぜひご覧いただき、お役立てください。

企業情報

日系企業のグローバル展開に伴う、システムのグローバル化需要に応えるために、NTTデータグループにおけるSAP事業の中核会社を設立し、国内のグループ会社に分散しているSAPソリューション、業務ノウハウの一体化を図り、戦略的な事業経営を目指します。

SAP Business Technology Platform
- Single Sign Onを実装してみました(後編) -

2024年2月16日

NTTデータ グローバルソリューションズ(以下 NTTデータGSL)に於けるSAP BTPの位置付けと今回のブログについてご紹介します。
NTTデータGSLは、SAP社の提唱するIntelligent Enterpriseの基盤を担うSAP Business Technology Platform (以下 SAP BTP)に関するノウハウの蓄積並びにこれを活用したオファリング開発に注力しています。
本記事では、SAP BTPのIdentity Authentication Serviceを利用したSingle Sign On(以下 SSO)についてです。ぜひ、ご一読ください。

1. 本ブログについて

本記事はSAP BTPのIdentity Authentication Service(以下 IAS)を利用したSingle Sign On(以下 SSO)の後編です。前編ではSSOの概要とテスト環境についてご紹介しました。後編ではSSOの設定内容についてです。

前編の記事は こちら :「SAP Business Technology Platform - Single Sign Onを実装してみました(前編)-」

2. 前編のおさらい:SSOとは

SSOとは一度の認証によって、複数のシステムを利用可能にする仕組みを指します。認証するシステムをIdentity Provider(以下 IdP)、SSOで利用可能なシステムをService Provider(以下 SP)と呼びます。

ITで使用される一般的な仕組みであり、SAPソリューションだけの特別な仕組みではありません。

3. 前編のおさらい:SAP BTPのIASについて

IASはビジネスプロセス、アプリケーション、データへの制御されたクラウドベースのアクセスを提供します。IASでは以下の機能を利用できます。

  • 認証とSSO
  • フォーム、SPNEGO、SNS、2段階認証などサポートされている認証の方法の1つを選択して、アプリケーションへのアクセスを制御します。SAML2.0プロトコルを使用してSSOを提供します。また、API経由の認証を使用してアプリケーションをプログラムで統合します。

  • リスクベース認証の設定
  • IPアドレス範囲、ユーザグループ、ユーザタイプ、認証方法に基づいて二段階認証を実施し、ビジネスアプリケーションへのアクセスを管理できます。

  • 代理人認証
  • サードパーティやオンプレミスのIdPにメールドメイン、ユーザグループ、ユーザタイプなどの条件に基づいて認証を委任し、オンプレミス環境とクラウド環境にまたがるSSOを可能にします。

  • APIの利用
  • SCIM REST APIを利用してユーザとグループの管理、ユーザの招待、ユーザのUIテキストは任意の言語でカスタマイズが可能です。

    4. テスト環境

    テスト環境は以下の構成です。(前編で先行公開したテスト環境の構成を見直し、シンプルな形に再構成しています)

    single-sign-on-implementation-volume-two-01.png

    IdPはIASとし、ユーザのアクセス先であるSPはSAP S/4HANA (Fiori Launchpad)と、SAP Integration Suiteを想定します。(本記事では環境準備や設定面において容易に対応が可能な、SAP BTPのSAP Integration Suiteを採用しています)

    ユーザはSPへアクセスすると、SAML認証によってIdPであるIASへリダイレクトされます。初回アクセス時はIASのIDとPasswordによる認証が発生し、以後は認証無しでのアクセスが可能です。

    以下の図は、SAML認証のダイアグラムです。SAP S/4HANAだけでなく、SAP Integration SuiteについてもSAML認証は同様の動きとなります。

    single-sign-on-implementation-volume-two-02.png

    5. 設定の流れ

    以下のように設定作業を進めていきます。設定作業は、通信相手の環境とMetadata Fileを交換して適用するイメージです。

    IAS-SAP S/4HANA間の設定

    ① IASにてSAML Metadata File、Certificate Fileのダウンロード

  • ② SAP S/4HANAにてSAML Metadata Fileのダウンロード

    ③ IASにてSAP S/4HANA向けApplication設定と②のMetadata Fileのアップロード

    ④ SAP S/4HANAにて認証済Identity Provider設定と①のMetadata File、Certificate Fileのアップロード

    IAS-SAP BTP(SAP Integration Suite)間の設定

    ⑤ SAP BTPにてTrust Configuration設定と①のMetadata Fileのアップロード

    ⑥ SAP BTPにてSAML Metadata Fileのダウンロード

    ⑦ IASにてBTP向けApplication設定と⑥のMetadata Fileのアップロード

    テストユーザの設定

    ⑧ 各環境にてテストユーザの設定

  • 6. 設定内容

    設定のサマリは以下の通りです。

    ※本文の画面イメージは2023年12月時点のものです。SAP S/4HANAやSAP BTPのUIはSAP社にて今後もアップデートされていきます。そのため、本文と一致しなくなる場合もある旨、ご承知おきください。

    ① IASにてSAML Metadata File、Certificate Fileのダウンロード

    Applications & Resources > Applications > SAML 2.0 Configurationにて、Download Metadata Fileを実行します。

    single-sign-on-implementation-volume-two-03_ver02.png

    Applications & Resources > Applications > SAML 2.0 Configuration > Signing Certificates > View Certificate にて、Certificate Informationをテキストコピーしてファイルに保存し、証明書のエクスポートウィザードにてcerファイルを作成します。

    single-sign-on-implementation-volume-two-04_ver02.png

    single-sign-on-implementation-volume-two-05.png

    single-sign-on-implementation-volume-two-06.png

    ② SAP S/4HANAにてSAML Metadata Fileのダウンロード

    トランザクション:SAML2を実行し、SAML2.0ローカルプロバイダを設定します。

  • プロバイダ名:S4H100
  • 共通ドメインクッキー 選択モード:自動
  • その他の項目:全てデフォルト
  • single-sign-on-implementation-volume-two-07.png

    メタデータ > メタデータダウンロードを実行します。

    single-sign-on-implementation-volume-two-08.png

    single-sign-on-implementation-volume-two-09.png

    ③ IASにてSAP S/4HANA向けApplication設定と②のMetadata Fileのアップロード

    Applications & Resources > Applications にて新しいApplicationを作成します。

  • Display Name:S4H100
  • Type:SAP On-premise solution
  • Protocol Type:SAML 2.0
  • single-sign-on-implementation-volume-two-10.png

    SAML2.0 Configuration > Define from Metadata File にて②のMetadata Fileをアップロードします。

    アップロードによって設定項目に値がセットされます。本例では以下の調整を実施しています。

    single-sign-on-implementation-volume-two-11.png

    Conditional Authentication > Default Authenticating Identity Provider にてDefault Identity Providerが「Identity Authentication」になっていることを確認します。

    single-sign-on-implementation-volume-two-12.png

    ④ SAP S/4HANAにて認証済Identity Provider設定と①のMetadata File、Certificate Fileのアップロード

    トランザクション:SAML2を実行し、認証されたプロバイダ > 追加 > メタデータファイルアップロードを実行します。

    single-sign-on-implementation-volume-two-13.png

    ① のMetadata FileとCertificate Fileをアップロードし、次へ進みます。

    single-sign-on-implementation-volume-two-14.png

    single-sign-on-implementation-volume-two-15.png

  • エイリアス名:IAS
  • ダイジェストアルゴリズム:SHA-256
  • その他の項目:全てデフォルト
  • とし、新規認証済アイデンティティプロバイダの設定ウィザードを終了します。

    single-sign-on-implementation-volume-two-16.png

    single-sign-on-implementation-volume-two-17.png

    single-sign-on-implementation-volume-two-18.png

    編集モードに切り替え、「サポートされる名前識別子書式」の追加を実行します。

    single-sign-on-implementation-volume-two-19.png

  • 名前識別子書式の名称:Unspecified (※未指定。SAMLの形式は特定せず、SPがIdP側で定義された書式の解釈方法を知っているものと見なすことを意味します)
  • ユーザIDマッピングモード:Email
  • アイデンティティプロバイダによる名前識別子の登録を許可:いいえ
  • その他の項目:全てデフォルト
  • とし、設定を保存します。

    single-sign-on-implementation-volume-two-20.png

    有効化を実行し、認証済みプロバイダの「有効」が緑色のになったことを確認します。

    single-sign-on-implementation-volume-two-21_ver02.png

    single-sign-on-implementation-volume-two-22.png

    ⑤ SAP BTPにてTrust Configuration設定と①のMetadata Fileのアップロード

    SAP BTPサブアカウントにて Trust Configuration > New SAML Trust Configurationを実行します。

    single-sign-on-implementation-volume-two-23.png

    MetadataのUploadボタンを実行し、①のMetadata Fileを指定してアップロードすると各項目に値がセットされます。必要に応じて値を調整しSaveします。

    ※本例ではSAP BTPサブアカウントにテストユーザを予め登録するため、Create Shadow Users During Logonのチェックを外します。

    ※Status、Available for User logon、Create Shadow User During Logonは後で変更可能です。

    single-sign-on-implementation-volume-two-24.png

    ⑥ SAP BTPにてSAML Metadata Fileのダウンロード

    Download SAML Metadataを実行します。

    single-sign-on-implementation-volume-two-25.png

    ⑦ IASにてBTP向けApplication設定と⑥のMetadata Fileのアップロード

    Applications & Resources > Applications にて新しいApplicationを作成します。

  • Display Name:BTP01
  • Type:SAP BTP solution
  • Protocol Type:SAML 2.0
  • single-sign-on-implementation-volume-two-26.png

    SAML2.0 Configuration > Define from Metadata File にて⑥のMetadata Fileをアップロードします。

    single-sign-on-implementation-volume-two-27.png

    アップロードによって設定項目に値がセットされます。本例では③と同様に調整を実施します。

    single-sign-on-implementation-volume-two-28.png

    ⑧ 各環境にてテストユーザの設定

    テストの前に、予めテストユーザをIAS、SAP S/4HANA、SAP BTPに用意しておきます。各環境のテストユーザはメールアドレスの値を一致させておく必要があります。

    また、SAP BTPのテストユーザにはSAP Integration Suiteの利用権限を付与しておきます。

    ※SAP BTPのテストユーザはIdPをIASとして登録しておく必要がありますのでご注意ください。

    single-sign-on-implementation-volume-two-29.png

    ※また、本例ではSAP BTPに二つのIdP(DefaultとIAS)が存在するため、SAP Integration Suiteへアクセスを試みると、どちらの認証プロバイダを使用するか選択する画面が表示されます。今回はIASのIdPを選択します。

    single-sign-on-implementation-volume-two-30.png

    これで設定は完了です。SAP S/4HANA(Fiori Launchpad)とIntegration Suiteの認証はいずれもIASに切り替わりました。

    single-sign-on-implementation-volume-two-31.png

    7. テスト結果

    ユーザはSAP S/4HANA(Fiori Launchpad)にアクセスすると、IASの認証画面が表示されますのでIASのIDとパスワードを入力します。

    single-sign-on-implementation-volume-two-32.png

    続行ボタンをクリックすると、SAP S/4HANA(Fiori Launchpad)のTOP画面が表示されます。(SAP S/4HANA(Fiori Launchpad)の認証画面は表示されません)

    single-sign-on-implementation-volume-two-33.png

    このブラウザのアドレスバーにSAP Integration SuiteのURLを入力すると、IASの認証画面をスキップし、Integration Suiteの画面が表示されます。

    single-sign-on-implementation-volume-two-34.png

    もちろん、逆の順序でも同様です。最初にIntegration SuiteへアクセスしIASの認証を通した後に、SAP S/4HANA(Fiori Launchpad)へアクセスすると、IASの認証画面はスキップされます。

    8. おわりに

    今回はIdPであるIASをベースに、二つのSP(SAP S/4HANAとSAP Integration Suite)を対象としたSSOのテストをしました。

    SSO等の認証機能は非機能要件であり、プロジェクト内ではアプリ要件と比較して優先度が下がったり、課題が後回しになりがちですが、IASを用いたSSOのテストは本記事に示す通り、環境準備や設定作業が容易に対応可能でハードルは高くありません。

    また、IASは特にSAPソリューションとの親和性に優れます。代表的なSAPソリューションであるSAP Analytics Cloud、SAP SuccessFactors、SAP Concurから、SAP BTP Cloud Foundry上に実装したカスタムアプリケーションに至るまで IASで認証をカバーすることができ、長期的に見て導入・運用のコストを削減することができます。

    「SSOができるのは良いけれど、各環境のユーザ情報は自分たちで登録しないといけないのか?」とお考えのみなさま、ご安心ください。本記事ではご紹介しておりませんが、クラウド・オンプレミス問わず各環境へユーザ情報を自動同期するためのソリューション:SAP Identity Provisioning Service(以下 IPS)も存在し、IASと連動して動作します。

    IAS、IPSの詳細はSAP社 Help Portalに集約されており、シナリオも豊富に用意されていますので、本記事にご興味を持たれ、さらに深堀りされたい方はご参照ください。本記事がSSOを検討する上での良いきっかけになれば幸いです。

     

    参考

  • IASとは (SAP社ドキュメント)こちら
  • IPSとは (SAP社ドキュメント)こちら
  •  

    今後も本ブログでは、引き続き皆様にお役立ちする情報を提供していきます。

    NTTデータGSLではSAPシステムの導入支援や運用のサービスを提供しています。SAPシステムの導入や運用保守でお困りごとがありましたら、お問い合わせください。

    お問い合わせ

    お問い合わせは下記フォームから受け付けております。
    お気軽にお問い合わせください。