ADFS クレームルール言語 Deep Dive

24
クレームルール言語 Deep Dive 株式会社ソフィアネットワーク 国井 傑 (くにい すぐる) スライドは↓こちら↓からダウンロード http://www.slideshare.net/sugurukunii/

Transcript of ADFS クレームルール言語 Deep Dive

Page 1: ADFS クレームルール言語 Deep Dive

クレームルール言語 Deep Dive株式会社ソフィアネットワーク

国井 傑 (くにい すぐる)

スライドは↓こちら↓からダウンロードhttp://www.slideshare.net/sugurukunii/

Page 2: ADFS クレームルール言語 Deep Dive

自己紹介

Copyright 2014 Sophia Network Ltd.2

Microsoft MVP for Directory Services (2006~2015)

マイクロソフト認定トレーナー(1997~)

ブログAlways on the clock

@sophiakunii

株式会社ソフィアネットワーク 所属

連載~基礎から分かるActive Directory再入門

スライドは↓こちら↓からダウンロードhttp://www.slideshare.net/sugurukunii/

Page 3: ADFS クレームルール言語 Deep Dive

評価ガイドあります

Copyright 2014 Sophia Network Ltd.3

スライドは↓こちら↓からダウンロードhttp://www.slideshare.net/sugurukunii/

Page 4: ADFS クレームルール言語 Deep Dive

ADFS トレーニングコースがリニューアルしました

Copyright 2014 Sophia Network Ltd.4

ニーズに合わせて、2つのコースをご提供!

Office 365ユーザー認証ベストプラクティス (2日コース)

Microsoft Azureを活用したADFS構築 (1日コース)

こんな人におすすめです。テスト環境を用意するだけでも大変なので、手っ取り早く学習したい。

今はとりあえずADFSが動いているけど、トラブルが起きたらどうしよう。

ADFSでデバイス制御を行いたい。

詳しくはクリエ・イルミネートWebサイトでご確認ください。http://www.crie-illuminate.jp

Page 5: ADFS クレームルール言語 Deep Dive

はじめに

Copyright 2014 Sophia Network Ltd.5

Page 6: ADFS クレームルール言語 Deep Dive

ADFS と Azure Active Directory (Azure AD)ADFS による ID 連携

Azure AD による ID 連携

Copyright 2014 Sophia Network Ltd.6

Page 7: ADFS クレームルール言語 Deep Dive

Copyright 2014 Sophia Network Ltd.7

Page 8: ADFS クレームルール言語 Deep Dive

クレームルールとはトークンに含まれるクレームの定義またはアクセス制御を行うためのルール

Copyright 2014 Sophia Network Ltd.8

Page 9: ADFS クレームルール言語 Deep Dive

クレームルールのお作法

Copyright 2014 Sophia Network Ltd.9

Page 10: ADFS クレームルール言語 Deep Dive

クレームルールのお作法

Copyright 2014 Sophia Network Ltd.10

Page 11: ADFS クレームルール言語 Deep Dive

クレームルールのお作法条件を指定しないで役割クレームに manager の値を発行

役職が設定されていない場合、役職クレームに一般社員の値を発行

役職が部長の場合、役職クレームを発行

Copyright 2014 Sophia Network Ltd.11

Page 12: ADFS クレームルール言語 Deep Dive

クレームルールのお作法役職が部長の場合、役割クレームにも役職クレームと同じ値を発行

役職と名前を組み合わせた値を指定名クレームとして発行

Copyright 2014 Sophia Network Ltd.12

Page 13: ADFS クレームルール言語 Deep Dive

クレームルールのお作法SQL Server の WorkerIDTable テーブルから emailaddress をキーにして WorkerID 列を取得し、WorkerID クレームにセット

【注意】SQL Server 属性ストアの定義が事前に必要

ADFS のクレームに SQL Server データベースを使う方法http://tinyurl.com/lm4gkyz

Copyright 2014 Sophia Network Ltd.13

Page 14: ADFS クレームルール言語 Deep Dive

クレームルールのお作法発行承認規則で許可を発行

発行承認規則で拒否を発行

