
SAP Business Technology Platform - Single Sign Onを実装してみました(後編) -
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)についてです。ぜひ、ご一読ください。
目次[非表示]
- ・本ブログについて
- ・前編のおさらい:SSOとは
- ・前編のおさらい:SAP BTPのIASについて
- ・テスト環境
- ・設定の流れ
- ・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のアップロード
- ・テストユーザの設定
- ・テスト結果
- ・おわりに
本ブログについて
本記事はSAP BTPのIdentity Authentication Service(以下 IAS)を利用したSingle Sign On(以下 SSO)の後編です。前編ではSSOの概要とテスト環境についてご紹介しました。後編ではSSOの設定内容についてです。
前編の記事>
SAP Business Technology Platform - Single Sign Onを実装してみました(前編)-
前編のおさらい:SSOとは
SSOとは一度の認証によって、複数のシステムを利用可能にする仕組みを指します。認証するシステムをIdentity Provider(以下 IdP)、SSOで利用可能なシステムをService Provider(以下 SP)と呼びます。
ITで使用される一般的な仕組みであり、SAPソリューションだけの特別な仕組みではありません。
前編のおさらい:SAP BTPのIASについて
IASはビジネスプロセス、アプリケーション、データへの制御されたクラウドベースのアクセスを提供します。IASでは以下の機能を利用できます。
認証とSSO
フォーム、SPNEGO、SNS、2段階認証などサポートされている認証の方法の1つを選択して、アプリケーションへのアクセスを制御します。SAML2.0プロトコルを使用してSSOを提供します。また、API経由の認証を使用してアプリケーションをプログラムで統合します。
リスクベース認証の設定
IPアドレス範囲、ユーザグループ、ユーザタイプ、認証方法に基づいて二段階認証を実施し、ビジネスアプリケーションへのアクセスを管理できます。
代理人認証
サードパーティやオンプレミスのIdPにメールドメイン、ユーザグループ、ユーザタイプなどの条件に基づいて認証を委任し、オンプレミス環境とクラウド環境にまたがるSSOを可能にします。
APIの利用
SCIM REST APIを利用してユーザとグループの管理、ユーザの招待、ユーザのUIテキストは任意の言語でカスタマイズが可能です。
テスト環境
テスト環境は以下の構成です。
前編で先行公開したテスト環境の構成を見直し、シンプルな形に再構成しています。

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認証は同様の動きとなります。

設定の流れ
以下のように設定作業を進めていきます。設定作業は、通信相手の環境と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のアップロード
テストユーザの設定
- ⑧各環境にてテストユーザの設定
IAS-SAP S/4HANA間の設定
①IASにてSAML Metadata File、Certificate Fileのダウンロード
「Applications & Resources > Applications > SAML 2.0 Configuration」にて、「Download Metadata File」を実行します。

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



②SAP S/4HANAにてSAML Metadata Fileのダウンロード
トランザクション:SAML2を実行し、SAML2.0ローカルプロバイダを設定します。
- プロバイダ名:S4H100
- 共通ドメインクッキー 選択モード:自動
- その他の項目:全てデフォルト

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


③IASにてSAP S/4HANA向けApplication設定と②のMetadata Fileのアップロード
Applications & Resources > Applications にて新しいApplicationを作成します。
- Display Name:S4H100
- Type:SAP On-premise solution
- Protocol Type:SAML 2.0

「SAML2.0 Configuration > Define from Metadata File」 にて②のMetadata Fileをアップロードします。
アップロードによって設定項目に値がセットされます。本例では以下の調整を実施しています。

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

④SAP S/4HANAにて認証済Identity Provider設定と①のMetadata File、Certificate Fileのアップロード
「トランザクション:SAML2」を実行し、「認証されたプロバイダ > 追加 > メタデータファイルアップロード」を実行します。

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


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



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

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

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


IAS-SAP BTP(SAP Integration Suite)間の設定
⑤SAP BTPにてTrust Configuration設定と①のMetadata Fileのアップロード
SAP BTPサブアカウントにて「Trust Configuration > New SAML Trust Configuration」を実行します。

MetadataのUploadボタンを実行し、①のMetadata Fileを指定してアップロードすると各項目に値がセットされます。必要に応じて値を調整しSaveします。
※本例ではSAP BTPサブアカウントにテストユーザを予め登録するため、Create Shadow Users During Logonのチェックを外します。
※Status、Available for User logon、Create Shadow User During Logonは後で変更可能です。

⑥SAP BTPにてSAML Metadata Fileのダウンロード
「Download SAML Metadata」を実行します。

⑦IASにてBTP向けApplication設定と⑥のMetadata Fileのアップロード
Applications & Resources > Applications にて新しいApplicationを作成します。
- Display Name:BTP01
- Type:SAP BTP solution
- Protocol Type:SAML 2.0

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

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

テストユーザの設定
⑧各環境にてテストユーザの設定
テストの前に、予めテストユーザをIAS、SAP S/4HANA、SAP BTPに用意しておきます。各環境のテストユーザはメールアドレスの値を一致させておく必要があります。
また、SAP BTPのテストユーザにはSAP Integration Suiteの利用権限を付与しておきます。
※SAP BTPのテストユーザはIdPをIASとして登録しておく必要がありますのでご注意ください。

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

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

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

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

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

もちろん、逆の順序でも同様です。最初にIntegration SuiteへアクセスしIASの認証を通した後に、SAP S/4HANA(Fiori Launchpad)へアクセスすると、IASの認証画面はスキップされます。
おわりに
今回は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を検討する上での良いきっかけになれば幸いです。
今後も本ブログでは、引き続き皆様にお役立ちする情報を提供していきます。
NTTデータGSLではSAPシステムの導入支援や運用のサービスを提供しています。SAPシステムの導入や運用保守でお困りごとがありましたら、お問い合わせください。
次世代経営基盤戦略
SAPシステム導入ソリューションガイド
基幹システムが抱える構造的課題と解決策、NTTデータ グローバルソリューションズが提供するソリューションを紹介しています。
社内での比較検討を行う際に活用いただける内容となっています。


