目次
はじめに
S/4HANA Cloud Public Edition(S4HC)はマルチテナント型のクラウドERPです。ERPという企業のリソースに関わる情報をクラウド上で管理するため、セキュリティを気にする方も多いと思います。
認証はSAP Cloud Identity Services(CIS)という、通常はSAP Business Technology Platform(BTP)で提供されるサービスがS4HCにバンドルされて提供され、そこで管理されます。
このCIS上でアカウントを管理して認証を行うこともできますが、Microsoft Entra ID等の企業Idpを導入済なのであれば、それと連携してシングルサインオンを構築することで次のことが期待できます。
- CIS上のアカウント管理が不要になるため、運用工数削減
- 退職者等の削除漏れ防止によって、セキュリティ強化
- EntraIDで管理されたデバイスからのみアクセス可能になることでの、セキュリティ強化
- ユーザが認証情報を入力不要となることの利便性向上
これら期待効果を確認するために、Entra IDをIdpとしたシングルサインオンを構築してみました。
CISはS4HCに限定せず、SAPのクラウドアプリケーション群の認証を司るサービスです。以下のように相互に信頼関係を構築し、CIS上の認証をCorporate Idpに移譲することで、シングルサインオンを構築します。今回はS4HCのみを対象としました。
CISはS4HCにバンドルされているものですから、S4HC↔CIS間の信頼関係は初めから構築されています。そのため、Corporate Idp(Entra ID)↔CIS間の信頼関係を構築します。信頼関係は相互にメタデータファイルを読み込むことで構築します。
設定手順
設定手順は以下の通りです。
- CISからテナントの①SAMLメタデータを出力
- Entra IDでギャラリーからの SAP Cloud Identity Services の追加
- ①SAMLメタデータを読み込んで、Microsoft Entra SSO の構成
- Entra IDの②SAMLメタデータを出力
- CISに②SAMLメタデータを読み込んで③Corporate Idpを登録
- CISのS4HCテナントのConditional Authenticationで③Corporate Idpを指定
- 動作確認
設定方法について簡単に記載します。
1.CISからテナントの①SAMLメタデータを出力
CISの管理者権限でログインし、Tenant SettingからSAMLメタデータをダウンロードします。
2.Entra IDでギャラリーからの SAP Cloud Identity Services の追加
ギャラリーにCISが存在しているので、それを追加します。
3.①SAMLメタデータを読み込んで、Microsoft Entra SSO の構成
Entra ID→CISの信頼関係を構築します。設定内容を個別に入力することもできますが、先ほどダウンロードした①SAMLメタデータを読み込ませることで、必要な情報はセットされます。必要であれば以下の属性マッピングを編集して保存しますが、今回の場合は変更不要でした。
また、SSOを許可するユーザも設定します。
4.Entra IDの②SAMLメタデータを出力
[Set up Single Sign-On with SAML](SAML でシングル サインオンをセットアップします) ページの [SAML Signing Certificate](SAML 署名証明書) セクションで、 [ダウンロード] をクリックしてメタデータ XMLをダウンロードします。
5.CISに②SAMLメタデータを読み込んで③Corporate Idpを登録
CISに戻り、”Corporate Identity Providers”に新たなIdpを作成します。
②SAMLメタデータを指定して読み込ませます。これでCIS→Entra IDの信頼関係が構築されます。
6.CISのS4HCテナントのConditional Authenticationで③Corporate Idpを指定
CIS上のアプリケーションS4HCのDefault Identity Providerに先ほど登録した③Corporate Idpを選択します。
7.動作確認
S4HCへアクセスし、シングルサインオンできることを確認します。こまかな動きを確認するにはSAML-tracerが便利です。
最後に
SaaSばかりの連携ですので、ブラウザポチポチですべての設定が完了してしまいます。今回はほぼデフォルト設定のまま進められたので、その点でも特につまずくことはありませんでした。然しながら、過去にはなかなかうまくいかずに、SAML-tracerのログを一つ一つ追って、原因を調査したこともあります。また、デフォルト設定ではないような、例えばCIS↔Entra ID間の連携のキーを社員番号にする、といった場合にはその設定を行う必要があります。
簡単に設定はできてしまいますが、やはり次の2点が重要です。
- 簡単にできても、その要素技術は深く把握すべき
- デフォルトで設定できるような標準的な使い方をすべき
CISは認証を司るサービスですので、シングルサインオンだけでなく多要素認証、IPレンジやEMailドメインによるアクセス制御なども可能です。次回は特権ユーザに多要素認証を適用する方法について投稿します。