Copyright 2014 Sophia Network Ltd.14

Page 15: ADFS クレームルール言語 Deep Dive

【参考】承認規則利用可能な主な要求記述

Copyright 2014 Sophia Network Ltd.15

Page 16: ADFS クレームルール言語 Deep Dive

クレームルールのお作法正規表現

Copyright 2014 Sophia Network Ltd.16

Page 17: ADFS クレームルール言語 Deep Dive

多要素認証利用のためのアクセス制御設定 Set-ADFSAdditionalAuthenticationRuleコマンドレットで設定

基本的な構文

条件=>処理

条件部分の書き方

ここでの「処理」とは「多要素認証を行いなさい」ということ

Copyright 2014 Sophia Network Ltd.17

issue(Type = “http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod”, Value = “http://schemas.microsoft.com/claims/multipleauthn”);

Exists([Type==○○, Value==××])

c:[Type==○○, Value==××]

Page 18: ADFS クレームルール言語 Deep Dive

多要素認証利用のためのアクセス制御設定 条件のシナリオ1:社内ネットワークからブラウザーでアクセスした場合

条件のシナリオ2 : Workplace Joinによるデバイス認証をしていない場合

Copyright 2014 Sophia Network Ltd.18

exists([Type == "http://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-endpoint-absolute-path", Value == "/adfs/ls/wia"])

c:[Type == "http://schemas.microsoft.com/2012/01/devicecontext/claims/isregistereduser", Value == "false"]

NOT EXISTS([Type == "http://schemas.microsoft.com/2012/01/devicecontext/claims/isregistereduser"])

Page 19: ADFS クレームルール言語 Deep Dive

多要素認証利用のためのアクセス制御設定 条件のシナリオ1の場合における、アクセス制御設定の全文

Copyright 2014 Sophia Network Ltd.19

‘exists([Type == "http://schemas.microsoft.com/2012/01/requestcontext/claims/x-ms-endpoint-absolute-path", Value == "/adfs/ls/wia"])=> issue(Type = “http://schemas.microsoft.com/ws/2008/06/

identity/claims/authenticationmethod”, Value = “http://schemas.microsoft.com/claims/multipleauthn”);’

Page 20: ADFS クレームルール言語 Deep Dive

デバイス認証利用のためのアクセス制御設定 Microsoft Office365 Identity Platform証明書利用者信頼の

発行承認規則で設定

クレームルールの書き方

処理部の書き方

条件部の書き方は次のスライドから

Copyright 2014 Sophia Network Ltd.20

issue (Type = “http://schemas.microsoft.com/authorization/claims/permit”,value = “true”);

Page 21: ADFS クレームルール言語 Deep Dive

デバイス認証利用のためのアクセス制御設定 条件のシナリオ1:デバイスクレームがある場合

条件のシナリオ2 : iOS の場合

Copyright 2014 Sophia Network Ltd.21

exists([Type == ”http://schemas.microsoft.com/2012/01/devicecontext/claims/identifier”])

exists([Type == ”http://schemas.microsoft.com/2012/01/devicecontext/claims/ostype”, Value == “iOS”])

Page 22: ADFS クレームルール言語 Deep Dive

デバイス認証利用のためのアクセス制御設定 条件のシナリオ1の場合における、アクセス制御設定の全文

Copyright 2014 Sophia Network Ltd.22

exists([Type == ”http://schemas.microsoft.com/2012/01/devicecontext/claims/identifier”])=> issue (Type =

“http://schemas.microsoft.com/authorization/claims/permit”,value = “true”);

Page 23: ADFS クレームルール言語 Deep Dive

ADFS トレーニングコース開催しています!http://www.crie-illuminate.jp/

Copyright 2014 Sophia Network Ltd.23

Active Directory フェデレーション サービス トレーニング

Office 365ユーザー認証ベストプラクティス (2日コース)Microsoft Azure を活用した ADFS 構築 (1日コース)

Page 24: ADFS クレームルール言語 Deep Dive

Microsoft Confidential24

We don’t even have to try,It’s always a good time.

from “good time” by owl city & carly rae jepsen