none
SharePoint2010から業務システムへのシングルサインオン RRS feed

  • 質問

  • お世話になります、SharePoint2010を会社で導入しているのですが、

    初歩的な質問で大変恐縮なのですが、別業務システムへのシングルサインオン設定が

    できないか模索中でございます。インターネットでも有効な情報が見つからずここに質問させていただlきます。

    SharePoint2010からシングルサインオンの設定はSecureStoreServiceに変更となったようですが、

    SecureStoreServiceをどう設定すれば業務システムへのシングルサインオン設定が

    できるのか、いまいちわからず途方にくれております。

    やりたいことは以下の絵の通りで、SharePoint2010側で業務システムへのリンクを設定し、

    ユーザーはそのリンクをクリックしたら、業務システムに認証なしにシングルサインオンすることを目指しております。

    (※ジャンプ先の業務システムはSharePointからの認証情報等を受け取るために別途 作りこみをする前提です)

    【質問】 SecureStoreServiceでそもそも以下の絵のようなシングルサインオン機能が可能か。

          可能な場合についてやり方を少しご教授いただきたい。参考となるサイトでも結構です(英語サイトでも可能)

          また、不可能な場合の代替方法って何かございますでしょうか。

    宜しくお願いいたします。

    2014年5月6日 11:05

回答

  • front_rさん

    ジャンプ先の業務システムはSharePointからの認証情報等を受け取るために別途 作りこみをする前提とのことですので、Secure Store Service(SSS)に登録された資格情報を取得することができれば良いという認識であっていますか?
    それであれば、SSSにジャンプ先システムの名前と資格情報を登録しておき、それをAPIで引っ張ってきて、ジャンプ先に引き渡すという流れになるかと思います。

    SSSへの資格情報の登録については、この辺りに情報があります。
    http://technet.microsoft.com/ja-jp/library/ee806866(v=office.14).aspx

    次に、SSSに登録した資格情報を取得するためのAPIですが、以下にサンプルコードがあります。
    http://msdn.microsoft.com/ja-jp/library/office/ff394459(v=office.14).aspx


    これでいけそうでしょうか?

    及川


    SharePoint Developer http://sharepoint.orivers.jp

    • 回答としてマーク front_r 2014年5月25日 0:40
    2014年5月8日 5:15

