2013年5月30日木曜日

「改訂新版クラウド環境におけるアイデンティティ管理ガイドライン」が発売されます

6/7 Amazonでリンク切れが発生したのが復活しました。また価格が若干改定されました(3200円から3360円)

2年前にJNSA(日本ネットワークセキュリティ協会)のアイデンティティ管理WGで出版した「クラウド環境におけるアイデンティティ管理ガイドライン」の改訂版が6月10日より発売されます。
(現在 Amazon で予約可能です)

しかも、改定前のものは71,400円だったのが内容を拡充した上で3,360円と大幅な値下げです。
これで個人的に購入することも可能ですね!

- Amazon の内容紹介より
アイデンティティ管理とは何か、主要な構成要素の定義、内部統制や情報セキュリティといった外部要請との関係、ID管理システムの導入効果、ID管理システム導入の各フェーズのタスクについての指針、アイデンティティ管理システムの導入事例、プロジェクトの失敗パターンと処方箋、FAQとかなり広範囲にわたっており、かつ、それぞれを深掘りしてまとめているほか、クラウド環境においてどのようにID管理を運用すべきかを詳しく解説してます。これからID管理システムを導入検討する人には、プロジェクトの推進の準備として、また、現在ID管理システムを導入中の人にとっては、現在のプロジェクトをよりよくするためのチェック、ヒント集として、活用していただける内容となっています。

是非一人一冊ご購入あれ!

2013年5月21日火曜日

[SharePoint]JPSPSフォローアップ:認証設定①~フォームベース認証

