今回は手始めにSAML2.0プロトコルのおさらいです。
参考資料
・Conformance Requirements for the OASIS Security Assertion Markup Language (SAML) V2.0
http://docs.oasis-open.org/security/saml/v2.0/saml-conformance-2.0-os.pdf
・SAML 2.0 アイデンティティ連携技術
http://wiki.projectliberty.org/images/9/94/080215_JapanSIG_Technical_Seminar.pdf
■SAML2.0の構成
まずはSAMLの構成要素を簡単に紹介します。
構成要素 | 概要 |
アサーション | IdPが発行するトークンでありユーザ情報が記載されたもの |
プロトコル | アサーションを要求する方法 |
バインディング | プロトコルを通信に乗せる方法(HTTPやSOAP) |
プロファイル | プロトコルとバインディングとアサーションを組み合わせる方法 |
メタデータ | プロトコルやサービスエンドポイントが記載されたもの |
この中でSAML2.0に対応したコンポーネントが実際に何ができるか、を決めるのがどのプロファイルに対応しているか?となります。
抜粋すると以下の様なものが規定されています。
・Web SSO
・Enhanced Client/Proxy SSO
・Identity Provider Discovery
・Single Logout
・Name Identifier Management
・Artifact Resolution
また、SAML2.0に対応した各コンポーネントの動作を規定するオペレーショナルモードというものも定義されています。
同じく抜粋すると以下の様なものが規定されています。
・IdP - Identity Provider
・IdP Lite - Identity Provider Lite
・SP - Service Provider
・SP Lite - Service Provider Lite
・ECP - Enhanced Client/Proxy
■SAML2.0プロファイルとオペレーショナルモード
先のプロファイルとオペレーショナルモードの対応をまとめてみます。
この表を見ることでAD FS2.0やWIF Extensionは何ができるのか?がわかります。
プロファイル | 内容 | プロトコル(メッセージ) | バインディング | IdP | IdP Lite | SP | SP Lite | ECP |
Web SSO | ブラウザを利用してシングルサインオンを実現するプロファイル | AuthNRequest | HTTP Redirect | ○ | ○ | ○ | ○ | - |
Response | HTTP POST | ○ | ○ | ○ | ○ | - | ||
HTTP Artifact | ○ | ○ | ○ | ○ | - | |||
Enhanced Client/Proxy SSO | 携帯端末等、Cookieを利用できない端末でシングルサインオンを実現するプロファイル | ECP to SP,SP to ECP to IdP,IdP to ECP to SP,SP to ECP | PAOS | ○ | ○ | ○ | ○ | ○ |
Identity Provider Discovery | SPがAuthNRequestを送付するIdPを決定するためのプロファイル | Cookie setter/getter | HTTP | ○ | ○ | △ | △ | - |
Single Logout | Single Logoutプロトコルを実現するプロファイル | LogoutRequest,LogoutResponse | HTTP Redirect | ○ | ○ | ○ | ○ | - |
SOAP | ○ | △ | ○ | △ | - | |||
Name Identifier Management | NameIDを変更するためのプロファイル | ManageNameIDRequest,ManageNameIDResponse | HTTP Redirect | ○ | × | ○ | × | - |
SOAP | ○ | × | △ | × | - | |||
Artifact Resolution | SI/IdP間でのArtifactを用いてアサーションを安全にやり取りするためのプロファイル | ArtifactResolve,ArtifactResponse | SOAP | ○ | ○ | ○ | ○ | - |
AD FS2.0やWIF ExtensionはオペレーショナルモードとしてIdP Lite、SP Liteをサポートしていますので、基本的には
・Web SSO
・Enhanced Client/Proxy SSO
・Identity Provider Discovery
・Single Logout
・Artifact Resolution
のプロファイルに対応しているはずです。
逆に言うとName Identifier Managementプロファイルには対応していないので、一旦IdPとSPで紐付けてしまったName Identifierを変更することはできない、という話になります。
次回(いつになるかは未定)はSAML2.0の仮名の機能を試してみようと思います。MSDNフォーラムを見ていると若干AD FS2.0のマッピングルールを作るところで工夫が必要な様なので。