■目標

ADFSサーバをIDPとして簡易設定でSPのsaml認証に成功すること

 

■問題

・ADFSのsaml認証の設定方法がわかんない

saml認証の設定方法がわかんないのは下記の理由と思われる。

 - windowsのマニュアルや技術資料の意味がわかんない

  クラスタ構成やAD DSやWindows統合認証などを包括した一般性の高い設定方法を、変な

  日本語とマイクロソフト専門用語と図解無しで説明をしようとしているように思える。

  というか説明する気が無いように思える。microsoftに設計料やサポート料を支払わざるを

  得ない的な状況を狙っているのだろうか。わかんないけど。

  統合認証技術はwindowsサーバ技術の中で深遠な分野だが、レガシーなwindows統合認

  証技術と新しいsamlプロトコルが重なる設定は、ただでさえややこしいのに

 - google先生で巷の簡易設定を探してもまだわかんない

  この理由は、samlプロトコルのバインド方式、認証箇所、認証方式がそれぞれ何通りかあ

  って、どの方式を前提にしてるのか読み取れない。xml、sorp、リダイレクト、cookieなどが

  関与していて、複数の領域に詳しくないとプロトコルやプロダクトの実装を理解しづらい。

 - SP側はプログラム開発言語で作りこむケースが多く、samlリクエストを飛ばしたり、samlレス

  ポンスを受信して気軽に動作検証しづらい

 - ややこしいPKI暗号技術が絡んでて理解するのも、パケットキャプチャするのも敷居が高い

 

■切り口(案)

・とりあえず、評価版windows serverでAD FSサーバを立てて、設定画面をいろいろ眺めてみる

・ADFSで認証できるSPを探す。

自分でsaml認証するアプリケーションを作る技術がないのでADFSで認証できるSPを探すしかないんご。

azureやoffice365のような同じmicrosoftクラウドがSPだと、microsoftプロダクトどうしということで、ブラックボックスなウィザード、設定ツールのようなもので結局うまくいってもなんでうまくいったのか意味が分からない。また、microsoftクラウド側にも、バックエンドユーザDBがあり(azure ADとか)、クラウド側とADFSがどのレベルで連携しているのかわからない。もしかしたら、レガシーなwindows統合認証やADの信頼関係的な何かまで連携してしまっている可能性がある。なにせブラックボックスなので。

そういう意味で、SP側は非microsoftクラウドがいい。

ということで、googleapps、salesforce、appleクラウドあるいはSNSとかdropboxのようなもんがいいと思った。

salesforceはアプリ側の設定や動作確認の敷居が高そう。SNSやappleクラウドはそもそも遊びなので本気でSSOするAPIが無さそう。dropboxは試用版とかあるのだろうか?

どうやらgoogleappsの試用版がベターのようダギャー

http://www.tensi.info/home/kensyo-infra/adfs20-gapps/fd-adfs-20-shokisettei

 

■とりあえずADFSを立てるんご

前回、windows server 2016でADFS構築してみたけど、windows server 2012の評価版もいまだに落とせることがわかったので、windows server 2012でADFS立て直しするんご

□その前にAD DSを下記のように立てるんご

・IPアドレス:192.168.2.12/24

・ホスト名:win2012

・RDPサーバ有効化

・ドメイン:giveadream.chinko

・管理者:administrator/Password123

・WindowsFW:すべて無効

□AD FSを立てる

・サービスアカウント作成:geiveadream.chinkoドメインに一般ユーザとしてfsuser作成

・AD FSインストール

・AD FS構成

・fsuserをサービスアカウントに設定

・確認

> setspn -L fsuser

次の項目に登録されている CN=fsuser,CN=Managed Service Accounts,DC=giveadream,DC=chinko:
        host/win2016.giveadream.chinko

 

■ドメイン登録

年99円で下記のドメインを登録

ドメイン  :giveadream.info

レジストラ:お名前ドットコム 99円/年

 

■SP側としてGoolge gsuiteの試用版申し込み

https://admin.google.com/giveadream.info/AdminHome

とりあえず下記の3アカウント作成

dagyah@giveadream.info    ←管理者アカウント

dagyah2@giveadream.info

admin@giveadream.info

14日試用版は支払情報を入力しなくても使い始められる。

※独自ドメインgiveadream.infoを紐づけるには、このドメインをオイラが所有していることをgoogleに認識させる必要があるんご

→お名前ドットコムの無料DNSのtxtレコードにgoogleの確認コードを登録して、google gsuite管理画面からドメインの所有権を確認

 

■無料サーバ登録(たぶん使わないけど)

xdomain

https://secure.xdomain.ne.jp/member/?action_user_index=on

サーバID:dagyah

 

■ADFS側の設定

・SP側エンドポイント

 

■google gsuite側の設定

・簡易設定ならこれで行けそう

google gsuiteの管理コンソールにログイン→セキュリティ→SSOの設定

「サードパーティを ID プロバイダとして設定するには、次の情報を入力してください。」

→「ログイン ページの URL」

→「ログアウト ページ URL」

→「パスワード変更 URL」

→認証の確認の項目で「認証ファイル」をアップロード

※ユーザーがシステムでパスワードを変更する際にアクセスする URL です。定義すると、この URL はシングル サインオンが有効になっていない場合でも表示されます

認証ファイルには、ログイン リクエストを確認するための Google 公開キーが含まれている必要があります。

 

http://www.tensi.info/home/kensyo-infra/adfs20-gapps/

https://support.google.com/a/answer/60224?hl=en

https://support.google.com/a/answer/6087519?hl=ja

https://support.google.com/a/answer/6087519?hl=ja&authuser=1

 

この人は基本的な動作は余裕でロゴのカスタマイズとかをpowershellからやってるんご

http://yomon.hatenablog.com/entry/2014/10/04/120119