先日(5/18)に Japan SharePoint Group (http://jpsps.com/)さんの定例勉強会にお邪魔して SharePoint のアイデンティティ管理の話をしてきました。

当日の資料はこちら


当日は時間もなかったので、簡単なデモを見せることしか出来なかったので、環境の構築の方法について解説しておこうと思います。

まずは、認証の設定についてです。
当日はフォームベース認証と SAML トークンベース認証の2つのデモをお見せしましたが、今回はフォームベース認証について解説します。(Active Directory を LDAP の認証データベースとして利用します)

認証の設定を行い、実際にサイトを利用するには、大まかに以下の手順が必要です。
1.認証プロバイダの作成
2.Web アプリケーションの認証プロバイダの設定
3.Web アプリケーションのユーザーポリシーの設定
4.ユーザープロファイルとの紐づけ設定
5.動作確認 では順番に手順を解説します。

1.認証プロバイダの作成

 この手順では、SharePoint Server が認識する認証プロバイダを作成します。フォームベース認証の場合は、以下の3つの Web サイトの web.config ファイルの編集を行う必要があります。
  - サーバの全体管理(SharePoint Central Administration v4)
  - Security Token Service(SharePoint Web Services - SecurityTokenServiceApplication)
  - 対象の SharePoint Web アプリケーション(作成した名前)
   ※括弧内は IIS マネージャより見える Web サイトの名前

 IIS マネージャより上記それぞれの Web サイトに対応するフォルダを開き、 web.config を編集します。対象の Web サイトを右クリックしてエクスプローラを開いたところにある web.config が編集対象です。



 各 Web サイトの web.config を以下の用に設定します。

  - サーバの全体管理(SharePoint Central Administration v4)

  ・<system.web> セクションの以下をコメントアウト
    <roleManager>
      <providers>
      </providers>
    </roleManager>
    <membership>
      <providers>
      </providers>
    </membership>

 ・以下を追記
<membership defaultProvider="AspNetSqlMembershipProvider">
      <providers>
        <add name="LDAPMember"
             type="Microsoft.Office.Server.Security.LdapMembershipProvider, Microsoft.Office.Server, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
             server="ADサーバ名.xxx.xxx"
             port="389"
             useSSL="false"
             userDNAttribute="distinguishedName"
             userNameAttribute="sAMAccountName"
             userContainer="OU=フォームベース認証するユーザを入れるOU,DC=xxx,DC=xxx"
             userObjectClass="person"
             userFilter="(ObjectClass=person)"
             scope="Subtree"
             otherRequiredUserAttributes="sn,givenname,cn" />
      </providers>
    </membership>
    <roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider" >
      <providers>
        <add name="LDAPRole"
             type="Microsoft.Office.Server.Security.LdapRoleProvider, Microsoft.Office.Server, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
             server="ADサーバ名.xxx.xxx" 
             port="389"
             useSSL="false"
             groupContainer="OU=フォームベース認証するユーザを入れるOU,DC=xxx,DC=xxx"
             groupNameAttribute="cn"
             groupNameAlternateSearchAttribute="samAccountName"
             groupMemberAttribute="member"
             userNameAttribute="sAMAccountName"
             dnAttribute="distinguishedName"
             groupFilter="((ObjectClass=group)"
             userFilter="((ObjectClass=person)"
             scope="Subtree" />
      </providers>
 </roleManager>

 - Security Token Service(SharePoint Web Services - SecurityTokenServiceApplication)

  ・<Configuration>セクションに以下を追記
<system.web>
    <membership>
      <providers>
        <add name="LDAPMember"
             type="Microsoft.Office.Server.Security.LdapMembershipProvider, Microsoft.Office.Server, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
             server="ADサーバ名.xxx.xxx"
             port="389"
             useSSL="false"
             userDNAttribute="distinguishedName"
             userNameAttribute="sAMAccountName"
             userContainer="OU=フォームベース認証するユーザを入れるOU,DC=xxx,DC=xxx"
             userObjectClass="person"
             userFilter="(&amp;(ObjectClass=person))"
             scope="Subtree"
             otherRequiredUserAttributes="sn,givenname,cn" />
      </providers>
    </membership>
    <roleManager enabled="true" >
      <providers>
        <add name="LDAPRole"
             type="Microsoft.Office.Server.Security.LdapRoleProvider, Microsoft.Office.Server, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
             server="ADサーバ名.xxx.xxx"
             port="389"
             useSSL="false"
             groupContainer="フォームベース認証するユーザを入れるOU,DC=xxx,DC=xxx"
             groupNameAttribute="cn"
             groupNameAlternateSearchAttribute="samAccountName"
             groupMemberAttribute="member"
             userNameAttribute="sAMAccountName"
             dnAttribute="distinguishedName"
             groupFilter="(&amp;(ObjectClass=group))"
             userFilter="(&amp;(ObjectClass=person))"
             scope="Subtree" />
      </providers>
    </roleManager>
  </system.web>

 - 対象の SharePoint Web アプリケーション(作成した名前)

  ・<membership defaultProvider="i">の<providers>セクションに以下を追記

        <add name="LDAPMember" type="Microsoft.Office.Server.Security.LdapMembershipProvider, Microsoft.Office.Server, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" server="ADサーバ名.xxx.xxx" port="389" useSSL="false" userDNAttribute="distinguishedName" userNameAttribute="sAMAccountName" userContainer="OU=フォームベース認証するユーザを入れるOU,DC=xxx,DC=xxx" userObjectClass="person" userFilter="(&amp;(ObjectClass=person))" scope="Subtree" otherRequiredUserAttributes="sn,givenname,cn" />

 ・<roleManager defaultProvider="c" enabled="true" cacheRolesInCookie="false">の<providers>セクションに以下を追記

        <add name="LDAPRole" type="Microsoft.Office.Server.Security.LdapRoleProvider, Microsoft.Office.Server, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" server="ADサーバ名.xxx.xxx" port="389" useSSL="false" groupContainer="OU=フォームベース認証するユーザを入れるOU,DC=xxx,DC=xxx" groupNameAttribute="cn" groupNameAlternateSearchAttribute="samAccountName" groupMemberAttribute="member" userNameAttribute="sAMAccountName" dnAttribute="distinguishedName" groupFilter="(&amp;(ObjectClass=group))" userFilter="(&amp;(ObjectClass=person))" scope="Subtree" />


2.Web アプリケーションの認証プロバイダの設定

 次は、Web アプリケーションに使用する認証プロバイダの設定を行います。
 [サーバの全体管理]から[Web アプリケーションの管理]を開き、対象の Web アプリケーションを選択し、[認証プロバイダー]を開きます。



認証プロバイダの領域では[既定]をクリックし、設定画面を開きます。



クレーム認証の種類のセクションで、[フォームベース認証(FBA)の有効化]にチェックを入れ、[ASP.NETメンバーシッププロバイダ名]に「LDAPMember(先ほど web.config に書いた名前)」、[ASP.NETロールマネージャ名]に「LDAPRole(先ほど web.config に書いた名前)」を設定し、保存します。





3.Web アプリケーションのユーザーポリシーの設定

 次は設定した認証プロバイダで認証されたユーザが Web アプリケーションへアクセスできるように設定します。
 先の手順と同様に[サーバの全体管理]から[Web アプリケーションの管理]を開き、対象の Web アプリケーションを選択し、[ユーザーポリシー]を開き、Web アプリケーションのポリシー画面で[ユーザーの追加]を開きます。



 対象の領域を聞かれるので[すべて]を選択し、[ユーザーの追加]画面の[ユーザーの選択]からユーザピッカーを開きます。


 [すべてのユーザー]から[すべてのユーザー(LDAPMember)]を追加し、元の画面に戻り、[権限の選択]で必要な権限を付与します。(画面は読み取り権限を与えています)




4.ユーザープロファイルとの紐づけ設定

 ここまでで認証とログインまでは出来るようになりましたが、SharePoint 上のユーザとの紐づけが出来ていません。つまり、認証とログインは出来ますが別途 User Profile Service 等で ID ストアから読み込んだユーザ情報と紐づけが出来ませんので、顔写真や姓・名などがうまく表示されない状態です。

 そこで、認証されたユーザと SharePoint 上のユーザプロファイルの紐づけ設定を行います。概念としては下図の通りです。



 今回作ったフォームベース認証プロバイダでは LDAP(AD)の sAMAccountName 属性を識別子として利用しているので、ユーザプロファイルの[クレームユーザーID]という属性が LDAP の sAMAccountName 属性の値と一致していれば同じユーザとみなす、という設定を行います。

 User Profile Service の詳しい設定については後日解説しますが、まず[サーバの全体管理]から[サービスアプリケーション]、[サービスアプリケーションの管理]、[User Profile Service Application]を開き、[ひと]セクションの[ユーザープロパティの管理]を開きます。
 この中の[クレームユーザーID]属性の編集を開きます。



 ここで認証プロバイダ LDAP の sAMAccountName をインポートするように設定し、保存します。



 この状態で[プロファイル同期の開始]で[完全同期]を行うと新しいマッピング状態を含めプロファイルが同期されます。  これで設定は完了です。


5.動作確認

 では、先ほどのサイトへアクセスしてみます。設定が上手く行っていればサインイン方法の選択が出来るようになっています。



 ここでフォーム認証を選択すると認証フォームが表示されますので、認証DB(今回は Active Directory)上に作成したユーザの sAMAccountName とパスワードでログインします。



 ちなみに Active Directory 上に作成したユーザは以下の通りです。



 認証がうまくいくとサイトが使えるようになっており、プロファイルには Active Directory 上に設定したユーザの情報が反映されているはずです。下図は Active Directory 上に顔写真を入れておき、SharePoint へ同期した例です。




今回はここまでです。次回は SAML トークンベース認証を Windows Azure Access Control Service と設定し、Facebook や Google アカウントでログインする方法を解説します。

2013年5月2日木曜日

[FIM2010]各リリース毎のビルド番号


Forefront Identity Manager に限らず Microsoft 製品は割と頻繁にモジュール更新がされます。
しかし、実際は全部追いかけ続けるのは現実的ではないので、結局不具合が出てサポートに問い合わせて、言われて初めて当てる、という運用になっているのではないでしょうか?(特に作り込み要素が大きい製品なのでカスタムモジュールなどの動作確認を考えると出来るだけパッチは当てたくない類の製品だと思います)

ということをやっているといつの間にか新しい機能が追加されていたり、不具合が修正されていたり、機能が削除されていたり、、ということになってしまうので、各更新でどのような修正がされたかの情報がまとまっているとうれしいものです。

ということで、TechNet Wiki にそんなページがあるので FIM を運用している人はブックマークしておいた方が良いです。

FIM 2010 Build Overview
 http://social.technet.microsoft.com/wiki/contents/articles/2229.fim-2010-build-overview.aspx#Build_FourOhTwoFiveNineTwoRTM

ちなみに本日段階でのビルドは以下の通りです。
- 2013/06/11 4.1.3451.0 がリリースされたので追記


バージョンビルド番号URL
RTM4.0.2592.0
KB978864(Update1)4.0.3531.2http://support.microsoft.com/kb/978864/
KB20286344.0.3547.2http://support.microsoft.com/kb/2028634/
KB22723894.0.3558.2http://support.microsoft.com/kb/2272389
KB24177744.0.3561.2http://support.microsoft.com/kb/2417774
KB24177744.0.3573.2http://support.microsoft.com/kb/2417774
KB25026314.0.3576.2http://support.microsoft.com/kb/2502631
KB25209544.0.3576.2http://support.microsoft.com/kb/2520954/en-us
KB2635086(Update Rollup 2)4.0.3606.2http://support.microsoft.com/kb/2635086/en-us
KB26880784.0.3617.2http://support.microsoft.com/kb/2688078/en-us
KB27375034.0.3627.2http://support.microsoft.com/kb/2737503/en-us
KB27506734.0.3644.2http://support.microsoft.com/kb/2750673/en-us
FIM 2010 R24.1.2773.0
KB2734159(for R2)4.1.2515.0http://support.microsoft.com/kb/2734159
KB2750671(for R2)4.1.2548.0http://support.microsoft.com/kb/2750671
KB2772429(Service Pack 1 for FIM 2010 R2)4.1.3114.0http://support.microsoft.com/kb/2772429
KB28148534.1.3419.0http://support.microsoft.com/kb/2814853
KB28323894.1.3441.0http://support.microsoft.com/kb/2832389/en-us
KB28491194.1.3451.0http://support.microsoft.com/kb/2849119

2013年5月1日水曜日

[FIM2010]ヴァーチャルラボで操作体験


昨年秋に開催した FIM2010 / AD FS2.0 のハンズオンですが、今年も再度開催をしたいとは考えてはいても、なかなか身体が空かず、、、という状態なので純正のハンズオンラボをご紹介します。待ちきれない方は是非こちらも触ってみてください。

Technet Virtual Labs - Forefront Identity Manager
 http://technet.microsoft.com/en-us/virtuallabs/bb499665

用意されているシナリオはそれなりにバリエーションが豊富で以下の通りです。

  • Synchronizing Active Directory Users
  • Inbound Synchronization Rules
  • Backup, Restore, and Disaster Recovery, MA Run Scripts, and Final Configuration
  • Joining Data from Another MA and Provisioning AD LDS
  • The FIM Experience
  • Importing and Synchronizing Data
  • Managing Users in the FIM Portal
  • Creating the FIM MA and Synchronizing
  • Password Self-service and Configuring PCNS
  • Managing Groups- Lab A
  • Managing Groups- Lab B


ブラウザ上での操作になるのであまりパフォーマンスはよくありませんし、全編英語なのでそれなりのハードルはありますが一度使ってみるのも良いと思います。