Submit Search
Upload
5/5 ADFS 2.0 を使用して Windows Azure との SSO を実現しよう V1.1
•
Download as PPT, PDF
•
4 likes
•
2,671 views
junichi anno
Follow
[構築作業 後編] AD FS Deep Dive 8.クレームパイプラインとクレームルール 9.カスタムルールの設定 10.AD FS 2.0 の監査
Read less
Read more
Technology
Report
Share
Report
Share
1 of 51
Download now
Recommended
AD FS deep dive - claim rule set
AD FS deep dive - claim rule set
junichi anno
Windows phone アプリ開発者のための AD FS 2.0 セットアップ手順
Windows phone アプリ開発者のための AD FS 2.0 セットアップ手順
junichi anno
1/5 ADFS 2.0 を使用してWindows Azure との SSO を実現しよう v1.1
1/5 ADFS 2.0 を使用してWindows Azure との SSO を実現しよう v1.1
junichi anno
Active Directory 最新情報 2012.8.31 暫定版
Active Directory 最新情報 2012.8.31 暫定版
junichi anno
2/5 ADFS 2.0 を使用して Windows Azure との SSO を実現しよう v1.1
2/5 ADFS 2.0 を使用して Windows Azure との SSO を実現しよう v1.1
junichi anno
BoF-09 Silverlight and WIF /TechEd Japan 2010
BoF-09 Silverlight and WIF /TechEd Japan 2010
Naohiro Fujie
Clrh55_LT_kamebuchi_public
Clrh55_LT_kamebuchi_public
Keiji Kamebuchi
Dynamic Access Control 解説編
Dynamic Access Control 解説編
junichi anno
Recommended
AD FS deep dive - claim rule set
AD FS deep dive - claim rule set
junichi anno
Windows phone アプリ開発者のための AD FS 2.0 セットアップ手順
Windows phone アプリ開発者のための AD FS 2.0 セットアップ手順
junichi anno
1/5 ADFS 2.0 を使用してWindows Azure との SSO を実現しよう v1.1
1/5 ADFS 2.0 を使用してWindows Azure との SSO を実現しよう v1.1
junichi anno
Active Directory 最新情報 2012.8.31 暫定版
Active Directory 最新情報 2012.8.31 暫定版
junichi anno
2/5 ADFS 2.0 を使用して Windows Azure との SSO を実現しよう v1.1
2/5 ADFS 2.0 を使用して Windows Azure との SSO を実現しよう v1.1
junichi anno
BoF-09 Silverlight and WIF /TechEd Japan 2010
BoF-09 Silverlight and WIF /TechEd Japan 2010
Naohiro Fujie
Clrh55_LT_kamebuchi_public
Clrh55_LT_kamebuchi_public
Keiji Kamebuchi
Dynamic Access Control 解説編
Dynamic Access Control 解説編
junichi anno
ADFS の vNext
ADFS の vNext
Mari Miyakawa
4/5 ADFS 2.0 を使用して Windows Azure との SSO を実現しよう V1.1
4/5 ADFS 2.0 を使用して Windows Azure との SSO を実現しよう V1.1
junichi anno
Dynamic Access Control 演習編
Dynamic Access Control 演習編
junichi anno
勉強会キット Windows Server 2012 R2 評価版 BYOD 編 v2 20131020 版
勉強会キット Windows Server 2012 R2 評価版 BYOD 編 v2 20131020 版
junichi anno
Microsoft と Digital Identity
Microsoft と Digital Identity
junichi anno
SaaS としての IDM の役割
SaaS としての IDM の役割
junichi anno
20120528 aws meister-reloaded-awssd-kforjava-public
20120528 aws meister-reloaded-awssd-kforjava-public
Amazon Web Services Japan
WVD (Windows Virtual Desktop) 概要
WVD (Windows Virtual Desktop) 概要
Takamasa Maejima
Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~
Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~
junichi anno
Azure Active Directory 1枚資料 20151125版
Azure Active Directory 1枚資料 20151125版
junichi anno
S05 Microsoft Azure 仮想マシンでの Active Directory 活用シナリオ
S05 Microsoft Azure 仮想マシンでの Active Directory 活用シナリオ
Microsoft Azure Japan
JAZUG仙台#1勉強会
JAZUG仙台#1勉強会
Shinichiro Isago
リソーステンプレート入門
リソーステンプレート入門
junichi anno
Windows 10 の新機能 Azure AD Domain Join とは
Windows 10 の新機能 Azure AD Domain Join とは
Mari Miyakawa
Windows Virtual Desktop 構築手順書(202001)
Windows Virtual Desktop 構築手順書(202001)
Emi Morishita
Azure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法について
Azure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法について
Shinya Yamaguchi
Android開発者向けempress暗号化資料
Android開発者向けempress暗号化資料
ITDORAKU
20101110 Tech02 ID 管理およびサービスの設定
20101110 Tech02 ID 管理およびサービスの設定
kumo2010
勉強会force#3 iOSアプリ開発
勉強会force#3 iOSアプリ開発
Kazuki Nakajima
IDaaS を正しく活用するための認証基盤設計
IDaaS を正しく活用するための認証基盤設計
Trainocate Japan, Ltd.
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 のセキュリティ
junichi anno
More Related Content
What's hot
ADFS の vNext
ADFS の vNext
Mari Miyakawa
4/5 ADFS 2.0 を使用して Windows Azure との SSO を実現しよう V1.1
4/5 ADFS 2.0 を使用して Windows Azure との SSO を実現しよう V1.1
junichi anno
Dynamic Access Control 演習編
Dynamic Access Control 演習編
junichi anno
勉強会キット Windows Server 2012 R2 評価版 BYOD 編 v2 20131020 版
勉強会キット Windows Server 2012 R2 評価版 BYOD 編 v2 20131020 版
junichi anno
Microsoft と Digital Identity
Microsoft と Digital Identity
junichi anno
SaaS としての IDM の役割
SaaS としての IDM の役割
junichi anno
20120528 aws meister-reloaded-awssd-kforjava-public
20120528 aws meister-reloaded-awssd-kforjava-public
Amazon Web Services Japan
WVD (Windows Virtual Desktop) 概要
WVD (Windows Virtual Desktop) 概要
Takamasa Maejima
Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~
Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~
junichi anno
Azure Active Directory 1枚資料 20151125版
Azure Active Directory 1枚資料 20151125版
junichi anno
S05 Microsoft Azure 仮想マシンでの Active Directory 活用シナリオ
S05 Microsoft Azure 仮想マシンでの Active Directory 活用シナリオ
Microsoft Azure Japan
JAZUG仙台#1勉強会
JAZUG仙台#1勉強会
Shinichiro Isago
リソーステンプレート入門
リソーステンプレート入門
junichi anno
Windows 10 の新機能 Azure AD Domain Join とは
Windows 10 の新機能 Azure AD Domain Join とは
Mari Miyakawa
Windows Virtual Desktop 構築手順書(202001)
Windows Virtual Desktop 構築手順書(202001)
Emi Morishita
Azure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法について
Azure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法について
Shinya Yamaguchi
Android開発者向けempress暗号化資料
Android開発者向けempress暗号化資料
ITDORAKU
20101110 Tech02 ID 管理およびサービスの設定
20101110 Tech02 ID 管理およびサービスの設定
kumo2010
勉強会force#3 iOSアプリ開発
勉強会force#3 iOSアプリ開発
Kazuki Nakajima
IDaaS を正しく活用するための認証基盤設計
IDaaS を正しく活用するための認証基盤設計
Trainocate Japan, Ltd.
What's hot
(20)
ADFS の vNext
ADFS の vNext
4/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 演習編
勉強会キット Windows Server 2012 R2 評価版 BYOD 編 v2 20131020 版
勉強会キット Windows Server 2012 R2 評価版 BYOD 編 v2 20131020 版
Microsoft と Digital Identity
Microsoft と Digital Identity
SaaS としての IDM の役割
SaaS としての IDM の役割
20120528 aws meister-reloaded-awssd-kforjava-public
20120528 aws meister-reloaded-awssd-kforjava-public
WVD (Windows Virtual Desktop) 概要
WVD (Windows Virtual Desktop) 概要
Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~
Azure ad の導入を検討している方へ ~ active directory の構成パターンと正しい認証方式の選択~
Azure Active Directory 1枚資料 20151125版
Azure Active Directory 1枚資料 20151125版
S05 Microsoft Azure 仮想マシンでの Active Directory 活用シナリオ
S05 Microsoft Azure 仮想マシンでの Active Directory 活用シナリオ
JAZUG仙台#1勉強会
JAZUG仙台#1勉強会
リソーステンプレート入門
リソーステンプレート入門
Windows 10 の新機能 Azure AD Domain Join とは
Windows 10 の新機能 Azure AD Domain Join とは
Windows Virtual Desktop 構築手順書(202001)
Windows Virtual Desktop 構築手順書(202001)
Azure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法について
Azure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法について
Android開発者向けempress暗号化資料
Android開発者向けempress暗号化資料
20101110 Tech02 ID 管理およびサービスの設定
20101110 Tech02 ID 管理およびサービスの設定
勉強会force#3 iOSアプリ開発
勉強会force#3 iOSアプリ開発
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...
junichi anno
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 AD
junichi anno
Azure AD による Web API の 保護
Azure AD による Web API の 保護
junichi anno
Azure Key Vault
Azure Key Vault
junichi anno
個人情報を守るためのアプリケーション設計(概要)
個人情報を守るためのアプリケーション設計(概要)
junichi anno
IoT のセキュリティアーキテクチャと実装モデル on Azure
IoT のセキュリティアーキテクチャと実装モデル on Azure
junichi anno
DevSecOps: セキュリティ問題に迅速に対応するためのパイプライン設計
DevSecOps: セキュリティ問題に迅速に対応するためのパイプライン設計
junichi anno
Azureの管理権限について
Azureの管理権限について
junichi anno
File Server on Azure IaaS
File Server on Azure IaaS
junichi anno
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...
junichi anno
Hyper-V を Windows PowerShell から管理する
Hyper-V を Windows PowerShell から管理する
junichi anno
Vdi を より使いやすいインフラにするためのセキュリティ設計
Vdi を より使いやすいインフラにするためのセキュリティ設計
junichi anno
最新Active DirectoryによるIDMaaSとハイブリッド認証基盤の実現
最新Active DirectoryによるIDMaaSとハイブリッド認証基盤の実現
junichi anno
クラウドにおける Windows Azure Active Directory の役割
クラウドにおける Windows Azure Active Directory の役割
junichi anno
Shared Nothing Live Migration で重要な「委任」について
Shared Nothing Live Migration で重要な「委任」について
junichi anno
仮想化した DC を PowerShell で複製する
仮想化した DC を PowerShell で複製する
junichi anno
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 で管理をもっと自動化する
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...
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 AD
Azure AD による Web API の 保護
Azure AD による Web API の 保護
Azure Key Vault
Azure Key Vault
個人情報を守るためのアプリケーション設計(概要)
個人情報を守るためのアプリケーション設計(概要)
IoT のセキュリティアーキテクチャと実装モデル on Azure
IoT のセキュリティアーキテクチャと実装モデル on Azure
DevSecOps: セキュリティ問題に迅速に対応するためのパイプライン設計
DevSecOps: セキュリティ問題に迅速に対応するためのパイプライン設計
Azureの管理権限について
Azureの管理権限について
File 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版
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 から管理する
Vdi を より使いやすいインフラにするためのセキュリティ設計
Vdi を より使いやすいインフラにするためのセキュリティ設計
最新Active DirectoryによるIDMaaSとハイブリッド認証基盤の実現
最新Active DirectoryによるIDMaaSとハイブリッド認証基盤の実現
クラウドにおける Windows Azure Active Directory の役割
クラウドにおける Windows Azure Active Directory の役割
Shared Nothing Live Migration で重要な「委任」について
Shared Nothing Live Migration で重要な「委任」について
仮想化した DC を PowerShell で複製する
仮想化した DC を PowerShell で複製する
Windows PowerShell によるWindows Server 管理の自動化 v4.0 2014.03.13 更新版
Windows PowerShell によるWindows Server 管理の自動化 v4.0 2014.03.13 更新版
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...
博三 太田
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
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...
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
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
3.
3 クレームパイプラインと要求規則(クレームルー ル) AD FS 2.0
Deep Dive
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) ② 承認する② 承認する
7.
7 受け付け変換規則 • 「要求プロバイダー信頼」で設定する • 「証明書利用者信頼」に渡すためのクレームをセットする 大原則① ここで定義されたクレームのみ が、パイプラインに沿って「証 明書利用信頼」に渡される 大原則① ここで定義されたクレームのみ が、パイプラインに沿って「証 明書利用信頼」に渡される ①
受付ける① 受付ける
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 で設 定する。 世界で唯一にするため、自社 ドメイン名を入れるとよい。
14.
14 ② 「発行承認規則」(「エバンジェリスト」以外を抑止) 「すべてのユーザーにア クセスを許可」を削除
15.
15 「 LDAP 属性を要求として送信」を選 択 「
LDAP 属性を要求として送信」を選 択 Active Directory の属性「 title 」を 「役割」に放り込む Active Directory の属性「 title 」を 「役割」に放り込む
16.
16 さらに規則を追加す る さらに規則を追加す る 「入力方向の要求に基づいてユーザーを 許可または拒否」を選択 「入力方向の要求に基づいてユーザーを 許可または拒否」を選択
17.
17 クレーム「役割」が「エバンジェリス …ト」ならば クレーム「役割」が「エバンジェリス …ト」ならば 条件に合致したユーザーのみを「許 可」 条件に合致したユーザーのみを「許 可」
18.
18 要求規則 の処理プロセスについて 要求規則要求規則 11要求規則要求規則
11 要求規則要求規則 22要求規則要求規則 22 要求規則セット InputClaimSet OutputClaimSet クレーム 条件 発行 トークン 要求規則要求規則 nn要求規則要求規則 nn 前のルールの結果が次のルールに引き継がれる
19.
19 ③ 「発行変換規則」で 4
つのクレームを定義 ldap 属性 クレームタイプ 氏名 displayname 名前 メール email 電子メール アドレス 部署 department 部署 役職 title 役割
20.
20 LDAP 属性を要求して送信LDAP 属性を要求して送信 複数の
ldap 属性を一度に定義 可能 複数の ldap 属性を一度に定義 可能
21.
21 完成形
22.
22 実行結果例 役割が「エバンジェリス ト」でなければアクセス拒 否 役割が「エバンジェリス ト」でなければアクセス拒 否
23.
23 クレームルールの定義 ありがちなミス ① 現象 •「発行承認規則」で
[ 入力方向の要求に基づいてユーザーを許可または 拒否 ] ルールを使用し、クレーム名 [ 役職 ] に「部長」と書かれている ユーザーのみに許可したいが、全てのアクセスが拒否されてしまう 原因 •[ 役職 ] クレームの中身がからっぽ。 「受け付け承認規則」で [ 役職 ] クレームが定義されていない場合、 「発行承認規則」でいきなり [ 役職 ] クレームによる条件判定を行おう としても、クレームの中身が空のため判定は「 NG 」となる。事前に、 [ 役職 ] クレームに値を入力するルールが定義されている必要がある。 発発 行行 変変 換換 規規 則則 input output 受受 けけ 付付 けけ 変変 換換 規規 則則 input output 発発 行行 承承 認認 規規 則則 input outputOK/ NG ここでクレームを評価する以前に、ク レームが発行されていない場合、「空」 の値が入っているものとして評価されて しまう ここでクレームを評価する以前に、ク レームが発行されていない場合、「空」 の値が入っているものとして評価されて しまう
24.
24 クレームルールの定義 ありがちなミス ① 現象 •ルールを変えても送信されるクレームが変わらない 原因 •デスクトップ上に別のブラウザやタブが起動しており、既にクレームを 取得している こいつを閉 …じないと
. こいつを閉 …じないと . 同じクレー ムが表示さ れる 同じクレー ムが表示さ れる
25.
25 クレームルールの定義 ありがちなミス③ 現象 •「入力方向の要求をパススルーまたはフィルター処理」ルールを使用して、「特 定の電子メール フィックスの値と一致する要求値だけをパス
スルーする」を定 義しているが、サフィックスが一致しないユーザーに対してもクレームが発行さ れてしまう。 原因 •クレームルールに複数のルールを定義 しており、当該ルール以前に電子メール アドレスクレームを発行している場合、 それを取り消すことはできない。 対処 •当該ルール以前のルールから電子メー ルアドレスの発行ルールを削除する 上で発行し てしまうと … 上で発行し てしまうと … それ以降でフィ ルターすること はできない それ以降でフィ ルターすること はできない
26.
26 カスタムルールの定義 AD FS 2.0
Deep Dive
27.
27 カスタムルールのサンプルを見るには
28.
28 条件部 発行部
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.「発行変換規則」で「ログオン回数」と「ステータス」を定義 規定で用意されない ため「要求記述」に 定義する必要がある 規定で用意されない ため「要求記述」に 定義する必要がある 規定で用意されない ため「要求記述」に 定義する必要がある 規定で用意されない ため「要求記述」に 定義する必要がある
38.
38 カスタムルールを定義する 要求記述の定義(「ログオン回数」) クレームタイプ を URI
で設 定する。 クレームタイプ を URI で設 定する。
39.
39 カスタムルールを定義する 要求記述の定義(「ステータス」) クレームタイプ を URI
で設 定する。 クレームタイプ を URI で設 定する。
40.
40 カスタムルールを定義する 「ログオン回数」と「ステータス」を定義
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 クレームを発行する
43.
43 完成形 ルールは上から実行される 6 userstatus クレームを発行する
< 要求規則の表示 >
44.
44 AD FS 2.0
DEEP DIVE AD FS 2.0 の監査とトレース
45.
45 トレースログを表示するには [ イベント ビューアー
] - [ アプリケーション と サービスログ ] - [AD FS 2.0] を右クリックして [ 表示 ]-[ 分析およびデバッグログの表示 ] をチェック
46.
46 トレースログを有効にする
47.
47 まとめまとめ
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.
Download now