すべての返信

  • front_rさん

    ジャンプ先の業務システムはSharePointからの認証情報等を受け取るために別途 作りこみをする前提とのことですので、Secure Store Service(SSS)に登録された資格情報を取得することができれば良いという認識であっていますか?
    それであれば、SSSにジャンプ先システムの名前と資格情報を登録しておき、それをAPIで引っ張ってきて、ジャンプ先に引き渡すという流れになるかと思います。

    SSSへの資格情報の登録については、この辺りに情報があります。
    http://technet.microsoft.com/ja-jp/library/ee806866(v=office.14).aspx

    次に、SSSに登録した資格情報を取得するためのAPIですが、以下にサンプルコードがあります。
    http://msdn.microsoft.com/ja-jp/library/office/ff394459(v=office.14).aspx


    これでいけそうでしょうか?

    及川


    SharePoint Developer http://sharepoint.orivers.jp

    • 回答としてマーク front_r 2014年5月25日 0:40
    2014年5月8日 5:15
  • すみません。。SSSの利用方法について及川さんにご回答頂いた流れを断ち切ってしまい申し訳ありませんが、業務システム側の作り込みが可能ならば、SharePointからの認証情報を受け取るのではなく、単に、業務アプリケーション側でWindows認証を利用するように作り込むだけでは、何か問題がありますでしょうか。

    SharePointも業務システムもADにつながっているように見え、Form認証を使っている訳でもなさそうですし。。

    問題があるとすれば、業務アプリケーションのURLを信頼済みサイトやローカルイントラネットゾーンに登録できない場合、ユーザー名とパスワードを自動で送信できず、ダイアログが表示されてしまう事ぐらいでしょうか。

    Form認証を使っている場合でも、私だったら、先ずお手軽に、認証情報をPOSTすることを考えます。

    2014年5月8日 10:23
  • たけさとさん

    お返事ありがとうございます。

    アドバイス頂いた件で、ADの構成についてもう少しご説明させていただくと、

    ADについては、SharePointの構成上必要なため、設置しております。

    ただし、そのADのユーザー情報については、業務システム側でも利用することを想定しておりまして、

    以下のようなログインの流れでシングルサインオンできればと考えております。

    ①SharePointへログイン(※ADへの認証は同時にここで行っている)

    ②SharePointの画面から業務システムのリンクをクリック

    ③業務システム画面がオープン(認証は無く業務システムメニューが表示)

    From認証はしておりませんが、SharePointで認証した資格情報から、業務システム側でそれを受け取り

    サイレントでユーザー認証を実施して業務システムメニュー画面に遷移できればと思っておりました。

    ついては、及川さんのご返答でいけそうな気がしますので一度試したいと思っております。

    本当にアドバイスありがとうございました。

    2014年5月8日 15:24
  • 及川さん

    お忙しい中お返事ありがとうございます。

    求めていた情報ズバリいただいたようで、非常に感激しております。

    1点だけ不明点を質問させてください。(※初歩的な質問かもしれませんのでご容赦ください)

    ○ご質問==================================================================

    たとえば業務システムのURLが「http://172.16.0.1/gyoumu/index.aspx」であれば、

    SSSの資格情報登録でジャンプ先URLを「http://172.16.0.1/gyoumu/index.aspx」で設定したのちに、

    SharePointのサイトページでのリンク設定については「http://172.16.0.1/gyoumu/index.aspx」をリンクするだけで

    業務システム側のAPIで資格情報を取得できるとい理解でよろしいでしょうか。

    ========================================================================

    あす、早速ためしてみますので、結果 については明日連携させていただきます。

    今回の件、いろんなサイトを見てもわからず困惑しており、ご教授いただいた内容は

    非常に光が差し込めた気分でおります。感謝申し上げます。

    2014年5月8日 15:52
  • front_rさん

    また流れを変えるようですみませんが、たけさとさんのコメントの通り、ADを業務システム側でも使うのであれば、SSSを使った作りこみをせず、業務システム側をWindows認証に対応させるという方が、SharePoint側の作り込みが必要なくなりますので、良いと思います。
    ただし、SharePointも業務システムもクライアントPCも、同じADで認証をしている場合に限りますが。

    その点はいかがでしょうか?
    同じADですべて認証できるのであれば、それが一番手軽かと思います。
    この場合であれば、SharePointに業務システムへのリンクを置き、クリックするだけで業務システム側に入れます。

    私が提案させていただいた内容は、ご質問内容に合わせSSSでシングルサインオンを実現するやり方で、SharePointにも業務システムにも作り込みが発生する方法になります。
    この場合、上記のようにリンクを置くだけではダメで、リンクの情報からSSSを検索して資格情報を取得してきて、業務システムに渡す、という作り込が必要になります。
    業務システムがフォーム認証や擬似的な独自のSSOを行っている場合には有効ですが、ADを使っているのであれば、良いやり方ではないと考えます。

    ADを使える条件がそろっているのであれば、まずはそちらで検討いただくのが良いと考えます。

    及川

    SharePoint Developer http://sharepoint.orivers.jp

    2014年5月8日 17:10
  • 及川さん

    早速のお返事ありがとうございます。

    頂いたご指摘ですが、

    >また流れを変えるようですみませんが、たけさとさんのコメントの通り、ADを業務システム側でも使うのであれば、

    >SSSを使った作りこみをせず、業務システム側をWindows認証に対応させるという方が、SharePoint側の作り

    >込みが必要なくなりますので、>良いと思います。

    >ただし、SharePointも業務システムもクライアントPCも、同じADで認証をしている場合に限りますが。

    残念ながらクラインアントPCの認証は別ADで行っており、SharePointのADはあくまでも「SharePoint利用専用」と

    なっております。というのも、弊社の社員全員(クライアントPC)がSharePointを利用するようにしておらず、

    限定しているため、ADは別としているのです。そして、業務システムはForm認証をしております。

    そういう点では、はじめに及川さんから頂いた資料で対応したいと考えました。

    ちなみに、及川さんのご指摘のSharepoint側の作りこみとは、SSSの設定を行うという事でよろしかったでしょうか?

    2014年5月8日 21:16
  • SharePoint = IIS + ASP.NET + SQL Server 程度しか知識のない自分がレスするのもなんですが・・・(なので、IIS + ASP.NET のレベルでレスします)

    質問者さんの 2 つ目の書き込みで、

    > From認証はしておりませんが、SharePointで認証した資格情報から・・・

    とこのとでしたが、直近の書き込みでは、

    > そして、業務システムはForm認証をしております。

    となっています。

    結局、「○○業務システム」(IIS + ASP.NET の Web アプリと理解)側は ASP.NET 標準のフォーム認証を使用するという理解でいいのでしょうか?

    「SharePoint2010 側」がどうなっているのか分かりませんが、何にせよ「SharePoint2010 側」の資格情報を「○○業務システム」で取得できるということでいいのですよね?

    上記の理解で合っているとすると、ASP.NET 標準のフォーム認証を使用した場合、ユーザーは一度は「○○業務システム」の認証画面でログインして認証チケットを受ける必要があります。

    認証チケットを認証クッキーとしてブラウザで受け取り、クッキーの有効期間を 50 年とかしておけば、2 回目以降のアクセスでは認証画面をスキップすることはできます。

    ただし、ユーザーがクッキーを削除したり、ログオフ操作をすれば、再度認証を受けなければなりません。

    そういうことでよろしいのでしょうか?


    【追記】

    「SharePoint2010 側」もフォーム認証で、「○○業務システム」が同じドメイン内(クッキーが届く範囲の意味)に属していれば、「SharePoint2010 側」で認証クッキーを受ければ、「○○業務システム」側で再度ログインしなくて済むようにする方法はあります。

    • 編集済み SurferOnWww 2014年5月9日 2:09 追記を追加
    2014年5月9日 1:59
  • front_rさん

    いただいた質問について回答します。

    「SharePoint側の作り込み」についてですが、最初の投稿時に書いた、以下の処理のことを言っています。

    ---
    次に、SSSに登録した資格情報を取得するためのAPIですが、以下にサンプルコードがあります。
    http://msdn.microsoft.com/ja-jp/library/office/ff394459(v=office.14).aspx
    ---

    この処理をSharePoint側で行って、業務システム側に情報を引き渡す必要があると考えています。

    SharePoint Developer http://sharepoint.orivers.jp

    2014年5月9日 13:34