AD FSを使ってSAPのSSO環境を構築してみた

たまには、本業のSAP関連の技術を少し絡めた内容を書いてみます。

Active Directory フェデレーション サービス (AD FS) を使って、
SAMLを使ったSAP環境のSSOができないかと思い、調べながら構築してみました。

オープンソースのOpenAMとSAPのSSOをやってみた記事はこちらです。

Azure ADとの連携はこちら。




AD FSって何?SAMLって何という方はこちらの安納さんのブログが凄く参考になります。
今回、本当にお世話になりました。
【セミナー資料】AD FS 2.0 を使用して Windows Azure との SSO を実現しよう

MSC2013でのプレゼンも凄くわかりやすく参考になります。MSC2013 SC-015 - YouTube








SAPに適用してみる

今回作った環境はこのようなイメージです。

全く関係の無い3つのドメインを跨いで認証かかっているのがわかると思います。
今回はDomain Aに登録したADユーザの認証でDomain Bという別ドメインにいる、
SAP環境にログオンする構成にしました。

実際にSSOしてみる(ADFSの画面を利用)

実際にSSOしてみたイメージです。

まずはAD FS経由の認証をします。
AD FSの入っているサーバに認証画面のテンプレートのようなものがあるので、それを使ってみます。
デフォルトでは以下のURLでアクセスできます。
https://ADFS HOSTNAME/adfs/ls/idpinitiatedsignon

まずは認証をかけます。
ここで入力するユーザーとパスワードは、
Domain AのADのユーザーとパスワードになります。
SAPのものでは無いところがポイントです。

この認証の形でSSO可能なシステムを一覧できます。
今回はSAPシステムだけを並べていますが、
もちろん他のシステムもこの仕組みでSSO可能です。

実際にSAP Portalに上記のページ経由でログオンしてみました。
ADユーザとSAPユーザをマッピングしてあるので、
自分のSAPユーザでSAPシステムにログオンすることができます。


実際にSSOしてみる(SAPの画面を利用)

逆にSAP側にログインする時に、
SAPユーザではなく、ADユーザでのログオンをしてもらうように設定することもできます。
その場合はSAP側のログオン画面を以下のように変更することも可能です。

この場合はIDプロバイダーとしてADFSを指定することができます。


AD側で認証を行う形になるので、
使用するのはSAPでなくADのユーザとパスワードになります。


もちろん、ドメイン配下のWindowsクライアントからは、
Windowsにログインすれば、再度ユーザやパスワードを求められることなく、
SAPシステムにログオンできます。



SAPのSSOに関しては、会社の方のブログにも纏めて書いてます。


関連情報

参考にした情報のリンクを纏めておきます。
どれもStep By Stepで書いてあるので、役に立つと思います。
ただ恐らく、環境によって色々と変わると思います。

Single Sign-On with SAML 2.0 - Security and Identity Management - SCN Wiki

http://sapportalexpert.com/wp-content/uploads/2011/09/Step-by-Step-guide-for-SSO-from-MS-Sharepoint-2010-to-SAP-EP-7.0x.pdf

SAP EP Integration with ADFS 2.0 - SSO

Single Sign-On with SAML 2.0 and ABAP Systems Supporting SAP Logon Tickets - Security and Identity Management - SCN Wiki


Configuring AS Java as a Service Provider - User Authentication and Single Sign-On - SAP Library


Next Generation SSO for SAP Applications with SAML 2.0

  • 設定時にSAMLの用語がわからない時はこちらの資料が役に立つと思います

https://www.osstech.co.jp/_media/techinfo/opensso/osstech-opensso-study-02-saml.pdf

  • NW JAVAをIdPとして利用

Netweaver 7.2、7.3からはSAPのNetweaver JAVAインスタンスをIdPとして使えるようになっています。以下はSuccessFactorsとのSSOですが、設定方法がStep By Stepで記載されています。IDMFEDERATIONという追加コンポーネントをDeployする必要があります。
Single Sign-On between SAP Portal and SuccessFactors

SAML 2.0 and Identity Federation