SlideShare a Scribd company logo
1 of 51
1
AD FS 2.0 DEEP DIVEAD FS 2.0 DEEP DIVE
AD FS 2.0 をもっと使いこなすために
1. クレームパイプラインと要求規則(クレームルール)
2. カスタムルールの定義
3. AD FS 2.0 の監査
2
用語について
基本的に、日本語 UI に沿った用語を使用します。
…が ちょっとアレなところもあるので、以下の対応票を参考にしてください
。
日本語 対応する英語
要求 Claim, クレーム
規則 Rule, ルール
要求の種類 Claim Type, クレームタイプ
要求記述 Claim Description, クレームディスクリプション
要求 プロバイダー Claims Provider, クレーム プロバイダー
証明書利用者 Relying Party, リライング パーティ
発行承認規則 Issuance Authorization Rules
受付変換規則 Acceptance Transform Rules
発行変換規則 Issuance Transform Rules
3
クレームパイプラインと要求規則(クレームルー
ル)
AD FS 2.0 Deep Dive
4
要求規則 (Claim Rule)
• 入力された情報をルール ( 規則 ) に沿って処理し出力する
• 処理されたクレームは既定のパイプラインを通る
メンバーシップ
入力方向の要求
カスタム クレーム
他の要求
プロバイダー
LDAP 属性
スルー
変換
フィルター
AD DS
AD LDS
LDAP
出力
SQL Server
その他
要求規則
5
要求規則セット (Claim Rule Set) のタイプ
• 受け付け変換規則 - Acceptance Transform Rule Set
要求プロバイダー ー (AD DS, SQL Server, LDAP) から
受け入れるクレーム セット
• 発行承認規則 - Issuance Authorization Rule Set
証明書利用者 (RP) にアクセス可能なユーザーを明確にするための
ルール。許可されたユーザーは「発行変換規則」からクレームを
受け取れるため、証明書利用者へのアクセスが可能になる。
• 発行変換規則 - Issuance Transform Rule Set
「受け付け要求規則」から発行されたクレーム セットを入力とし、
証明書利用者 (RP) に発行するクレームを生成する
• 委任承認規則 - Delegation Authorization Rule Set
他のユーザーの代理として証明書利用者 (RP) にアクセスできるかどう
かを判断するためのルール
• 偽装承認規則 - Impersonate Authorization Rule Set
ユーザーが他のユーザーを偽装してアクセスできるかどうかを
判断するためのルール。 Windows PowerShell で実装する。
6
AD FS 2.0 ~クレーム パイプライン
要求プロバイダー信頼
(Claims Provider Trusts) 証明書利用者信頼 (Relying Party Trust)
証明書利用者
(RP)
① 受付ける① 受付ける ③ 発行する③ 発行する
発行発行
変換変換
規則規則
input
output
受け受け
付け付け
変換変換
規則規則
input
output
発行発行
承認承認
規則規則
input
output
クレームストア
OK/
NG
switchswitch
トークン
要求規則 (Claim Rule)
② 承認する② 承認する
7
受け付け変換規則
• 「要求プロバイダー信頼」で設定する
• 「証明書利用者信頼」に渡すためのクレームをセットする
大原則①
ここで定義されたクレームのみ
が、パイプラインに沿って「証
明書利用信頼」に渡される
大原則①
ここで定義されたクレームのみ
が、パイプラインに沿って「証
明書利用信頼」に渡される
① 受付ける① 受付ける
8
発行承認規則
• 「証明書利用者信頼」で設定する
• 「発行変換規則」に移行させるかどうかを判断
• クレームは発行しない
この設定では「受け付け変換
規則」を通過したユーザー全
てに、「発行変換規則」への
進行を許可
この設定では「受け付け変換
規則」を通過したユーザー全
てに、「発行変換規則」への
進行を許可
② 承認する② 承認する
9
発行変換規則
• 「証明書利用者信頼」で設定する
• 以下を最終決定する
• ユーザーにセキュリティトークンを発行するかどうか
• RP/SP にどんなクレームを送信するか
規定では空(何も発行しない)
ただし、「認証メソッド」と「認
証日時」だけは送信される
規定では空(何も発行しない)
ただし、「認証メソッド」と「認
証日時」だけは送信される
③ 発行する③ 発行する
10
クレームルールを定義するには?
• 要求規則テンプレートを使用
• 規定で用意されているルールを使用する場合
• [LDAP 属性を要求として送信 ]
• [ グループ メンバーシップを要求として送信 ]
• [ 入力方向の要求を変換 ]
• [ 入力方向の要求をパススルーまたはフィルター処理 ]
• [ カスタム規則を使用して要求を送信 ]
• [ 入力方向の要求に基づいてユーザーを許可または拒否 ]
• [ すべてのユーザーを許可 ]
• カスタムルールを定義
• 用意されていないルール(ロジック)を使用する場合
• 用意されていない ldap 属性を使用する場合
• AD DS/ldap 以外のクレームストアを使用する場合
• SQL Server
• その他(テキストファイル など)
[ 要求記述 ] に記載されていないクレームタイプは使用できないので、事前
に定義しておく必要がある
[ 要求記述 ] に記載されていないクレームタイプは使用できないので、事前
に定義しておく必要がある
and …くどいようですが
11
(参考)既定の LDAP 属性
LDAP 属性の名前( lDAPdisplayName)
Company (company)
Department (department)
Display-Name (displayName)
E-Mail-Address (mail)
Employee-ID (employeeID)
Employee-Number (employeeNumber)
Employee-Type (employeeType)
Given-Name (givenName)
Is-Member-Of-DL (memberOf)
Organizational-Unit-Name (ou)
Organization-Name (o)
Proxy-Addresses (proxyAddress)
LDAP 属性の名前( lDAPdisplayName)
State-Or-Province-Name (st)
Street-Address (street)
Surname (sn)
Telephone-Number (telephoneNumber)
Title (title)
Token-Groups (SID) (tokenGroups)
Token-Groups - ドメイン名を含む (tokenGroups)
Token-Groups - 完全修飾ドメイン名を含む
(tokenGroups)
Token-Groups - 名前の指定なし (tokenGroups)
User-Principal-Name (userPrincipalName)
SAM-Account-Name(sAMAccountName)
これ以外の ldap 属性を使用する場合には「カスタム規則」を使用
12
クレームルールを定義する
例 1 • エバンジェリスト属性を持ったユーザーにのみトークンを発行する
• 以下の ldap 属性をクレームとして送信する
ldap 属性 クレームタイプ
氏名 displayname 名前
メール email 電子メール アドレス
部署 department 部署
役職 title 役割
規定で用意されない
ため「要求記述」に
定義する必要がある
規定で用意されない
ため「要求記述」に
定義する必要がある
作業手順
a.要求記述に「役割」を追加
b.「発行承認規則」で「エバンジェリスト」以外を抑止
c.「発行変換規則」で上記 4 つのクレームを定義する
作業手順
a.要求記述に「役割」を追加
b.「発行承認規則」で「エバンジェリスト」以外を抑止
c.「発行変換規則」で上記 4 つのクレームを定義する
13
クレームルールを定義する
① 要求記述の定義(「部署」を追加)
クレームタイプ を URI で設
定する。
世界で唯一にするため、自社
ドメイン名を入れるとよい。
クレームタイプ を URI で設
定する。
世界で唯一にするため、自社
ドメイン名を入れるとよい。
14
② 「発行承認規則」(「エバンジェリスト」以外を抑止)
「すべてのユーザーにア
クセスを許可」を削除
15
「 LDAP 属性を要求として送信」を選
択
「 LDAP 属性を要求として送信」を選
択
Active Directory の属性「 title 」を
「役割」に放り込む
Active Directory の属性「 title 」を
「役割」に放り込む
16
さらに規則を追加す
る
さらに規則を追加す
る
「入力方向の要求に基づいてユーザーを
許可または拒否」を選択
「入力方向の要求に基づいてユーザーを
許可または拒否」を選択
17
クレーム「役割」が「エバンジェリス
…ト」ならば
クレーム「役割」が「エバンジェリス
…ト」ならば
条件に合致したユーザーのみを「許
可」
条件に合致したユーザーのみを「許
可」
18
要求規則 の処理プロセスについて
要求規則要求規則 11要求規則要求規則 11
要求規則要求規則 22要求規則要求規則 22
要求規則セット
InputClaimSet
OutputClaimSet
クレーム
条件 発行
トークン
要求規則要求規則 nn要求規則要求規則 nn
前のルールの結果が次のルールに引き継がれる
19
③ 「発行変換規則」で 4 つのクレームを定義
ldap 属性 クレームタイプ
氏名 displayname 名前
メール email 電子メール アドレス
部署 department 部署
役職 title 役割
20
LDAP 属性を要求して送信LDAP 属性を要求して送信
複数の ldap 属性を一度に定義
可能
複数の ldap 属性を一度に定義
可能
21
完成形
22
実行結果例
役割が「エバンジェリス
ト」でなければアクセス拒
否
役割が「エバンジェリス
ト」でなければアクセス拒
否
23
クレームルールの定義 ありがちなミス ①
現象
•「発行承認規則」で [ 入力方向の要求に基づいてユーザーを許可または
拒否 ] ルールを使用し、クレーム名 [ 役職 ] に「部長」と書かれている
ユーザーのみに許可したいが、全てのアクセスが拒否されてしまう
原因
•[ 役職 ] クレームの中身がからっぽ。
「受け付け承認規則」で [ 役職 ] クレームが定義されていない場合、
「発行承認規則」でいきなり [ 役職 ] クレームによる条件判定を行おう
としても、クレームの中身が空のため判定は「 NG 」となる。事前に、
[ 役職 ] クレームに値を入力するルールが定義されている必要がある。
発発
行行
変変
換換
規規
則則
input
output
受受
けけ
付付
けけ
変変
換換
規規
則則
input
output
発発
行行
承承
認認
規規
則則
input
outputOK/
NG
ここでクレームを評価する以前に、ク
レームが発行されていない場合、「空」
の値が入っているものとして評価されて
しまう
ここでクレームを評価する以前に、ク
レームが発行されていない場合、「空」
の値が入っているものとして評価されて
しまう
24
クレームルールの定義 ありがちなミス ①
現象
•ルールを変えても送信されるクレームが変わらない
原因
•デスクトップ上に別のブラウザやタブが起動しており、既にクレームを
取得している
こいつを閉
…じないと .
こいつを閉
…じないと . 同じクレー
ムが表示さ
れる
同じクレー
ムが表示さ
れる
25
クレームルールの定義 ありがちなミス③
現象
•「入力方向の要求をパススルーまたはフィルター処理」ルールを使用して、「特
定の電子メール フィックスの値と一致する要求値だけをパス スルーする」を定
義しているが、サフィックスが一致しないユーザーに対してもクレームが発行さ
れてしまう。
原因
•クレームルールに複数のルールを定義
しており、当該ルール以前に電子メール
アドレスクレームを発行している場合、
それを取り消すことはできない。
対処
•当該ルール以前のルールから電子メー
ルアドレスの発行ルールを削除する
上で発行し
てしまうと
…
上で発行し
てしまうと
…
それ以降でフィ
ルターすること
はできない
それ以降でフィ
ルターすること
はできない
26
カスタムルールの定義
AD FS 2.0 Deep Dive
27
カスタムルールのサンプルを見るには
28
条件部
発行部
29
カスタムルールの構造
入力方向のクレーム / 属性をチェックし、
すべての条件が True の場合に「発行部」が実行される。
条件部が無い場合には無条件で True とみなされる。
=>
True
False
発行するトークンタイプと、
そこに格納する属性 / 値を指定する。必須
条件部
条件文 1
条件文 2&&
&&
オプション
発行部
発行文
条件部
発行部
「クレームが発行されない」≠ アクセスできな
い※ クレームを持っていないユーザーにアクセスを許可するかどうかは
 アプリケーションの判断
