SlideShare uma empresa Scribd logo
1 de 66
Baixar para ler offline
OpenID Connect / OAuth / 
SAML / SCIM 
技術解説 
一般社団法人 OpenIDファウンデーション・ジャパンエバンジェリスト nov 
エクスジェン・ネットワークス株式会社 野村 健太郎
目次 
● 最新クラウドサービス利用事例 
● プロトコル四天王 
● SAML 解説 
● OAuth 2.0 解説 
● OpenID Connect 解説 
● SCIM 解説 
● まとめ 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
最新 
クラウドサービス 
利用事例 
(Greeの場合) 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
Digital Identity 界の 
プロトコル四天王 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
本日紹介するプロトコル 
OpenID Connect 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
本日紹介するプロトコル 
フェデレーション プロトコル 
OpenID Connect 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
本日紹介するプロトコル 
ID プロビジョニング 
プロトコル 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
本日紹介するプロトコル 
コンシューマー系エンタープライズ系 
OpenID Connect 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
フェデレーションの基本的な仕組み 
OpenID Connect 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
フェデレーションの基本的な仕組み 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved. 
サービス 
(SP/RP) 
認証サービス (IdP/OP)
フェデレーションの基本的な仕組み 
認証 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved. 
サービス 
(SP/RP) 
認証サービス (IdP/OP)
フェデレーションの基本的な仕組み 
認証 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved. 
サービス 
(SP/RP) 
認証サービス (IdP/OP) 
認証情報 
属性情報 
● ユーザーは認証サービス(IdP/OPなど)で認証を受ける 
● サービス(SP/RP)は、認証サービスが保持しているユーザー 
の「認証情報」や「属性情報」が欲しい
フェデレーションのパターン(1) 
認証 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved. 
サービス 
(SP/RP) 
認証サービス (IdP/OP) 
認証情報 
属性情報
フェデレーションのパターン(2) 
認証サービス (IdP/OP) 
認証 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved. 
認証情報 
属性情報 
サービス 
(SP/RP) 
認可コード 
アーティファクト
プロトコルで決められていること 
● 認証情報や属性情報の表現形式 
○ JSON 
○ XML 
● 認証情報や属性情報のやりとりの方法 
○ HTTP 
■ メソッド (GET、POSTなど) 
■ パラメーター 
○ SOAP 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
SAML 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
SAML とは 
● https://wiki.oasis-open.org/security/FrontPage 
● SAML:Security Assertion Markup Lauguage 
● 認証情報、属性情報などを XML で表現 
● HTTP/SOAP などでやりとりする 
● 実装例 
○ サービス : 学認、Cybozu.com、Google Apps、 
Salesforce、Microsoft Azure AD、Dropbox 
○ ソフトウェア : OpenAM、Shibboleth、各ベンダの製品 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
SAML 信頼関係の構築 
IdP SP 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved. 
メタデータ 
(証明書、URL など)
SAML シーケンス 
IdP SP 
Initiate 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
SAML シーケンス 
IdP SP 
Initiate 
SAML 認証リクエスト 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
SAML シーケンス 
IdP SP 
Initiate 
SAML 認証リクエスト 
認証(ID/PW 送信) 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
SAML シーケンス 
IdP SP 
Initiate 
SAML 認証リクエスト 
認証(ID/PW 送信) 
SAML 認証レスポンス 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
SAML シーケンス 
IdP SP 
Initiate 
SAML 認証リクエスト 
認証(ID/PW 送信) 
SAML 認証レスポンス 
SP へのログイン完了 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
SAML 認証リクエスト/認証レスポンス 
● リクエスト (かなり省略) 
<samlp:AuthnRequest 
ID="ppndejggibkmmdgignpgloakglfadfldhnphndhg" 
IssueInstant="2014-09-16T11:19:47Z 
Version="2.0" 
<saml:Issuer>https://sp.example.com</saml:Issuer> 
</samlp:AuthnRequest> 
● レスポンス (かなり省略) 
<samlp:Response 
デジタル署名情報 
<saml:NameID>taro@example.jp</saml:NameID> 
</samlp:Response> 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
実際のリクエスト/レスポンス 
リクエストレスポンス 
<samlp:AuthnRequest ID=" 
ppndejggibkmmdgignpgloakglfadfldhnphndhg" 
Version="2.0" IssueInstant="2011-04-16T11: 
19:47Z" ProtocolBinding="urn:oasis:names:tc: 
SAML:2.0:bindings:HTTP-POST" 
ProviderName="samlsp.example.jp" 
IsPassive="false" 
AssertionConsumerServiceURL="https://www. 
samlsp.example.jp/a/g.example.jp/acs"><saml: 
Issuer>samlsp.example.jp/a/g.example. 
jp</saml:Issuer><samlp:NameIDPolicy 
AllowCreate="true" Format="urn:oasis:names: 
tc:SAML:1.1:nameid-format:unspecified" 
/></samlp:AuthnRequest> 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved. 
<samlp:Response ID="s2cc2b844fbfe543063c49b45ec60b6f75948037f1" InResponseTo=" 
bjlljiaibddgppbdpimacgdfeigppjndmcfnddni" Version="2.0" IssueInstant="2011-04-16T07:22:16Z" 
Destination="https://www.samlsp.example.jp/a/g.example.jp/acs"><saml:Issuer>http://idp.example.com: 
8180/openam</saml:Issuer><samlp:Status><samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status: 
Success"> 
</samlp:StatusCode></samlp:Status><saml:Assertion ID="s2b91a971b66a1864a4e95b0fff617f3ddd47f3098" 
IssueInstant="2011-04-16T07:22:16Z" Version="2.0"><saml:Issuer>http://idp.example.com: 
8180/openam</saml:Issuer><ds:Signature><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="http: 
//www.w3.org/2001/10/xml-exc-c14n#"/><ds:SignatureMethod Algorithm="http://www.w3. 
org/2000/09/xmldsig#rsa-sha1"/><ds:Reference URI="#s2b91a971b66a1864a4e95b0fff617f3ddd47f3098" 
><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/><ds: 
Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></ds:Transforms><ds:DigestMethod 
Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><ds: 
DigestValue>QiBEfNqkRNiCUnMceZa5JoxdeMY=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds: 
SignatureValue> 
JMEZqoncBBpvoWoxUqMI79CpADROnDb9sil9q7j9F0j0DXpVtR92hksF7eByMpA+XSOtEv655SDyjz+rnoeoff 
OgtsiIbOAG+/a0+JUXpN27VXVJV3+WEDyAfwSqAT3a3KzF+7ssGOkEK8Ktpog8Sx60iOW4iNKGz8rcZ8pDq 
q0= 
</ds:SignatureValue><ds:KeyInfo><ds:X509Data><ds:X509Certificate> 
MIICQDCCAakCBEeNB0swDQYJKoZIhvcNAQEEBQAwZzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNh 
bGlmb3JuaWExFDASBgNVBAcTC1NhbnRhIENsYXJhMQwwCgYDVQQKEwNTdW4xEDAOBgNVBAsTB09w 
ZW5TU08xDTALBgNVBAMTBHRlc3QwHhcNMDgwMTE1MTkxOTM5WhcNMTgwMTEyMTkxOTM5WjBnMQ 
swCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEUMBIGA1UEBxMLU2FudGEgQ2xhcmEx 
DDAK 
BgNVBAoTA1N1bjEQMA4GA1UECxMHT3BlblNTTzENMAsGA1UEAxMEdGVzdDCBnzANBgkqhkiG9w0BAQ 
EFAAOBjQAwgYkCgYEArSQc/U75GB2AtKhbGS5piiLkmJzqEsp64rDxbMJ+xDrye0EN/q1U5Of+RkDsaN/igkA 
vV1cuXEgTL6RlafFPcUX7QxDhZBhsYF9pbwtMzi4A4su9hnxIhURebGEmxKW9qJNYJs0Vo5+IgjxuEWnjnnV 
gHTs1+mq5QYTA7E6ZyL8CAwEAATANBgkqhkiG9w0BAQQFAAOBgQB3Pw/UQzPKTPTYi9upbFXlrAKMwt 
Ff2OW4yvGWWvlcwcNSZJmTJ8ARvVYOMEVNbsT4OFcfu2/PeYoAdiDA 
cGy/F2Zuj8XJJpuQRSE6PtQqBuDEHjjmOQJ0rV/r8mO1ZCtHRhpZ5zYRjhRC9eCbjx9VrFax0JDC/FfwWigmr 
W0Y0Q== 
</ds:X509Certificate></ds:X509Data></ds:KeyInfo></ds:Signature><saml:Subject><saml:NameID Format=" 
urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" NameQualifier="http://idp.example.com: 
8180/openam">taro</saml:NameID><saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm: 
bearer"><saml:SubjectConfirmationData InResponseTo="bjlljiaibddgppbdpimacgdfeigppjndmcfnddni" 
NotOnOrAfter="2011-04-16T07:32:16Z" Recipient="https://www.samlsp.example.jp/a/g.example.jp/acs" 
/></saml:SubjectConfirmation></saml:Subject><saml:Conditions NotBefore="2011-04-16T07:12:16Z" 
NotOnOrAfter="2011-04-16T07:32:16Z"><saml:AudienceRestriction><saml:Audience>samlsp.example.jp/a/g. 
example.jp</saml:Audience></saml:AudienceRestriction></saml:Conditions><saml:AuthnStatement 
AuthnInstant="2011-04-16T07:22:16Z" SessionIndex="s2e924fdac5fe15c4559aab5118be38caed9dc7f01" 
><saml:AuthnContext><saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes: 
PasswordProtectedTransport</saml:AuthnContextClassRef></saml:AuthnContext></saml: 
AuthnStatement></saml:Assertion></samlp:Response>
OAuth 2.0 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
OpenID Connect 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
SCIM 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
(SCIM の説明の前に) LDAPってご存知ですよね? 
LDAP LDAP サーバー 
クライアント 
LDAP 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved. 
LDAP サーバー 
LDAP サーバー 
LDIF 
uid: taro 
... 
LDAP 
LDAP
SCIM は JSON + HTTP な 
ID プロビジョニングプロトコル 
SCIM SCIM サーバー 
クライアント 
JSON HTTP 
{ 
userName : taro 
... 
} 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved. 
SCIM サーバー 
SCIM サーバー 
HTTP 
HTTP
SCIM とは 
● http://www.simplecloud.info/ 
● System for Cross-domain Identity Management 
● クラウドサービスにおける ID 管理の仕様 
● ユーザー情報やグループ情報を JSON で表現し、HTTP でリク 
エスト/レスポンスを送受信 (REST API) 
○ 策定中の最新仕様(SCIM 2.0)では XML に関する仕様は 
削除された 
● 実装例 
○ Salesforce、その他クラウドサービス 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
SCIM の JSON スキーマ 
{ 
"schemas": ["urn:ietf:params:scim:schemas:core:2.0: 
User"], 
"userName": "taro@example.jp", 
"displayName": "NIHON Taro", 
"nickName": "taro", 
"meta": { 
省略 
} 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved. 
}
SCIM で利用する HTTP メソッド 
操作HTTPメソッド 
追加(生成) POST 
更新PUT (replace) 
PATCH (modify) 
削除DELETE 
取得/検索GET 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
SCIM API の認証・認可 
● SCIM の API にだれでもアクセスできたら困るので、API の利 
用を制御するための認証・認可の仕組みが必要 
● しかし、SCIMでは認証・認可に関する仕様は定義されていない 
○ HTTP ベースだから、認証・認可も既存の HTTP ベースの 
仕様を使ってね、というスタンス 
○ 仕様では OAuth 2.0 を推奨と記載されている 
● 実サービスでも、認証・認可は OAuth 2.0 で実装されている場 
合が多い。そのため、SCIM API を利用する場合は OAuth 2.0 
の知識も必要 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
SCIM リクエスト 
$ curl  
-H "Authorization: Bearer AccessToken(※)"  
-H "Content-Type: application/scim+json"  
-X "POST"  
-d  
‘{ 
JSON (詳細は省略) 
} ’  
https://scimsv.example.jp/v1/Users 
※アクセストークン(AccessToken)は事前に取得しておく 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
SCIM レスポンス 
HTTP/1.1 201 Created 
Content-Type: application/scim+json 
Location: https://scimsv.example.jp/v1/Users/2819c223- 
7f76-453a-919d-413861904646 
{ 
JSON (詳細は省略) 
} 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
まとめ 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
各プロトコルの学習のポイント 
● 用語を把握する 
○ 登場人物(IdP、OP、SP、RP)と役割を覚える 
● HTTP の知識重要 
● プログラミング言語 
○ 言語はなんでもいいので、簡単な Web アプリ 
や HTTP クライアントが作れると捗る 
○ Unix/Linux のコマンドでもOK! 
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
SAML / OpenID Connect / OAuth / SCIM 技術解説  - ID&IT 2014 #idit2014

Mais conteúdo relacionado

Mais procurados

シングルサインオンの歴史とSAMLへの道のり
シングルサインオンの歴史とSAMLへの道のりシングルサインオンの歴史とSAMLへの道のり
シングルサインオンの歴史とSAMLへの道のり
Shinichi Tomita
 
池澤あやかと学ぼう!: はじめてのOAuthとOpenID Connect - JICS 2014
池澤あやかと学ぼう!: はじめてのOAuthとOpenID Connect - JICS 2014池澤あやかと学ぼう!: はじめてのOAuthとOpenID Connect - JICS 2014
池澤あやかと学ぼう!: はじめてのOAuthとOpenID Connect - JICS 2014
Nov Matake
 

Mais procurados (20)

SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
 
Hybrid Azure AD Join 動作の仕組みを徹底解説
Hybrid Azure AD Join 動作の仕組みを徹底解説Hybrid Azure AD Join 動作の仕組みを徹底解説
Hybrid Azure AD Join 動作の仕組みを徹底解説
 
Keycloak入門
Keycloak入門Keycloak入門
Keycloak入門
 
Keycloakの最近のトピック
Keycloakの最近のトピックKeycloakの最近のトピック
Keycloakの最近のトピック
 
Keycloak拡張入門
Keycloak拡張入門Keycloak拡張入門
Keycloak拡張入門
 
シングルサインオンの歴史とSAMLへの道のり
シングルサインオンの歴史とSAMLへの道のりシングルサインオンの歴史とSAMLへの道のり
シングルサインオンの歴史とSAMLへの道のり
 
FIDO認証によるパスワードレスログイン実装入門
FIDO認証によるパスワードレスログイン実装入門FIDO認証によるパスワードレスログイン実装入門
FIDO認証によるパスワードレスログイン実装入門
 
Keycloak & midPoint の紹介
Keycloak & midPoint の紹介Keycloak & midPoint の紹介
Keycloak & midPoint の紹介
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 
マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
 
OpenID Connect入門
OpenID Connect入門OpenID Connect入門
OpenID Connect入門
 
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajpAt least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
これからのネイティブアプリにおけるOpenID Connectの活用
これからのネイティブアプリにおけるOpenID Connectの活用これからのネイティブアプリにおけるOpenID Connectの活用
これからのネイティブアプリにおけるOpenID Connectの活用
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
 
KeycloakのDevice Flow、CIBAについて
KeycloakのDevice Flow、CIBAについてKeycloakのDevice Flow、CIBAについて
KeycloakのDevice Flow、CIBAについて
 
いまどきの OAuth / OpenID Connect (OIDC) 一挙おさらい (2020 年 2 月) #authlete
いまどきの OAuth / OpenID Connect (OIDC) 一挙おさらい (2020 年 2 月) #authleteいまどきの OAuth / OpenID Connect (OIDC) 一挙おさらい (2020 年 2 月) #authlete
いまどきの OAuth / OpenID Connect (OIDC) 一挙おさらい (2020 年 2 月) #authlete
 
OpenID Connect のビジネスチャンス
OpenID Connect のビジネスチャンスOpenID Connect のビジネスチャンス
OpenID Connect のビジネスチャンス
 
池澤あやかと学ぼう!: はじめてのOAuthとOpenID Connect - JICS 2014
池澤あやかと学ぼう!: はじめてのOAuthとOpenID Connect - JICS 2014池澤あやかと学ぼう!: はじめてのOAuthとOpenID Connect - JICS 2014
池澤あやかと学ぼう!: はじめてのOAuthとOpenID Connect - JICS 2014
 

Destaque

OpenID ConnectとSCIMの標準化動向
OpenID ConnectとSCIMの標準化動向OpenID ConnectとSCIMの標準化動向
OpenID ConnectとSCIMの標準化動向
Tatsuo Kudo
 
エンタープライズITでのOpenID Connect利用ガイドライン
エンタープライズITでのOpenID Connect利用ガイドラインエンタープライズITでのOpenID Connect利用ガイドライン
エンタープライズITでのOpenID Connect利用ガイドライン
Tatsuo Kudo
 

Destaque (20)

Office365のIdentity管理
Office365のIdentity管理Office365のIdentity管理
Office365のIdentity管理
 
ハイブリッド時代のID基盤構成の基礎
ハイブリッド時代のID基盤構成の基礎ハイブリッド時代のID基盤構成の基礎
ハイブリッド時代のID基盤構成の基礎
 
Oauth2.0とか(認証と認可)_201403
Oauth2.0とか(認証と認可)_201403Oauth2.0とか(認証と認可)_201403
Oauth2.0とか(認証と認可)_201403
 
OAuth認証について
OAuth認証についてOAuth認証について
OAuth認証について
 
Ad(microsoftの方)のOpenId Connect対応
Ad(microsoftの方)のOpenId Connect対応Ad(microsoftの方)のOpenId Connect対応
Ad(microsoftの方)のOpenId Connect対応
 
OpenID ConnectとSCIMの標準化動向
OpenID ConnectとSCIMの標準化動向OpenID ConnectとSCIMの標準化動向
OpenID ConnectとSCIMの標準化動向
 
Oss貢献超入門
Oss貢献超入門Oss貢献超入門
Oss貢献超入門
 
Laravelの認証について
Laravelの認証についてLaravelの認証について
Laravelの認証について
 
ITエンジニアのための英語勉強法
ITエンジニアのための英語勉強法ITエンジニアのための英語勉強法
ITエンジニアのための英語勉強法
 
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawawsOAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
 
Beginning Java EE 6 勉強会(6) #bje_study
Beginning Java EE 6 勉強会(6) #bje_studyBeginning Java EE 6 勉強会(6) #bje_study
Beginning Java EE 6 勉強会(6) #bje_study
 
サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜
サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜
サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜
 
Microserviceなんて最初からやるもんじゃ無かった
Microserviceなんて最初からやるもんじゃ無かったMicroserviceなんて最初からやるもんじゃ無かった
Microserviceなんて最初からやるもんじゃ無かった
 
WebAPIのこれまでとこれから
WebAPIのこれまでとこれからWebAPIのこれまでとこれから
WebAPIのこれまでとこれから
 
REST 入門
REST 入門REST 入門
REST 入門
 
金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG
金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG
金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG
 
今更聞けないOAuth2.0
今更聞けないOAuth2.0今更聞けないOAuth2.0
今更聞けないOAuth2.0
 
Spring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のことSpring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のこと
 
エンタープライズITでのOpenID Connect利用ガイドライン
エンタープライズITでのOpenID Connect利用ガイドラインエンタープライズITでのOpenID Connect利用ガイドライン
エンタープライズITでのOpenID Connect利用ガイドライン
 
Uberご紹介(髙橋正巳)
Uberご紹介(髙橋正巳)Uberご紹介(髙橋正巳)
Uberご紹介(髙橋正巳)
 

Semelhante a SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014

OpenID TechNight - Ping Identity 製品紹介
OpenID TechNight - Ping Identity 製品紹介OpenID TechNight - Ping Identity 製品紹介
OpenID TechNight - Ping Identity 製品紹介
Daisuke Fuke
 
Cloudstack user group meeting in osaka
Cloudstack user group meeting in osakaCloudstack user group meeting in osaka
Cloudstack user group meeting in osaka
Naotaka Jay HOTTA
 
The Latest Specs of OpenID Connect at #idcon 9
The Latest Specs of OpenID Connect at #idcon 9The Latest Specs of OpenID Connect at #idcon 9
The Latest Specs of OpenID Connect at #idcon 9
Ryo Ito
 
とあるアプリの開発運用(トラブルシュート)
とあるアプリの開発運用(トラブルシュート)とあるアプリの開発運用(トラブルシュート)
とあるアプリの開発運用(トラブルシュート)
Takafumi ONAKA
 

Semelhante a SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014 (20)

OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて
OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けてOpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて
OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて
 
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
 
『OpenID ConnectとSCIMのエンタープライズ実装ガイドライン』解説
『OpenID ConnectとSCIMのエンタープライズ実装ガイドライン』解説『OpenID ConnectとSCIMのエンタープライズ実装ガイドライン』解説
『OpenID ConnectとSCIMのエンタープライズ実装ガイドライン』解説
 
FAPI and beyond - よりよいセキュリティのために
FAPI and beyond - よりよいセキュリティのためにFAPI and beyond - よりよいセキュリティのために
FAPI and beyond - よりよいセキュリティのために
 
認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤
 
IETF90 Web関連WG報告 #isocjp
IETF90 Web関連WG報告 #isocjpIETF90 Web関連WG報告 #isocjp
IETF90 Web関連WG報告 #isocjp
 
OpenID TechNight - Ping Identity 製品紹介
OpenID TechNight - Ping Identity 製品紹介OpenID TechNight - Ping Identity 製品紹介
OpenID TechNight - Ping Identity 製品紹介
 
Sec019 30分で理解 !_初心者向
Sec019 30分で理解 !_初心者向Sec019 30分で理解 !_初心者向
Sec019 30分で理解 !_初心者向
 
FAPI and Beyond: From an specification author's point of view #fapisum - Japa...
FAPI and Beyond: From an specification author's point of view #fapisum - Japa...FAPI and Beyond: From an specification author's point of view #fapisum - Japa...
FAPI and Beyond: From an specification author's point of view #fapisum - Japa...
 
メッセージングプラットフォーム Zimbra の紹介とその活用術 - JJUG ナイトセミナー2013/3
メッセージングプラットフォーム Zimbra の紹介とその活用術 - JJUG ナイトセミナー2013/3メッセージングプラットフォーム Zimbra の紹介とその活用術 - JJUG ナイトセミナー2013/3
メッセージングプラットフォーム Zimbra の紹介とその活用術 - JJUG ナイトセミナー2013/3
 
IETF92報告IoT関連
IETF92報告IoT関連IETF92報告IoT関連
IETF92報告IoT関連
 
Authlete overview
Authlete overviewAuthlete overview
Authlete overview
 
DApps のユーザ認証に web3.eth.personal.sign を使おう!
DApps のユーザ認証に web3.eth.personal.sign を使おう!DApps のユーザ認証に web3.eth.personal.sign を使おう!
DApps のユーザ認証に web3.eth.personal.sign を使おう!
 
IETF96 Update oauth tokbind
IETF96 Update oauth tokbindIETF96 Update oauth tokbind
IETF96 Update oauth tokbind
 
OAuth Security Workshop 2017 #osw17
OAuth Security Workshop 2017 #osw17OAuth Security Workshop 2017 #osw17
OAuth Security Workshop 2017 #osw17
 
俺が考えた最強のID連携デザインパターン
俺が考えた最強のID連携デザインパターン俺が考えた最強のID連携デザインパターン
俺が考えた最強のID連携デザインパターン
 
Cloudstack user group meeting in osaka
Cloudstack user group meeting in osakaCloudstack user group meeting in osaka
Cloudstack user group meeting in osaka
 
The Latest Specs of OpenID Connect at #idcon 9
The Latest Specs of OpenID Connect at #idcon 9The Latest Specs of OpenID Connect at #idcon 9
The Latest Specs of OpenID Connect at #idcon 9
 
とあるアプリの開発運用(トラブルシュート)
とあるアプリの開発運用(トラブルシュート)とあるアプリの開発運用(トラブルシュート)
とあるアプリの開発運用(トラブルシュート)
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbix
 

Mais de Nov Matake

FIDO alliance #idcon vol.18
FIDO alliance #idcon vol.18FIDO alliance #idcon vol.18
FIDO alliance #idcon vol.18
Nov Matake
 
OpenID Connect 101 @ OpenID TechNight vol.11
OpenID Connect 101 @ OpenID TechNight vol.11OpenID Connect 101 @ OpenID TechNight vol.11
OpenID Connect 101 @ OpenID TechNight vol.11
Nov Matake
 
OAuth認証再考からのOpenID Connect #devlove
OAuth認証再考からのOpenID Connect #devloveOAuth認証再考からのOpenID Connect #devlove
OAuth認証再考からのOpenID Connect #devlove
Nov Matake
 
ID & IT 2013 - OpenID Connect Hands-on
ID & IT 2013 - OpenID Connect Hands-onID & IT 2013 - OpenID Connect Hands-on
ID & IT 2013 - OpenID Connect Hands-on
Nov Matake
 
JWT Translation #technight
JWT Translation #technightJWT Translation #technight
JWT Translation #technight
Nov Matake
 
MIT-KIT Intro at #idcon sattelite
MIT-KIT Intro at #idcon satteliteMIT-KIT Intro at #idcon sattelite
MIT-KIT Intro at #idcon sattelite
Nov Matake
 
Self isssued-idp
Self isssued-idpSelf isssued-idp
Self isssued-idp
Nov Matake
 

Mais de Nov Matake (20)

#idcon vol.29 - #fidcon WebAuthn, Next Stage
#idcon vol.29 - #fidcon WebAuthn, Next Stage#idcon vol.29 - #fidcon WebAuthn, Next Stage
#idcon vol.29 - #fidcon WebAuthn, Next Stage
 
FedCM - OpenID TechNight vol.19
FedCM - OpenID TechNight vol.19FedCM - OpenID TechNight vol.19
FedCM - OpenID TechNight vol.19
 
Safari (ITP) & Chrome (SameSite=Lax as default) が Federation に与える影響 - OpenID ...
Safari (ITP) & Chrome (SameSite=Lax as default) が Federation に与える影響 - OpenID ...Safari (ITP) & Chrome (SameSite=Lax as default) が Federation に与える影響 - OpenID ...
Safari (ITP) & Chrome (SameSite=Lax as default) が Federation に与える影響 - OpenID ...
 
Sign in with Apple
Sign in with Apple Sign in with Apple
Sign in with Apple
 
FIDO @ LINE - #idcon vol.24
FIDO @ LINE - #idcon vol.24FIDO @ LINE - #idcon vol.24
FIDO @ LINE - #idcon vol.24
 
W3C Web Authentication - #idcon vol.24
W3C Web Authentication - #idcon vol.24W3C Web Authentication - #idcon vol.24
W3C Web Authentication - #idcon vol.24
 
NIST SP 800-63C - Federation and Assertions (FINAL)
NIST SP 800-63C - Federation and Assertions (FINAL)NIST SP 800-63C - Federation and Assertions (FINAL)
NIST SP 800-63C - Federation and Assertions (FINAL)
 
OPTiM StoreにおけるSCIM & OIDC活用事例 - ID&IT 2016
OPTiM StoreにおけるSCIM & OIDC活用事例 - ID&IT 2016OPTiM StoreにおけるSCIM & OIDC活用事例 - ID&IT 2016
OPTiM StoreにおけるSCIM & OIDC活用事例 - ID&IT 2016
 
NIST SP 800-63C #idcon vol.22
NIST SP 800-63C #idcon vol.22NIST SP 800-63C #idcon vol.22
NIST SP 800-63C #idcon vol.22
 
NIST SP 800-63-3 #idcon vol.22
NIST SP 800-63-3 #idcon vol.22NIST SP 800-63-3 #idcon vol.22
NIST SP 800-63-3 #idcon vol.22
 
ID連携入門 (実習編) - Security Camp 2016
ID連携入門 (実習編) - Security Camp 2016ID連携入門 (実習編) - Security Camp 2016
ID連携入門 (実習編) - Security Camp 2016
 
ID連携概要 - OpenID TechNight vol.13
ID連携概要 - OpenID TechNight vol.13ID連携概要 - OpenID TechNight vol.13
ID連携概要 - OpenID TechNight vol.13
 
ミスコンとプライバシー ~ IdentityDuck誕生秘話 ~ #idcon
ミスコンとプライバシー ~ IdentityDuck誕生秘話 ~ #idconミスコンとプライバシー ~ IdentityDuck誕生秘話 ~ #idcon
ミスコンとプライバシー ~ IdentityDuck誕生秘話 ~ #idcon
 
FIDO alliance #idcon vol.18
FIDO alliance #idcon vol.18FIDO alliance #idcon vol.18
FIDO alliance #idcon vol.18
 
OpenID Connect 101 @ OpenID TechNight vol.11
OpenID Connect 101 @ OpenID TechNight vol.11OpenID Connect 101 @ OpenID TechNight vol.11
OpenID Connect 101 @ OpenID TechNight vol.11
 
OAuth認証再考からのOpenID Connect #devlove
OAuth認証再考からのOpenID Connect #devloveOAuth認証再考からのOpenID Connect #devlove
OAuth認証再考からのOpenID Connect #devlove
 
ID & IT 2013 - OpenID Connect Hands-on
ID & IT 2013 - OpenID Connect Hands-onID & IT 2013 - OpenID Connect Hands-on
ID & IT 2013 - OpenID Connect Hands-on
 
JWT Translation #technight
JWT Translation #technightJWT Translation #technight
JWT Translation #technight
 
MIT-KIT Intro at #idcon sattelite
MIT-KIT Intro at #idcon satteliteMIT-KIT Intro at #idcon sattelite
MIT-KIT Intro at #idcon sattelite
 
Self isssued-idp
Self isssued-idpSelf isssued-idp
Self isssued-idp
 

Último

Último (11)

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 

SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014

  • 1. OpenID Connect / OAuth / SAML / SCIM 技術解説 一般社団法人 OpenIDファウンデーション・ジャパンエバンジェリスト nov エクスジェン・ネットワークス株式会社 野村 健太郎
  • 2. 目次 ● 最新クラウドサービス利用事例 ● プロトコル四天王 ● SAML 解説 ● OAuth 2.0 解説 ● OpenID Connect 解説 ● SCIM 解説 ● まとめ Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 3. 最新 クラウドサービス 利用事例 (Greeの場合) Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8. Digital Identity 界の プロトコル四天王 Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 9. 本日紹介するプロトコル OpenID Connect Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 10. 本日紹介するプロトコル フェデレーション プロトコル OpenID Connect Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 11. 本日紹介するプロトコル ID プロビジョニング プロトコル Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 12. 本日紹介するプロトコル コンシューマー系エンタープライズ系 OpenID Connect Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 13. フェデレーションの基本的な仕組み OpenID Connect Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 14. フェデレーションの基本的な仕組み Copyright © 2014 OpenID Foundation Japan. All Rights Reserved. サービス (SP/RP) 認証サービス (IdP/OP)
  • 15. フェデレーションの基本的な仕組み 認証 Copyright © 2014 OpenID Foundation Japan. All Rights Reserved. サービス (SP/RP) 認証サービス (IdP/OP)
  • 16. フェデレーションの基本的な仕組み 認証 Copyright © 2014 OpenID Foundation Japan. All Rights Reserved. サービス (SP/RP) 認証サービス (IdP/OP) 認証情報 属性情報 ● ユーザーは認証サービス(IdP/OPなど)で認証を受ける ● サービス(SP/RP)は、認証サービスが保持しているユーザー の「認証情報」や「属性情報」が欲しい
  • 17. フェデレーションのパターン(1) 認証 Copyright © 2014 OpenID Foundation Japan. All Rights Reserved. サービス (SP/RP) 認証サービス (IdP/OP) 認証情報 属性情報
  • 18. フェデレーションのパターン(2) 認証サービス (IdP/OP) 認証 Copyright © 2014 OpenID Foundation Japan. All Rights Reserved. 認証情報 属性情報 サービス (SP/RP) 認可コード アーティファクト
  • 19. プロトコルで決められていること ● 認証情報や属性情報の表現形式 ○ JSON ○ XML ● 認証情報や属性情報のやりとりの方法 ○ HTTP ■ メソッド (GET、POSTなど) ■ パラメーター ○ SOAP Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 20. SAML Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 21. SAML とは ● https://wiki.oasis-open.org/security/FrontPage ● SAML:Security Assertion Markup Lauguage ● 認証情報、属性情報などを XML で表現 ● HTTP/SOAP などでやりとりする ● 実装例 ○ サービス : 学認、Cybozu.com、Google Apps、 Salesforce、Microsoft Azure AD、Dropbox ○ ソフトウェア : OpenAM、Shibboleth、各ベンダの製品 Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 22. SAML 信頼関係の構築 IdP SP Copyright © 2014 OpenID Foundation Japan. All Rights Reserved. メタデータ (証明書、URL など)
  • 23. SAML シーケンス IdP SP Initiate Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 24. SAML シーケンス IdP SP Initiate SAML 認証リクエスト Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 25. SAML シーケンス IdP SP Initiate SAML 認証リクエスト 認証(ID/PW 送信) Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 26. SAML シーケンス IdP SP Initiate SAML 認証リクエスト 認証(ID/PW 送信) SAML 認証レスポンス Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 27. SAML シーケンス IdP SP Initiate SAML 認証リクエスト 認証(ID/PW 送信) SAML 認証レスポンス SP へのログイン完了 Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 28. SAML 認証リクエスト/認証レスポンス ● リクエスト (かなり省略) <samlp:AuthnRequest ID="ppndejggibkmmdgignpgloakglfadfldhnphndhg" IssueInstant="2014-09-16T11:19:47Z Version="2.0" <saml:Issuer>https://sp.example.com</saml:Issuer> </samlp:AuthnRequest> ● レスポンス (かなり省略) <samlp:Response デジタル署名情報 <saml:NameID>taro@example.jp</saml:NameID> </samlp:Response> Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 29. 実際のリクエスト/レスポンス リクエストレスポンス <samlp:AuthnRequest ID=" ppndejggibkmmdgignpgloakglfadfldhnphndhg" Version="2.0" IssueInstant="2011-04-16T11: 19:47Z" ProtocolBinding="urn:oasis:names:tc: SAML:2.0:bindings:HTTP-POST" ProviderName="samlsp.example.jp" IsPassive="false" AssertionConsumerServiceURL="https://www. samlsp.example.jp/a/g.example.jp/acs"><saml: Issuer>samlsp.example.jp/a/g.example. jp</saml:Issuer><samlp:NameIDPolicy AllowCreate="true" Format="urn:oasis:names: tc:SAML:1.1:nameid-format:unspecified" /></samlp:AuthnRequest> Copyright © 2014 OpenID Foundation Japan. All Rights Reserved. <samlp:Response ID="s2cc2b844fbfe543063c49b45ec60b6f75948037f1" InResponseTo=" bjlljiaibddgppbdpimacgdfeigppjndmcfnddni" Version="2.0" IssueInstant="2011-04-16T07:22:16Z" Destination="https://www.samlsp.example.jp/a/g.example.jp/acs"><saml:Issuer>http://idp.example.com: 8180/openam</saml:Issuer><samlp:Status><samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status: Success"> </samlp:StatusCode></samlp:Status><saml:Assertion ID="s2b91a971b66a1864a4e95b0fff617f3ddd47f3098" IssueInstant="2011-04-16T07:22:16Z" Version="2.0"><saml:Issuer>http://idp.example.com: 8180/openam</saml:Issuer><ds:Signature><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="http: //www.w3.org/2001/10/xml-exc-c14n#"/><ds:SignatureMethod Algorithm="http://www.w3. org/2000/09/xmldsig#rsa-sha1"/><ds:Reference URI="#s2b91a971b66a1864a4e95b0fff617f3ddd47f3098" ><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/><ds: Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><ds: DigestValue>QiBEfNqkRNiCUnMceZa5JoxdeMY=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds: SignatureValue> JMEZqoncBBpvoWoxUqMI79CpADROnDb9sil9q7j9F0j0DXpVtR92hksF7eByMpA+XSOtEv655SDyjz+rnoeoff OgtsiIbOAG+/a0+JUXpN27VXVJV3+WEDyAfwSqAT3a3KzF+7ssGOkEK8Ktpog8Sx60iOW4iNKGz8rcZ8pDq q0= </ds:SignatureValue><ds:KeyInfo><ds:X509Data><ds:X509Certificate> MIICQDCCAakCBEeNB0swDQYJKoZIhvcNAQEEBQAwZzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNh bGlmb3JuaWExFDASBgNVBAcTC1NhbnRhIENsYXJhMQwwCgYDVQQKEwNTdW4xEDAOBgNVBAsTB09w ZW5TU08xDTALBgNVBAMTBHRlc3QwHhcNMDgwMTE1MTkxOTM5WhcNMTgwMTEyMTkxOTM5WjBnMQ swCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEUMBIGA1UEBxMLU2FudGEgQ2xhcmEx DDAK BgNVBAoTA1N1bjEQMA4GA1UECxMHT3BlblNTTzENMAsGA1UEAxMEdGVzdDCBnzANBgkqhkiG9w0BAQ EFAAOBjQAwgYkCgYEArSQc/U75GB2AtKhbGS5piiLkmJzqEsp64rDxbMJ+xDrye0EN/q1U5Of+RkDsaN/igkA vV1cuXEgTL6RlafFPcUX7QxDhZBhsYF9pbwtMzi4A4su9hnxIhURebGEmxKW9qJNYJs0Vo5+IgjxuEWnjnnV gHTs1+mq5QYTA7E6ZyL8CAwEAATANBgkqhkiG9w0BAQQFAAOBgQB3Pw/UQzPKTPTYi9upbFXlrAKMwt Ff2OW4yvGWWvlcwcNSZJmTJ8ARvVYOMEVNbsT4OFcfu2/PeYoAdiDA cGy/F2Zuj8XJJpuQRSE6PtQqBuDEHjjmOQJ0rV/r8mO1ZCtHRhpZ5zYRjhRC9eCbjx9VrFax0JDC/FfwWigmr W0Y0Q== </ds:X509Certificate></ds:X509Data></ds:KeyInfo></ds:Signature><saml:Subject><saml:NameID Format=" urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" NameQualifier="http://idp.example.com: 8180/openam">taro</saml:NameID><saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm: bearer"><saml:SubjectConfirmationData InResponseTo="bjlljiaibddgppbdpimacgdfeigppjndmcfnddni" NotOnOrAfter="2011-04-16T07:32:16Z" Recipient="https://www.samlsp.example.jp/a/g.example.jp/acs" /></saml:SubjectConfirmation></saml:Subject><saml:Conditions NotBefore="2011-04-16T07:12:16Z" NotOnOrAfter="2011-04-16T07:32:16Z"><saml:AudienceRestriction><saml:Audience>samlsp.example.jp/a/g. example.jp</saml:Audience></saml:AudienceRestriction></saml:Conditions><saml:AuthnStatement AuthnInstant="2011-04-16T07:22:16Z" SessionIndex="s2e924fdac5fe15c4559aab5118be38caed9dc7f01" ><saml:AuthnContext><saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes: PasswordProtectedTransport</saml:AuthnContextClassRef></saml:AuthnContext></saml: AuthnStatement></saml:Assertion></samlp:Response>
  • 30. OAuth 2.0 Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 31. Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 32. Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 33. Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 34. Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 35. Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 36. Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 37. Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 38. OpenID Connect Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 39. Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 40. Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 41. Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 42. Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 43. Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 44. Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 45. Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 46. Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 47. SCIM Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 48. (SCIM の説明の前に) LDAPってご存知ですよね? LDAP LDAP サーバー クライアント LDAP Copyright © 2014 OpenID Foundation Japan. All Rights Reserved. LDAP サーバー LDAP サーバー LDIF uid: taro ... LDAP LDAP
  • 49. SCIM は JSON + HTTP な ID プロビジョニングプロトコル SCIM SCIM サーバー クライアント JSON HTTP { userName : taro ... } Copyright © 2014 OpenID Foundation Japan. All Rights Reserved. SCIM サーバー SCIM サーバー HTTP HTTP
  • 50. SCIM とは ● http://www.simplecloud.info/ ● System for Cross-domain Identity Management ● クラウドサービスにおける ID 管理の仕様 ● ユーザー情報やグループ情報を JSON で表現し、HTTP でリク エスト/レスポンスを送受信 (REST API) ○ 策定中の最新仕様(SCIM 2.0)では XML に関する仕様は 削除された ● 実装例 ○ Salesforce、その他クラウドサービス Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 51. SCIM の JSON スキーマ { "schemas": ["urn:ietf:params:scim:schemas:core:2.0: User"], "userName": "taro@example.jp", "displayName": "NIHON Taro", "nickName": "taro", "meta": { 省略 } Copyright © 2014 OpenID Foundation Japan. All Rights Reserved. }
  • 52. SCIM で利用する HTTP メソッド 操作HTTPメソッド 追加(生成) POST 更新PUT (replace) PATCH (modify) 削除DELETE 取得/検索GET Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 53. SCIM API の認証・認可 ● SCIM の API にだれでもアクセスできたら困るので、API の利 用を制御するための認証・認可の仕組みが必要 ● しかし、SCIMでは認証・認可に関する仕様は定義されていない ○ HTTP ベースだから、認証・認可も既存の HTTP ベースの 仕様を使ってね、というスタンス ○ 仕様では OAuth 2.0 を推奨と記載されている ● 実サービスでも、認証・認可は OAuth 2.0 で実装されている場 合が多い。そのため、SCIM API を利用する場合は OAuth 2.0 の知識も必要 Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 54. SCIM リクエスト $ curl -H "Authorization: Bearer AccessToken(※)" -H "Content-Type: application/scim+json" -X "POST" -d ‘{ JSON (詳細は省略) } ’ https://scimsv.example.jp/v1/Users ※アクセストークン(AccessToken)は事前に取得しておく Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 55. SCIM レスポンス HTTP/1.1 201 Created Content-Type: application/scim+json Location: https://scimsv.example.jp/v1/Users/2819c223- 7f76-453a-919d-413861904646 { JSON (詳細は省略) } Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 56. まとめ Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 57.
  • 58. 各プロトコルの学習のポイント ● 用語を把握する ○ 登場人物(IdP、OP、SP、RP)と役割を覚える ● HTTP の知識重要 ● プログラミング言語 ○ 言語はなんでもいいので、簡単な Web アプリ や HTTP クライアントが作れると捗る ○ Unix/Linux のコマンドでもOK! Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 59. Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 60. Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 61. Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 62. Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 63. Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 64. Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.
  • 65. Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.