30
書式の基本 ①
=> issue ( Type = A”, Value = <“ “ 値 >” );
[Type == A"]“
=> issue (Type = B”, Value =“ “ 値 ");
• 無条件でクレーム「 A 」に「値」を入れて発行する
• クレーム「 A ” ”」が 存在する 場合、クレーム「 B 」に「値」を入れて発行する
[Type == A” , Value ==“ “ 値 1”]
=> issue (Type = B”, Value =“ “ 値 2”);
• クレーム「 A 」が「値 1 」ならば、クレーム「 B 」に「値 2 」を入れて発行す
る
NOT Exists([Type == A"])“
=> issue (Type = A”, Value =“ “ 値 ");
• クレーム「 A ” ”」が 存在しない 場合、クレーム「 A 」に「値」を入れて発行す
る
31
書式の基本 ②
c:[Type == A” , Value ==“ “ 値 1”]
=> issue (Type = B”, Value =“ c.Value);
• クレーム「 A 」が「値 1 」ならば、クレーム「 B 」にも「 A 」と同じ値を入
れて発行する
c1:[Type == A” , Value ==“ “ 値 1”] &&
c2:[Type == B” , Value ==“ “ 値 2”]
=> issue (Type = C”, Value =“ c1.Value + c2.Value);
• クレーム「 A 」が「値 1 」でクレーム「 B 」が「値 2 」ならば、クレーム
「 C 」には 値 1 と値 2 を結合した値を入力して発行する
&& はいくつでもつなげることができる
※ || ( or )に相当する演算子は用意されていない
c:[Type == A” , Value ==“ “ 値 1”]
=> issue (claim = c );
• クレーム「 A 」が「値 1 」ならば、クレーム「 A 」を発行する。それ以外の場
合にはクレーム「 A 」は発行されない
32
書式の基本 ③ ~ Active Directory からの属性取得
• Active Directory で認証されたユーザーならば、 logonCount 属性を取得してクレー
ム「 A 」を発行する
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/
claims/windowsaccountname", Issuer == "AD AUTHORITY"]
=> issue(store = "Active Directory", types = A”,“
query = ;logonCount,{0}", param = c.Value);“
• c
• Type == http://schemas.microsoft.com/ws/2008/06/identity/claims/“
windowsaccountname“
• Issuer == "AD AUTHORITY“
• store = "Active Directory“
• query = ;logonCount,{0}“ “
• param = c.Value
WindowsAccountName というクレームが発行されているWindowsAccountName というクレームが発行されている
クレームを発行したのは “ AD AUTHORITY” であるクレームを発行したのは “ AD AUTHORITY” である
条
件
部
条
件
部
発
行
部
発
行
部
”Active directory” というクレームストアから
属性を取ってくる
”Active directory” というクレームストアから
属性を取ってくる
持ってくる属性は「 logonCount 」で、
AD を検索する条件は windowsaccountname = {0}
持ってくる属性は「 logonCount 」で、
AD を検索する条件は windowsaccountname = {0}
{0} の値は条件部で渡された
WindowsAccountName の値
{0} の値は条件部で渡された
WindowsAccountName の値
WindowsAccountName クレームWindowsAccountName クレーム
33
カスタムルール活用のコツ ①
c:[Type == A”, Value“ =~ “ (?i)junichia@tf.com$^ ” ]
=> issue(claim = c);
c:[Type == A”, Value“ =~ “ (?i)junichia@tf.com$^ ” ]
=> issue(claim = c);
正規表現の利用
• (例 1 )クレーム「 A 」の値が大文字小文字を問わず「 junichia@tf.com 」と完全一
致ならばクレームを発行する
(?i)junichia@tf.com$^
正規表現言語要素
http://msdn.microsoft.com/ja-jp/library/az24scfc.aspx
行頭(これ
より前に文
字が無いこ
と)を示す
後に続く文字の大文字
小文字を区別しない
特殊な文字の前には
「  (バックスラッ
シュ)」を付加
行末(これより後
ろに文字が無いこ
と)を示す
34
カスタムルール活用のコツ ②
[Type == A”, Value =~ " [0-9]{3}$"]“ ^
=> issue(Type = B”, Value = SENIOR”);“ “
[Type == A”, Value =~ " [0-9]{3}$"]“ ^
=> issue(Type = B”, Value = SENIOR”);“ “
正規表現の利用
• (例 2 )クレーム「 A 」の値が 2 ケタの数字ならば、クレーム「 B 」に
「 JUNIOR 」を入れて発行する
[0-9]{3}$^
正規表現言語要素
http://msdn.microsoft.com/ja-jp/library/az24scfc.aspx
行頭(これ
より前に文
字が無いこ
と)を示す
0 から 9 の文
字列が 3 ケタ
である
行末(これより後
ろに文字が無いこ
と)を示す
35
カスタムルール活用のコツ ③
ファンクションの活用
•count :指定されたクレームが持つ値の数をカウントする
•RegExReplace :文字列を置き換える
count ([type == http://schemas.xmlsoap.org/claims/Reports ] ) > 0“ “
=> issue(= "http://schemas.xmlsoap.org/claims/ismanager", value = "true");
count ([type == http://schemas.xmlsoap.org/claims/Reports ] ) > 0“ “
=> issue(= "http://schemas.xmlsoap.org/claims/ismanager", value = "true");
c:[type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"]
=> issue(type = c.type,
value = regexreplace (c.value, "(?<domain>[ ]+)(?<user>.+)", "FABRIKAM$^
{user}"));
c:[type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"]
=> issue(type = c.type,
value = regexreplace (c.value, "(?<domain>[ ]+)(?<user>.+)", "FABRIKAM$^
{user}"));
36
発行ステートメントについて
要求規則要求規則 11要求規則要求規則 11
要求規則要求規則 22要求規則要求規則 22
要求規則セット
InputClaimSet
OutputClaimSet
クレー
ム
title =
“ ”部長
role= Mana“
ger”
• issue :クレームを発行する( output claim set に発行する)
• add : input claim set に直接発行する
→ クレーム発行のためのテンポラリー領域的な使い方
=> addadd (type = “title”, value = “ 部長 ");=> addadd (type = “title”, value = “ 部長 ");
[type == “title”, Value == “ ”部長 ]
=> issueissue (type = "Role", value = “Manager");
[type == “title”, Value == “ ”部長 ]
=> issueissue (type = "Role", value = “Manager");
add ステートメント
は output クレーム
を発行しない
input 領域にのみ発行
input 領域にのみ発行
37
カスタムルールを定義する
例
2
• 役割が「エバンジェリスト」にのみトークンを発行する
• ユーザーのアクティブ度(笑)をログオン回数から判定し、回数に応じ
た Status 与える(アプリケーション側では Status に応じて表示するメ
ニューを変える)
• 以下のクレームを送信する
ldap 属性 クレームタイプ
氏名 displayname 名前
メール email 電子メール アドレス
部署 department 部署
役職 title 役割
ログオン回数 logonCount ログオン回数
ステータス ー ステータス
作業手順
a.要求記述に「ログオン回数」と「ステータス」を追加
b.「発行変換規則」で「ログオン回数」と「ステータス」を定義
作業手順
a.要求記述に「ログオン回数」と「ステータス」を追加
b.「発行変換規則」で「ログオン回数」と「ステータス」を定義
規定で用意されない
ため「要求記述」に
定義する必要がある
規定で用意されない
ため「要求記述」に
定義する必要がある
規定で用意されない
ため「要求記述」に
定義する必要がある
規定で用意されない
ため「要求記述」に
定義する必要がある
38
カスタムルールを定義する
要求記述の定義(「ログオン回数」)
クレームタイプ を URI で設
定する。
クレームタイプ を URI で設
定する。
39
カスタムルールを定義する
要求記述の定義(「ステータス」)
クレームタイプ を URI で設
定する。
クレームタイプ を URI で設
定する。
40
カスタムルールを定義する
「ログオン回数」と「ステータス」を定義
41
logonCount 属性を「ログオン回数」にセット
Active Directory から logonCount 属性を
取り出し、クレームタイプ logoncount
に入れている
Active Directory から logonCount 属性を
取り出し、クレームタイプ logoncount
に入れている
42
logoncount をもとにステータスを判定するには
c:[Type == “http://schemas.tf.com/identity/claims/logoncount”, Value =~ “^[0-9]{1}”]
=> add (Type = "http://schemas.tf.com/identity/claims/userstatus", Value = "SILVER");
c:[Type == “http://schemas.tf.com/identity/claims/logoncount”, Value =~ “^[0-9]{1}”]
=> add (Type = "http://schemas.tf.com/identity/claims/userstatus", Value = "SILVER");
logonCount < 10 ならば ステータスは シルバー
c:[Type == “http://schemas.tf.com/identity/claims/logoncount”, Value =~ “^[0-9]{2}”]
=> add (Type = "http://schemas.tf.com/identity/claims/userstatus", Value = “GOLD");
c:[Type == “http://schemas.tf.com/identity/claims/logoncount”, Value =~ “^[0-9]{2}”]
=> add (Type = "http://schemas.tf.com/identity/claims/userstatus", Value = “GOLD");
logonCount => 10 and logonCount < 100 ならば ステータスは ゴールド
c:[Type == “http://schemas.tf.com/identity/claims/logoncount”, Value =~ “^[0-9]{3}”]
=> add (Type = "http://schemas.tf.com/identity/claims/userstatus", Value = “PLATINUM");
c:[Type == “http://schemas.tf.com/identity/claims/logoncount”, Value =~ “^[0-9]{3}”]
=> add (Type = "http://schemas.tf.com/identity/claims/userstatus", Value = “PLATINUM");
logonCount => 10 and logonCount < 100 ならば ステータスは ゴールド
=> Issue (Type = "http://schemas.tf.com/identity/claims/userstatus“ ) ;=> Issue (Type = "http://schemas.tf.com/identity/claims/userstatus“ ) ;
userstatus クレームを発行する
43
完成形
ルールは上から実行される
6 userstatus クレームを発行する < 要求規則の表示 >
44
AD FS 2.0 DEEP DIVE
AD FS 2.0 の監査とトレース
45
トレースログを表示するには
[ イベント ビューアー ] - [ アプリケーション と サービスログ ] - [AD FS 2.0]
を右クリックして [ 表示 ]-[ 分析およびデバッグログの表示 ] をチェック
46
トレースログを有効にする
47
まとめまとめ
48
AD FS 2.0 をうまく使うには
• ビジネスの方向性を見据えた設計を
• AD FS 2.0 はオープンなアーキテクチャ
• 企業間、組織間、異種プラットフォーム間の
相互運用も射程内にある
• SaaS の選定も慎重に
(クレームベースの認証が可能か?)
• LOB のアーキテクチャに口出ししましょう
• 認証 / ロール管理を今後どうするか?
• 企業全体での ID 管理の仕組みは?
• AD FS 2.0 のアーキテクチャにも注目を!
• Microsoft Online Service との連携
• AppFabric Access Control Service との連携
• 他社テクノロジーとの連携
AD FS 2.0 は LOB のアーキテクチャを一新するテクノロジーで
す
AD FS 2.0 は LOB のアーキテクチャを一新するテクノロジーで
す
49
STS は AD FS だけじゃない
• AppFabric Access Control Service ( ACS )との連携
STS
STS
信頼信頼信頼信頼
信頼信頼
信頼信頼
トークン
トークン
ト
ー
ク
ン
ト
ー
ク
ン
ア
ク
セ
ス
ア
ク
セ
ス
ア
ク
セ
ス
ア
ク
セ
ス
AD DS AD FS
ACS
50
(参考)新しい ACS は夢が広がる
IdP/CP RP/SP
クラウド
オンプレミス
REST
WIF
AD FS 2.0
ACS V2
AD DS
REST
WIF
AD FS 2.0
51
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft
cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

More Related Content

What's hot

4/5 ADFS 2.0 を使用して Windows Azure との SSO を実現しよう V1.1
4/5 ADFS 2.0 を使用して Windows Azure との SSO を実現しよう V1.14/5 ADFS 2.0 を使用して Windows Azure との SSO を実現しよう V1.1
4/5 ADFS 2.0 を使用して Windows Azure との SSO を実現しよう V1.1junichi anno
 
Dynamic Access Control 演習編
Dynamic Access Control 演習編Dynamic Access Control 演習編
Dynamic Access Control 演習編junichi anno
 
勉強会キット Windows Server 2012 R2 評価版 BYOD 編 v2 20131020 版
勉強会キット Windows Server 2012 R2 評価版 BYOD 編 v2 20131020 版勉強会キット Windows Server 2012 R2 評価版 BYOD 編 v2 20131020 版
勉強会キット Windows Server 2012 R2 評価版 BYOD 編 v2 20131020 版junichi anno
 
Microsoft と Digital Identity
Microsoft と Digital IdentityMicrosoft と Digital Identity
Microsoft と Digital Identityjunichi anno
 
SaaS としての IDM の役割
SaaS としての IDM の役割SaaS としての IDM の役割
SaaS としての IDM の役割junichi anno
 
20120528 aws meister-reloaded-awssd-kforjava-public
20120528 aws meister-reloaded-awssd-kforjava-public20120528 aws meister-reloaded-awssd-kforjava-public
20120528 aws meister-reloaded-awssd-kforjava-publicAmazon Web Services Japan
 
WVD (Windows Virtual Desktop) 概要
WVD (Windows Virtual Desktop) 概要WVD (Windows Virtual Desktop) 概要
WVD (Windows Virtual Desktop) 概要Takamasa Maejima
 
Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~
Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~
Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~junichi anno
 
Azure Active Directory 1枚資料 20151125版
Azure Active Directory 1枚資料 20151125版Azure Active Directory 1枚資料 20151125版
Azure Active Directory 1枚資料 20151125版junichi anno
 
S05 Microsoft Azure 仮想マシンでの Active Directory 活用シナリオ
S05 Microsoft Azure 仮想マシンでの Active Directory 活用シナリオS05 Microsoft Azure 仮想マシンでの Active Directory 活用シナリオ
S05 Microsoft Azure 仮想マシンでの Active Directory 活用シナリオMicrosoft Azure Japan
 
リソーステンプレート入門
リソーステンプレート入門リソーステンプレート入門
リソーステンプレート入門junichi anno
 
Windows 10 の新機能 Azure AD Domain Join とは
Windows 10 の新機能 Azure AD Domain Join とはWindows 10 の新機能 Azure AD Domain Join とは
Windows 10 の新機能 Azure AD Domain Join とはMari Miyakawa
 
Windows Virtual Desktop 構築手順書(202001)
Windows Virtual Desktop 構築手順書(202001)Windows Virtual Desktop 構築手順書(202001)
Windows Virtual Desktop 構築手順書(202001)Emi Morishita
 
Azure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法について
Azure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法についてAzure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法について
Azure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法についてShinya Yamaguchi
 
Android開発者向けempress暗号化資料
Android開発者向けempress暗号化資料Android開発者向けempress暗号化資料
Android開発者向けempress暗号化資料ITDORAKU
 
20101110 Tech02 ID 管理およびサービスの設定
20101110 Tech02 ID 管理およびサービスの設定20101110 Tech02 ID 管理およびサービスの設定
20101110 Tech02 ID 管理およびサービスの設定kumo2010
 
勉強会force#3 iOSアプリ開発
勉強会force#3 iOSアプリ開発勉強会force#3 iOSアプリ開発
勉強会force#3 iOSアプリ開発Kazuki Nakajima
 
IDaaS を正しく活用するための認証基盤設計
IDaaS を正しく活用するための認証基盤設計IDaaS を正しく活用するための認証基盤設計
IDaaS を正しく活用するための認証基盤設計Trainocate Japan, Ltd.
 

What's hot (20)

ADFS の vNext
ADFS の vNext ADFS の vNext
ADFS の vNext
 
4/5 ADFS 2.0 を使用して Windows Azure との SSO を実現しよう V1.1
4/5 ADFS 2.0 を使用して Windows Azure との SSO を実現しよう V1.14/5 ADFS 2.0 を使用して Windows Azure との SSO を実現しよう V1.1
4/5 ADFS 2.0 を使用して Windows Azure との SSO を実現しよう V1.1
 
Dynamic Access Control 演習編
Dynamic Access Control 演習編Dynamic Access Control 演習編
Dynamic Access Control 演習編
 
勉強会キット Windows Server 2012 R2 評価版 BYOD 編 v2 20131020 版
勉強会キット Windows Server 2012 R2 評価版 BYOD 編 v2 20131020 版勉強会キット Windows Server 2012 R2 評価版 BYOD 編 v2 20131020 版
勉強会キット Windows Server 2012 R2 評価版 BYOD 編 v2 20131020 版
 
Microsoft と Digital Identity
Microsoft と Digital IdentityMicrosoft と Digital Identity
Microsoft と Digital Identity
 
SaaS としての IDM の役割
SaaS としての IDM の役割SaaS としての IDM の役割
SaaS としての IDM の役割
 
20120528 aws meister-reloaded-awssd-kforjava-public
20120528 aws meister-reloaded-awssd-kforjava-public20120528 aws meister-reloaded-awssd-kforjava-public
20120528 aws meister-reloaded-awssd-kforjava-public
 
WVD (Windows Virtual Desktop) 概要
WVD (Windows Virtual Desktop) 概要WVD (Windows Virtual Desktop) 概要
WVD (Windows Virtual Desktop) 概要
 
Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~
Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~
Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~
 
Azure Active Directory 1枚資料 20151125版
Azure Active Directory 1枚資料 20151125版Azure Active Directory 1枚資料 20151125版
Azure Active Directory 1枚資料 20151125版
 
S05 Microsoft Azure 仮想マシンでの Active Directory 活用シナリオ
S05 Microsoft Azure 仮想マシンでの Active Directory 活用シナリオS05 Microsoft Azure 仮想マシンでの Active Directory 活用シナリオ
S05 Microsoft Azure 仮想マシンでの Active Directory 活用シナリオ
 
JAZUG仙台#1勉強会
JAZUG仙台#1勉強会JAZUG仙台#1勉強会
JAZUG仙台#1勉強会
 
リソーステンプレート入門
リソーステンプレート入門リソーステンプレート入門
リソーステンプレート入門
 
Windows 10 の新機能 Azure AD Domain Join とは
Windows 10 の新機能 Azure AD Domain Join とはWindows 10 の新機能 Azure AD Domain Join とは
Windows 10 の新機能 Azure AD Domain Join とは
 
Windows Virtual Desktop 構築手順書(202001)
Windows Virtual Desktop 構築手順書(202001)Windows Virtual Desktop 構築手順書(202001)
Windows Virtual Desktop 構築手順書(202001)
 
Azure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法について
Azure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法についてAzure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法について
Azure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法について
 
Android開発者向けempress暗号化資料
Android開発者向けempress暗号化資料Android開発者向けempress暗号化資料
Android開発者向けempress暗号化資料
 
20101110 Tech02 ID 管理およびサービスの設定
20101110 Tech02 ID 管理およびサービスの設定20101110 Tech02 ID 管理およびサービスの設定
20101110 Tech02 ID 管理およびサービスの設定
 
勉強会force#3 iOSアプリ開発
勉強会force#3 iOSアプリ開発勉強会force#3 iOSアプリ開発
勉強会force#3 iOSアプリ開発
 
IDaaS を正しく活用するための認証基盤設計
IDaaS を正しく活用するための認証基盤設計IDaaS を正しく活用するための認証基盤設計
IDaaS を正しく活用するための認証基盤設計
 

More from junichi anno

V1.1 CD03 Azure Active Directory B2C/B2B コラボレーションによる Customer Identity and Ac...
V1.1 CD03 Azure Active Directory B2C/B2B コラボレーションによる Customer Identity and Ac...V1.1 CD03 Azure Active Directory B2C/B2B コラボレーションによる Customer Identity and Ac...
V1.1 CD03 Azure Active Directory B2C/B2B コラボレーションによる Customer Identity and Ac...junichi anno
 
Microsoft Azure のセキュリティ
Microsoft Azure のセキュリティMicrosoft Azure のセキュリティ
Microsoft Azure のセキュリティjunichi anno
 
Azure AD によるリソースの保護 how to protect and govern resources under the Azure AD
Azure AD によるリソースの保護 how to protect and govern resources under the Azure ADAzure AD によるリソースの保護 how to protect and govern resources under the Azure AD
Azure AD によるリソースの保護 how to protect and govern resources under the Azure ADjunichi anno
 
Azure AD による Web API の 保護
Azure AD による Web API の 保護 Azure AD による Web API の 保護
Azure AD による Web API の 保護 junichi anno
 
個人情報を守るための アプリケーション設計(概要)
個人情報を守るためのアプリケーション設計(概要)個人情報を守るためのアプリケーション設計(概要)
個人情報を守るための アプリケーション設計(概要)junichi anno
 
IoT のセキュリティアーキテクチャと実装モデル on Azure
IoT のセキュリティアーキテクチャと実装モデル on AzureIoT のセキュリティアーキテクチャと実装モデル on Azure
IoT のセキュリティアーキテクチャと実装モデル on Azurejunichi anno
 
DevSecOps: セキュリティ問題に迅速に対応するためのパイプライン設計
DevSecOps: セキュリティ問題に迅速に対応するためのパイプライン設計DevSecOps: セキュリティ問題に迅速に対応するためのパイプライン設計
DevSecOps: セキュリティ問題に迅速に対応するためのパイプライン設計junichi anno
 
Azureの管理権限について
Azureの管理権限について Azureの管理権限について
Azureの管理権限について junichi anno
 
File Server on Azure IaaS
File Server on Azure IaaSFile Server on Azure IaaS
File Server on Azure IaaSjunichi anno
 
Windows File Service 総復習-Windows Server 2012 R2編 第1版
Windows File Service 総復習-Windows Server 2012 R2編 第1版Windows File Service 総復習-Windows Server 2012 R2編 第1版
Windows File Service 総復習-Windows Server 2012 R2編 第1版junichi anno
 
Active Directory のクラウド武装化計画 V2~"AD on Azure IaaS" or "Windows Azure Active Di...
Active Directory のクラウド武装化計画 V2~"AD on Azure IaaS" or "Windows Azure Active Di...Active Directory のクラウド武装化計画 V2~"AD on Azure IaaS" or "Windows Azure Active Di...
Active Directory のクラウド武装化計画 V2~"AD on Azure IaaS" or "Windows Azure Active Di...junichi anno
 
Hyper-V を Windows PowerShell から管理する
Hyper-V を Windows PowerShell から管理するHyper-V を Windows PowerShell から管理する
Hyper-V を Windows PowerShell から管理するjunichi anno
 
Vdi を より使いやすいインフラにするためのセキュリティ設計
Vdi を より使いやすいインフラにするためのセキュリティ設計Vdi を より使いやすいインフラにするためのセキュリティ設計
Vdi を より使いやすいインフラにするためのセキュリティ設計junichi anno
 
最新Active DirectoryによるIDMaaSとハイブリッド認証基盤の実現
最新Active DirectoryによるIDMaaSとハイブリッド認証基盤の実現最新Active DirectoryによるIDMaaSとハイブリッド認証基盤の実現
最新Active DirectoryによるIDMaaSとハイブリッド認証基盤の実現junichi anno
 
クラウドにおける Windows Azure Active Directory の役割
クラウドにおける Windows Azure Active Directory の役割クラウドにおける Windows Azure Active Directory の役割
クラウドにおける Windows Azure Active Directory の役割junichi anno
 
Shared Nothing Live Migration で重要な「委任」について
Shared Nothing Live Migration で重要な「委任」についてShared Nothing Live Migration で重要な「委任」について
Shared Nothing Live Migration で重要な「委任」についてjunichi anno
 
仮想化した DC を PowerShell で複製する
仮想化した DC を PowerShell で複製する仮想化した DC を PowerShell で複製する
仮想化した DC を PowerShell で複製するjunichi anno
 
Windows PowerShell によるWindows Server 管理の自動化 v4.0 2014.03.13 更新版
Windows PowerShell によるWindows Server 管理の自動化 v4.0 2014.03.13 更新版Windows PowerShell によるWindows Server 管理の自動化 v4.0 2014.03.13 更新版
Windows PowerShell によるWindows Server 管理の自動化 v4.0 2014.03.13 更新版junichi anno
 
Windows Server 2012 で管理をもっと自動化する
Windows Server 2012 で管理をもっと自動化するWindows Server 2012 で管理をもっと自動化する
Windows Server 2012 で管理をもっと自動化するjunichi anno
 

More from junichi anno (20)

V1.1 CD03 Azure Active Directory B2C/B2B コラボレーションによる Customer Identity and Ac...
V1.1 CD03 Azure Active Directory B2C/B2B コラボレーションによる Customer Identity and Ac...V1.1 CD03 Azure Active Directory B2C/B2B コラボレーションによる Customer Identity and Ac...
V1.1 CD03 Azure Active Directory B2C/B2B コラボレーションによる Customer Identity and Ac...
 
Microsoft Azure のセキュリティ
Microsoft Azure のセキュリティMicrosoft Azure のセキュリティ
Microsoft Azure のセキュリティ
 
Azure AD によるリソースの保護 how to protect and govern resources under the Azure AD
Azure AD によるリソースの保護 how to protect and govern resources under the Azure ADAzure AD によるリソースの保護 how to protect and govern resources under the Azure AD
Azure AD によるリソースの保護 how to protect and govern resources under the Azure AD
 
Azure AD による Web API の 保護
Azure AD による Web API の 保護 Azure AD による Web API の 保護
Azure AD による Web API の 保護
 
Azure Key Vault
Azure Key VaultAzure Key Vault
Azure Key Vault
 
個人情報を守るための アプリケーション設計(概要)
個人情報を守るためのアプリケーション設計(概要)個人情報を守るためのアプリケーション設計(概要)
個人情報を守るための アプリケーション設計(概要)
 
IoT のセキュリティアーキテクチャと実装モデル on Azure
IoT のセキュリティアーキテクチャと実装モデル on AzureIoT のセキュリティアーキテクチャと実装モデル on Azure
IoT のセキュリティアーキテクチャと実装モデル on Azure
 
DevSecOps: セキュリティ問題に迅速に対応するためのパイプライン設計
DevSecOps: セキュリティ問題に迅速に対応するためのパイプライン設計DevSecOps: セキュリティ問題に迅速に対応するためのパイプライン設計
DevSecOps: セキュリティ問題に迅速に対応するためのパイプライン設計
 
Azureの管理権限について
Azureの管理権限について Azureの管理権限について
Azureの管理権限について
 
File Server on Azure IaaS
File Server on Azure IaaSFile Server on Azure IaaS
File Server on Azure IaaS
 
Windows File Service 総復習-Windows Server 2012 R2編 第1版
Windows File Service 総復習-Windows Server 2012 R2編 第1版Windows File Service 総復習-Windows Server 2012 R2編 第1版
Windows File Service 総復習-Windows Server 2012 R2編 第1版
 
Active Directory のクラウド武装化計画 V2~"AD on Azure IaaS" or "Windows Azure Active Di...
Active Directory のクラウド武装化計画 V2~"AD on Azure IaaS" or "Windows Azure Active Di...Active Directory のクラウド武装化計画 V2~"AD on Azure IaaS" or "Windows Azure Active Di...
Active Directory のクラウド武装化計画 V2~"AD on Azure IaaS" or "Windows Azure Active Di...
 
Hyper-V を Windows PowerShell から管理する
Hyper-V を Windows PowerShell から管理するHyper-V を Windows PowerShell から管理する
Hyper-V を Windows PowerShell から管理する
 
Vdi を より使いやすいインフラにするためのセキュリティ設計
Vdi を より使いやすいインフラにするためのセキュリティ設計Vdi を より使いやすいインフラにするためのセキュリティ設計
Vdi を より使いやすいインフラにするためのセキュリティ設計
 
最新Active DirectoryによるIDMaaSとハイブリッド認証基盤の実現
最新Active DirectoryによるIDMaaSとハイブリッド認証基盤の実現最新Active DirectoryによるIDMaaSとハイブリッド認証基盤の実現
最新Active DirectoryによるIDMaaSとハイブリッド認証基盤の実現
 
クラウドにおける Windows Azure Active Directory の役割
クラウドにおける Windows Azure Active Directory の役割クラウドにおける Windows Azure Active Directory の役割
クラウドにおける Windows Azure Active Directory の役割
 
Shared Nothing Live Migration で重要な「委任」について
Shared Nothing Live Migration で重要な「委任」についてShared Nothing Live Migration で重要な「委任」について
Shared Nothing Live Migration で重要な「委任」について
 
仮想化した DC を PowerShell で複製する
仮想化した DC を PowerShell で複製する仮想化した DC を PowerShell で複製する
仮想化した DC を PowerShell で複製する
 
Windows PowerShell によるWindows Server 管理の自動化 v4.0 2014.03.13 更新版
Windows PowerShell によるWindows Server 管理の自動化 v4.0 2014.03.13 更新版Windows PowerShell によるWindows Server 管理の自動化 v4.0 2014.03.13 更新版
Windows PowerShell によるWindows Server 管理の自動化 v4.0 2014.03.13 更新版
 
Windows Server 2012 で管理をもっと自動化する
Windows Server 2012 で管理をもっと自動化するWindows Server 2012 で管理をもっと自動化する
Windows Server 2012 で管理をもっと自動化する
 

Recently uploaded

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 

Recently uploaded (8)

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 

5/5 ADFS 2.0 を使用して Windows Azure との SSO を実現しよう V1.1

  • 1. 1 AD FS 2.0 DEEP DIVEAD FS 2.0 DEEP DIVE AD FS 2.0 をもっと使いこなすために 1. クレームパイプラインと要求規則(クレームルール) 2. カスタムルールの定義 3. AD FS 2.0 の監査
  • 2. 2 用語について 基本的に、日本語 UI に沿った用語を使用します。 …が ちょっとアレなところもあるので、以下の対応票を参考にしてください 。 日本語 対応する英語 要求 Claim, クレーム 規則 Rule, ルール 要求の種類 Claim Type, クレームタイプ 要求記述 Claim Description, クレームディスクリプション 要求 プロバイダー Claims Provider, クレーム プロバイダー 証明書利用者 Relying Party, リライング パーティ 発行承認規則 Issuance Authorization Rules 受付変換規則 Acceptance Transform Rules 発行変換規則 Issuance Transform Rules
  • 4. 4 要求規則 (Claim Rule) • 入力された情報をルール ( 規則 ) に沿って処理し出力する • 処理されたクレームは既定のパイプラインを通る メンバーシップ 入力方向の要求 カスタム クレーム 他の要求 プロバイダー LDAP 属性 スルー 変換 フィルター AD DS AD LDS LDAP 出力 SQL Server その他 要求規則
  • 5. 5 要求規則セット (Claim Rule Set) のタイプ • 受け付け変換規則 - Acceptance Transform Rule Set 要求プロバイダー ー (AD DS, SQL Server, LDAP) から 受け入れるクレーム セット • 発行承認規則 - Issuance Authorization Rule Set 証明書利用者 (RP) にアクセス可能なユーザーを明確にするための ルール。許可されたユーザーは「発行変換規則」からクレームを 受け取れるため、証明書利用者へのアクセスが可能になる。 • 発行変換規則 - Issuance Transform Rule Set 「受け付け要求規則」から発行されたクレーム セットを入力とし、 証明書利用者 (RP) に発行するクレームを生成する • 委任承認規則 - Delegation Authorization Rule Set 他のユーザーの代理として証明書利用者 (RP) にアクセスできるかどう かを判断するためのルール • 偽装承認規則 - Impersonate Authorization Rule Set ユーザーが他のユーザーを偽装してアクセスできるかどうかを 判断するためのルール。 Windows PowerShell で実装する。
  • 6. 6 AD FS 2.0 ~クレーム パイプライン 要求プロバイダー信頼 (Claims Provider Trusts) 証明書利用者信頼 (Relying Party Trust) 証明書利用者 (RP) ① 受付ける① 受付ける ③ 発行する③ 発行する 発行発行 変換変換 規則規則 input output 受け受け 付け付け 変換変換 規則規則 input output 発行発行 承認承認 規則規則 input output クレームストア OK/ NG switchswitch トークン 要求規則 (Claim Rule) ② 承認する② 承認する
  • 8. 8 発行承認規則 • 「証明書利用者信頼」で設定する • 「発行変換規則」に移行させるかどうかを判断 • クレームは発行しない この設定では「受け付け変換 規則」を通過したユーザー全 てに、「発行変換規則」への 進行を許可 この設定では「受け付け変換 規則」を通過したユーザー全 てに、「発行変換規則」への 進行を許可 ② 承認する② 承認する
  • 9. 9 発行変換規則 • 「証明書利用者信頼」で設定する • 以下を最終決定する • ユーザーにセキュリティトークンを発行するかどうか • RP/SP にどんなクレームを送信するか 規定では空(何も発行しない) ただし、「認証メソッド」と「認 証日時」だけは送信される 規定では空(何も発行しない) ただし、「認証メソッド」と「認 証日時」だけは送信される ③ 発行する③ 発行する
  • 10. 10 クレームルールを定義するには? • 要求規則テンプレートを使用 • 規定で用意されているルールを使用する場合 • [LDAP 属性を要求として送信 ] • [ グループ メンバーシップを要求として送信 ] • [ 入力方向の要求を変換 ] • [ 入力方向の要求をパススルーまたはフィルター処理 ] • [ カスタム規則を使用して要求を送信 ] • [ 入力方向の要求に基づいてユーザーを許可または拒否 ] • [ すべてのユーザーを許可 ] • カスタムルールを定義 • 用意されていないルール(ロジック)を使用する場合 • 用意されていない ldap 属性を使用する場合 • AD DS/ldap 以外のクレームストアを使用する場合 • SQL Server • その他(テキストファイル など) [ 要求記述 ] に記載されていないクレームタイプは使用できないので、事前 に定義しておく必要がある [ 要求記述 ] に記載されていないクレームタイプは使用できないので、事前 に定義しておく必要がある and …くどいようですが
  • 11. 11 (参考)既定の LDAP 属性 LDAP 属性の名前( lDAPdisplayName) Company (company) Department (department) Display-Name (displayName) E-Mail-Address (mail) Employee-ID (employeeID) Employee-Number (employeeNumber) Employee-Type (employeeType) Given-Name (givenName) Is-Member-Of-DL (memberOf) Organizational-Unit-Name (ou) Organization-Name (o) Proxy-Addresses (proxyAddress) LDAP 属性の名前( lDAPdisplayName) State-Or-Province-Name (st) Street-Address (street) Surname (sn) Telephone-Number (telephoneNumber) Title (title) Token-Groups (SID) (tokenGroups) Token-Groups - ドメイン名を含む (tokenGroups) Token-Groups - 完全修飾ドメイン名を含む (tokenGroups) Token-Groups - 名前の指定なし (tokenGroups) User-Principal-Name (userPrincipalName) SAM-Account-Name(sAMAccountName) これ以外の ldap 属性を使用する場合には「カスタム規則」を使用
  • 12. 12 クレームルールを定義する 例 1 • エバンジェリスト属性を持ったユーザーにのみトークンを発行する • 以下の ldap 属性をクレームとして送信する ldap 属性 クレームタイプ 氏名 displayname 名前 メール email 電子メール アドレス 部署 department 部署 役職 title 役割 規定で用意されない ため「要求記述」に 定義する必要がある 規定で用意されない ため「要求記述」に 定義する必要がある 作業手順 a.要求記述に「役割」を追加 b.「発行承認規則」で「エバンジェリスト」以外を抑止 c.「発行変換規則」で上記 4 つのクレームを定義する 作業手順 a.要求記述に「役割」を追加 b.「発行承認規則」で「エバンジェリスト」以外を抑止 c.「発行変換規則」で上記 4 つのクレームを定義する
  • 13. 13 クレームルールを定義する ① 要求記述の定義(「部署」を追加) クレームタイプ を URI で設 定する。 世界で唯一にするため、自社 ドメイン名を入れるとよい。 クレームタイプ を URI で設 定する。 世界で唯一にするため、自社 ドメイン名を入れるとよい。
  • 15. 15 「 LDAP 属性を要求として送信」を選 択 「 LDAP 属性を要求として送信」を選 択 Active Directory の属性「 title 」を 「役割」に放り込む Active Directory の属性「 title 」を 「役割」に放り込む
  • 18. 18 要求規則 の処理プロセスについて 要求規則要求規則 11要求規則要求規則 11 要求規則要求規則 22要求規則要求規則 22 要求規則セット InputClaimSet OutputClaimSet クレーム 条件 発行 トークン 要求規則要求規則 nn要求規則要求規則 nn 前のルールの結果が次のルールに引き継がれる
  • 19. 19 ③ 「発行変換規則」で 4 つのクレームを定義 ldap 属性 クレームタイプ 氏名 displayname 名前 メール email 電子メール アドレス 部署 department 部署 役職 title 役割
  • 20. 20 LDAP 属性を要求して送信LDAP 属性を要求して送信 複数の ldap 属性を一度に定義 可能 複数の ldap 属性を一度に定義 可能
  • 23. 23 クレームルールの定義 ありがちなミス ① 現象 •「発行承認規則」で [ 入力方向の要求に基づいてユーザーを許可または 拒否 ] ルールを使用し、クレーム名 [ 役職 ] に「部長」と書かれている ユーザーのみに許可したいが、全てのアクセスが拒否されてしまう 原因 •[ 役職 ] クレームの中身がからっぽ。 「受け付け承認規則」で [ 役職 ] クレームが定義されていない場合、 「発行承認規則」でいきなり [ 役職 ] クレームによる条件判定を行おう としても、クレームの中身が空のため判定は「 NG 」となる。事前に、 [ 役職 ] クレームに値を入力するルールが定義されている必要がある。 発発 行行 変変 換換 規規 則則 input output 受受 けけ 付付 けけ 変変 換換 規規 則則 input output 発発 行行 承承 認認 規規 則則 input outputOK/ NG ここでクレームを評価する以前に、ク レームが発行されていない場合、「空」 の値が入っているものとして評価されて しまう ここでクレームを評価する以前に、ク レームが発行されていない場合、「空」 の値が入っているものとして評価されて しまう
  • 25. 25 クレームルールの定義 ありがちなミス③ 現象 •「入力方向の要求をパススルーまたはフィルター処理」ルールを使用して、「特 定の電子メール フィックスの値と一致する要求値だけをパス スルーする」を定 義しているが、サフィックスが一致しないユーザーに対してもクレームが発行さ れてしまう。 原因 •クレームルールに複数のルールを定義 しており、当該ルール以前に電子メール アドレスクレームを発行している場合、 それを取り消すことはできない。 対処 •当該ルール以前のルールから電子メー ルアドレスの発行ルールを削除する 上で発行し てしまうと … 上で発行し てしまうと … それ以降でフィ ルターすること はできない それ以降でフィ ルターすること はできない
  • 29. 29 カスタムルールの構造 入力方向のクレーム / 属性をチェックし、 すべての条件が True の場合に「発行部」が実行される。 条件部が無い場合には無条件で True とみなされる。 => True False 発行するトークンタイプと、 そこに格納する属性 / 値を指定する。必須 条件部 条件文 1 条件文 2&& && オプション 発行部 発行文 条件部 発行部 「クレームが発行されない」≠ アクセスできな い※ クレームを持っていないユーザーにアクセスを許可するかどうかは  アプリケーションの判断
  • 30. 30 書式の基本 ① => issue ( Type = A”, Value = <“ “ 値 >” ); [Type == A"]“ => issue (Type = B”, Value =“ “ 値 "); • 無条件でクレーム「 A 」に「値」を入れて発行する • クレーム「 A ” ”」が 存在する 場合、クレーム「 B 」に「値」を入れて発行する [Type == A” , Value ==“ “ 値 1”] => issue (Type = B”, Value =“ “ 値 2”); • クレーム「 A 」が「値 1 」ならば、クレーム「 B 」に「値 2 」を入れて発行す る NOT Exists([Type == A"])“ => issue (Type = A”, Value =“ “ 値 "); • クレーム「 A ” ”」が 存在しない 場合、クレーム「 A 」に「値」を入れて発行す る
  • 31. 31 書式の基本 ② c:[Type == A” , Value ==“ “ 値 1”] => issue (Type = B”, Value =“ c.Value); • クレーム「 A 」が「値 1 」ならば、クレーム「 B 」にも「 A 」と同じ値を入 れて発行する c1:[Type == A” , Value ==“ “ 値 1”] && c2:[Type == B” , Value ==“ “ 値 2”] => issue (Type = C”, Value =“ c1.Value + c2.Value); • クレーム「 A 」が「値 1 」でクレーム「 B 」が「値 2 」ならば、クレーム 「 C 」には 値 1 と値 2 を結合した値を入力して発行する && はいくつでもつなげることができる ※ || ( or )に相当する演算子は用意されていない c:[Type == A” , Value ==“ “ 値 1”] => issue (claim = c ); • クレーム「 A 」が「値 1 」ならば、クレーム「 A 」を発行する。それ以外の場 合にはクレーム「 A 」は発行されない
  • 32. 32 書式の基本 ③ ~ Active Directory からの属性取得 • Active Directory で認証されたユーザーならば、 logonCount 属性を取得してクレー ム「 A 」を発行する c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/ claims/windowsaccountname", Issuer == "AD AUTHORITY"] => issue(store = "Active Directory", types = A”,“ query = ;logonCount,{0}", param = c.Value);“ • c • Type == http://schemas.microsoft.com/ws/2008/06/identity/claims/“ windowsaccountname“ • Issuer == "AD AUTHORITY“ • store = "Active Directory“ • query = ;logonCount,{0}“ “ • param = c.Value WindowsAccountName というクレームが発行されているWindowsAccountName というクレームが発行されている クレームを発行したのは “ AD AUTHORITY” であるクレームを発行したのは “ AD AUTHORITY” である 条 件 部 条 件 部 発 行 部 発 行 部 ”Active directory” というクレームストアから 属性を取ってくる ”Active directory” というクレームストアから 属性を取ってくる 持ってくる属性は「 logonCount 」で、 AD を検索する条件は windowsaccountname = {0} 持ってくる属性は「 logonCount 」で、 AD を検索する条件は windowsaccountname = {0} {0} の値は条件部で渡された WindowsAccountName の値 {0} の値は条件部で渡された WindowsAccountName の値 WindowsAccountName クレームWindowsAccountName クレーム
  • 33. 33 カスタムルール活用のコツ ① c:[Type == A”, Value“ =~ “ (?i)junichia@tf.com$^ ” ] => issue(claim = c); c:[Type == A”, Value“ =~ “ (?i)junichia@tf.com$^ ” ] => issue(claim = c); 正規表現の利用 • (例 1 )クレーム「 A 」の値が大文字小文字を問わず「 junichia@tf.com 」と完全一 致ならばクレームを発行する (?i)junichia@tf.com$^ 正規表現言語要素 http://msdn.microsoft.com/ja-jp/library/az24scfc.aspx 行頭(これ より前に文 字が無いこ と)を示す 後に続く文字の大文字 小文字を区別しない 特殊な文字の前には 「 (バックスラッ シュ)」を付加 行末(これより後 ろに文字が無いこ と)を示す
  • 34. 34 カスタムルール活用のコツ ② [Type == A”, Value =~ " [0-9]{3}$"]“ ^ => issue(Type = B”, Value = SENIOR”);“ “ [Type == A”, Value =~ " [0-9]{3}$"]“ ^ => issue(Type = B”, Value = SENIOR”);“ “ 正規表現の利用 • (例 2 )クレーム「 A 」の値が 2 ケタの数字ならば、クレーム「 B 」に 「 JUNIOR 」を入れて発行する [0-9]{3}$^ 正規表現言語要素 http://msdn.microsoft.com/ja-jp/library/az24scfc.aspx 行頭(これ より前に文 字が無いこ と)を示す 0 から 9 の文 字列が 3 ケタ である 行末(これより後 ろに文字が無いこ と)を示す
  • 35. 35 カスタムルール活用のコツ ③ ファンクションの活用 •count :指定されたクレームが持つ値の数をカウントする •RegExReplace :文字列を置き換える count ([type == http://schemas.xmlsoap.org/claims/Reports ] ) > 0“ “ => issue(= "http://schemas.xmlsoap.org/claims/ismanager", value = "true"); count ([type == http://schemas.xmlsoap.org/claims/Reports ] ) > 0“ “ => issue(= "http://schemas.xmlsoap.org/claims/ismanager", value = "true"); c:[type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"] => issue(type = c.type, value = regexreplace (c.value, "(?<domain>[ ]+)(?<user>.+)", "FABRIKAM$^ {user}")); c:[type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"] => issue(type = c.type, value = regexreplace (c.value, "(?<domain>[ ]+)(?<user>.+)", "FABRIKAM$^ {user}"));
  • 36. 36 発行ステートメントについて 要求規則要求規則 11要求規則要求規則 11 要求規則要求規則 22要求規則要求規則 22 要求規則セット InputClaimSet OutputClaimSet クレー ム title = “ ”部長 role= Mana“ ger” • issue :クレームを発行する( output claim set に発行する) • add : input claim set に直接発行する → クレーム発行のためのテンポラリー領域的な使い方 => addadd (type = “title”, value = “ 部長 ");=> addadd (type = “title”, value = “ 部長 "); [type == “title”, Value == “ ”部長 ] => issueissue (type = "Role", value = “Manager"); [type == “title”, Value == “ ”部長 ] => issueissue (type = "Role", value = “Manager"); add ステートメント は output クレーム を発行しない input 領域にのみ発行 input 領域にのみ発行
  • 37. 37 カスタムルールを定義する 例 2 • 役割が「エバンジェリスト」にのみトークンを発行する • ユーザーのアクティブ度(笑)をログオン回数から判定し、回数に応じ た Status 与える(アプリケーション側では Status に応じて表示するメ ニューを変える) • 以下のクレームを送信する ldap 属性 クレームタイプ 氏名 displayname 名前 メール email 電子メール アドレス 部署 department 部署 役職 title 役割 ログオン回数 logonCount ログオン回数 ステータス ー ステータス 作業手順 a.要求記述に「ログオン回数」と「ステータス」を追加 b.「発行変換規則」で「ログオン回数」と「ステータス」を定義 作業手順 a.要求記述に「ログオン回数」と「ステータス」を追加 b.「発行変換規則」で「ログオン回数」と「ステータス」を定義 規定で用意されない ため「要求記述」に 定義する必要がある 規定で用意されない ため「要求記述」に 定義する必要がある 規定で用意されない ため「要求記述」に 定義する必要がある 規定で用意されない ため「要求記述」に 定義する必要がある
  • 41. 41 logonCount 属性を「ログオン回数」にセット Active Directory から logonCount 属性を 取り出し、クレームタイプ logoncount に入れている Active Directory から logonCount 属性を 取り出し、クレームタイプ logoncount に入れている
  • 42. 42 logoncount をもとにステータスを判定するには c:[Type == “http://schemas.tf.com/identity/claims/logoncount”, Value =~ “^[0-9]{1}”] => add (Type = "http://schemas.tf.com/identity/claims/userstatus", Value = "SILVER"); c:[Type == “http://schemas.tf.com/identity/claims/logoncount”, Value =~ “^[0-9]{1}”] => add (Type = "http://schemas.tf.com/identity/claims/userstatus", Value = "SILVER"); logonCount < 10 ならば ステータスは シルバー c:[Type == “http://schemas.tf.com/identity/claims/logoncount”, Value =~ “^[0-9]{2}”] => add (Type = "http://schemas.tf.com/identity/claims/userstatus", Value = “GOLD"); c:[Type == “http://schemas.tf.com/identity/claims/logoncount”, Value =~ “^[0-9]{2}”] => add (Type = "http://schemas.tf.com/identity/claims/userstatus", Value = “GOLD"); logonCount => 10 and logonCount < 100 ならば ステータスは ゴールド c:[Type == “http://schemas.tf.com/identity/claims/logoncount”, Value =~ “^[0-9]{3}”] => add (Type = "http://schemas.tf.com/identity/claims/userstatus", Value = “PLATINUM"); c:[Type == “http://schemas.tf.com/identity/claims/logoncount”, Value =~ “^[0-9]{3}”] => add (Type = "http://schemas.tf.com/identity/claims/userstatus", Value = “PLATINUM"); logonCount => 10 and logonCount < 100 ならば ステータスは ゴールド => Issue (Type = "http://schemas.tf.com/identity/claims/userstatus“ ) ;=> Issue (Type = "http://schemas.tf.com/identity/claims/userstatus“ ) ; userstatus クレームを発行する
  • 44. 44 AD FS 2.0 DEEP DIVE AD FS 2.0 の監査とトレース
  • 45. 45 トレースログを表示するには [ イベント ビューアー ] - [ アプリケーション と サービスログ ] - [AD FS 2.0] を右クリックして [ 表示 ]-[ 分析およびデバッグログの表示 ] をチェック
  • 48. 48 AD FS 2.0 をうまく使うには • ビジネスの方向性を見据えた設計を • AD FS 2.0 はオープンなアーキテクチャ • 企業間、組織間、異種プラットフォーム間の 相互運用も射程内にある • SaaS の選定も慎重に (クレームベースの認証が可能か?) • LOB のアーキテクチャに口出ししましょう • 認証 / ロール管理を今後どうするか? • 企業全体での ID 管理の仕組みは? • AD FS 2.0 のアーキテクチャにも注目を! • Microsoft Online Service との連携 • AppFabric Access Control Service との連携 • 他社テクノロジーとの連携 AD FS 2.0 は LOB のアーキテクチャを一新するテクノロジーで す AD FS 2.0 は LOB のアーキテクチャを一新するテクノロジーで す
  • 49. 49 STS は AD FS だけじゃない • AppFabric Access Control Service ( ACS )との連携 STS STS 信頼信頼信頼信頼 信頼信頼 信頼信頼 トークン トークン ト ー ク ン ト ー ク ン ア ク セ ス ア ク セ ス ア ク セ ス ア ク セ ス AD DS AD FS ACS
  • 50. 50 (参考)新しい ACS は夢が広がる IdP/CP RP/SP クラウド オンプレミス REST WIF AD FS 2.0 ACS V2 AD DS REST WIF AD FS 2.0
  • 51. 51 © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.