Enviar búsqueda
Cargar
Authentication, Authorization, OAuth, OpenID Connect and Pyramid
•
Descargar como PPTX, PDF
•
3 recomendaciones
•
1,406 vistas
M
Moriyoshi Koizumi
Seguir
Authentication, Authorization, OAuth, OpenID Connect and Pyramid
Leer menos
Leer más
Ingeniería
Denunciar
Compartir
Denunciar
Compartir
1 de 18
Descargar ahora
Recomendados
Ninsho hosting
Ninsho hosting
Tsuyoshi Hariki
PCI DSSにおける認証認可 インフラ編
PCI DSSにおける認証認可 インフラ編
Nobuhiro Nakayama
電子承認
電子承認
PLM Japan
PHP7を魔改造した話
PHP7を魔改造した話
Moriyoshi Koizumi
Goをカンストさせる話
Goをカンストさせる話
Moriyoshi Koizumi
PHPのすべらない話
PHPのすべらない話
Moriyoshi Koizumi
PHPのすべらない話#3
PHPのすべらない話#3
Moriyoshi Koizumi
Pyramidのrendererをカスタマイズする
Pyramidのrendererをカスタマイズする
Moriyoshi Koizumi
Recomendados
Ninsho hosting
Ninsho hosting
Tsuyoshi Hariki
PCI DSSにおける認証認可 インフラ編
PCI DSSにおける認証認可 インフラ編
Nobuhiro Nakayama
電子承認
電子承認
PLM Japan
PHP7を魔改造した話
PHP7を魔改造した話
Moriyoshi Koizumi
Goをカンストさせる話
Goをカンストさせる話
Moriyoshi Koizumi
PHPのすべらない話
PHPのすべらない話
Moriyoshi Koizumi
PHPのすべらない話#3
PHPのすべらない話#3
Moriyoshi Koizumi
Pyramidのrendererをカスタマイズする
Pyramidのrendererをカスタマイズする
Moriyoshi Koizumi
All I know about rsc.io/c2go
All I know about rsc.io/c2go
Moriyoshi Koizumi
GoでKVSを書けるのか
GoでKVSを書けるのか
Moriyoshi Koizumi
HLSについて知っていることを話します
HLSについて知っていることを話します
Moriyoshi Koizumi
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Yahoo!デベロッパーネットワーク
Ik in action
Ik in action
Moriyoshi Koizumi
Hacking Go Compiler Internals / GoCon 2014 Autumn
Hacking Go Compiler Internals / GoCon 2014 Autumn
Moriyoshi Koizumi
よいことも悪いこともぜんぶPHPが教えてくれた
よいことも悪いこともぜんぶPHPが教えてくれた
Moriyoshi Koizumi
Introducing E-Cell 3.2
Introducing E-Cell 3.2
Moriyoshi Koizumi
LLの虎 semifinal: 殺伐Python
LLの虎 semifinal: 殺伐Python
Moriyoshi Koizumi
ラジコンがネットと出会ったら
ラジコンがネットと出会ったら
Takuya Andou
DMM.comラボはなぜSparkを採用したのか?レコメンドエンジン開発の裏側をお話します!
DMM.comラボはなぜSparkを採用したのか?レコメンドエンジン開発の裏側をお話します!
leverages_event
[C16] インメモリ分散KVSの弱点。一貫性が崩れる原因と、それを克服する技術とは? by Taichi Umeda
[C16] インメモリ分散KVSの弱点。一貫性が崩れる原因と、それを克服する技術とは? by Taichi Umeda
Insight Technology, Inc.
ICTSC5 DMM.comラボの紹介+お給料の話
ICTSC5 DMM.comラボの紹介+お給料の話
Ken SASAKI
ICTSC6 ちょっとだけ数学の話
ICTSC6 ちょっとだけ数学の話
Ken SASAKI
My client wanted their apps synced, and I made it with Go
My client wanted their apps synced, and I made it with Go
Toru Furukawa
Go conference 2017 Lightning talk
Go conference 2017 Lightning talk
mokelab
go 1.8 net/http timeouts
go 1.8 net/http timeouts
Yahoo!デベロッパーネットワーク
いまさら聞けないselectあれこれ
いまさら聞けないselectあれこれ
lestrrat
Coding in the context era
Coding in the context era
lestrrat
Kubernetes in 30 minutes (2017/03/10)
Kubernetes in 30 minutes (2017/03/10)
lestrrat
OAuth 2.0の概要とセキュリティ
OAuth 2.0の概要とセキュリティ
Hiroshi Hayakawa
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
Tatsuo Kudo
Más contenido relacionado
Destacado
All I know about rsc.io/c2go
All I know about rsc.io/c2go
Moriyoshi Koizumi
GoでKVSを書けるのか
GoでKVSを書けるのか
Moriyoshi Koizumi
HLSについて知っていることを話します
HLSについて知っていることを話します
Moriyoshi Koizumi
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Yahoo!デベロッパーネットワーク
Ik in action
Ik in action
Moriyoshi Koizumi
Hacking Go Compiler Internals / GoCon 2014 Autumn
Hacking Go Compiler Internals / GoCon 2014 Autumn
Moriyoshi Koizumi
よいことも悪いこともぜんぶPHPが教えてくれた
よいことも悪いこともぜんぶPHPが教えてくれた
Moriyoshi Koizumi
Introducing E-Cell 3.2
Introducing E-Cell 3.2
Moriyoshi Koizumi
LLの虎 semifinal: 殺伐Python
LLの虎 semifinal: 殺伐Python
Moriyoshi Koizumi
ラジコンがネットと出会ったら
ラジコンがネットと出会ったら
Takuya Andou
DMM.comラボはなぜSparkを採用したのか?レコメンドエンジン開発の裏側をお話します!
DMM.comラボはなぜSparkを採用したのか?レコメンドエンジン開発の裏側をお話します!
leverages_event
[C16] インメモリ分散KVSの弱点。一貫性が崩れる原因と、それを克服する技術とは? by Taichi Umeda
[C16] インメモリ分散KVSの弱点。一貫性が崩れる原因と、それを克服する技術とは? by Taichi Umeda
Insight Technology, Inc.
ICTSC5 DMM.comラボの紹介+お給料の話
ICTSC5 DMM.comラボの紹介+お給料の話
Ken SASAKI
ICTSC6 ちょっとだけ数学の話
ICTSC6 ちょっとだけ数学の話
Ken SASAKI
My client wanted their apps synced, and I made it with Go
My client wanted their apps synced, and I made it with Go
Toru Furukawa
Go conference 2017 Lightning talk
Go conference 2017 Lightning talk
mokelab
go 1.8 net/http timeouts
go 1.8 net/http timeouts
Yahoo!デベロッパーネットワーク
いまさら聞けないselectあれこれ
いまさら聞けないselectあれこれ
lestrrat
Coding in the context era
Coding in the context era
lestrrat
Kubernetes in 30 minutes (2017/03/10)
Kubernetes in 30 minutes (2017/03/10)
lestrrat
Destacado
(20)
All I know about rsc.io/c2go
All I know about rsc.io/c2go
GoでKVSを書けるのか
GoでKVSを書けるのか
HLSについて知っていることを話します
HLSについて知っていることを話します
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Goでヤフーの分散オブジェクトストレージを作った話 Go Conference 2017 Spring
Ik in action
Ik in action
Hacking Go Compiler Internals / GoCon 2014 Autumn
Hacking Go Compiler Internals / GoCon 2014 Autumn
よいことも悪いこともぜんぶPHPが教えてくれた
よいことも悪いこともぜんぶPHPが教えてくれた
Introducing E-Cell 3.2
Introducing E-Cell 3.2
LLの虎 semifinal: 殺伐Python
LLの虎 semifinal: 殺伐Python
ラジコンがネットと出会ったら
ラジコンがネットと出会ったら
DMM.comラボはなぜSparkを採用したのか?レコメンドエンジン開発の裏側をお話します!
DMM.comラボはなぜSparkを採用したのか?レコメンドエンジン開発の裏側をお話します!
[C16] インメモリ分散KVSの弱点。一貫性が崩れる原因と、それを克服する技術とは? by Taichi Umeda
[C16] インメモリ分散KVSの弱点。一貫性が崩れる原因と、それを克服する技術とは? by Taichi Umeda
ICTSC5 DMM.comラボの紹介+お給料の話
ICTSC5 DMM.comラボの紹介+お給料の話
ICTSC6 ちょっとだけ数学の話
ICTSC6 ちょっとだけ数学の話
My client wanted their apps synced, and I made it with Go
My client wanted their apps synced, and I made it with Go
Go conference 2017 Lightning talk
Go conference 2017 Lightning talk
go 1.8 net/http timeouts
go 1.8 net/http timeouts
いまさら聞けないselectあれこれ
いまさら聞けないselectあれこれ
Coding in the context era
Coding in the context era
Kubernetes in 30 minutes (2017/03/10)
Kubernetes in 30 minutes (2017/03/10)
Similar a Authentication, Authorization, OAuth, OpenID Connect and Pyramid
OAuth 2.0の概要とセキュリティ
OAuth 2.0の概要とセキュリティ
Hiroshi Hayakawa
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
Tatsuo Kudo
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
Tatsuo Kudo
100121 Scis2010 Itoh
100121 Scis2010 Itoh
Hiroki Itoh
デバイスの運用で使える AWS IoTサービスの紹介
デバイスの運用で使える AWS IoTサービスの紹介
Amazon Web Services Japan
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
Tatsuo Kudo
.NET ラボ~開発者のためのアイデンティティテクノロジーw/ Windows Phone
.NET ラボ~開発者のためのアイデンティティテクノロジーw/ Windows Phone
junichi anno
KeycloakでAPI認可に入門する
KeycloakでAPI認可に入門する
Hitachi, Ltd. OSS Solution Center.
FIWARE の ID 管理、アクセス制御、API 管理
FIWARE の ID 管理、アクセス制御、API 管理
fisuda
Azure AD B2CにIdPを色々と繋いでみる
Azure AD B2CにIdPを色々と繋いでみる
Naohiro Fujie
VPN・証明書はもう不要? Azure ADによるデバイス認証 at Tech Summit 2018
VPN・証明書はもう不要? Azure ADによるデバイス認証 at Tech Summit 2018
Shinichiro Kosugi
20141111 themi struct
20141111 themi struct
マジセミ by (株)オープンソース活用研究所
3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal
Toru Makabe
[SC14] IoT のセキュリティアーキテクチャと実装モデル
[SC14] IoT のセキュリティアーキテクチャと実装モデル
de:code 2017
TECH TALK 2021/8/24 Qlik Sense on Windowsのセキュリティ設定とアクセス制御
TECH TALK 2021/8/24 Qlik Sense on Windowsのセキュリティ設定とアクセス制御
QlikPresalesJapan
クラウドセキュリティ 誤解と事実の壁
クラウドセキュリティ 誤解と事実の壁
KVH Co. Ltd.
4/5 ADFS 2.0 を使用して Windows Azure との SSO を実現しよう V1.1
4/5 ADFS 2.0 を使用して Windows Azure との SSO を実現しよう V1.1
junichi anno
なんとなくOAuth怖いって思ってるやつちょっと来い
なんとなくOAuth怖いって思ってるやつちょっと来い
Ryo Ito
CLT-009_Windows 10 アプリとシングルサインオン ~Microsoft Passport の意義とその実装方法~
CLT-009_Windows 10 アプリとシングルサインオン ~Microsoft Passport の意義とその実装方法~
decode2016
Sec007 条件付きアクセス
Sec007 条件付きアクセス
Tech Summit 2016
Similar a Authentication, Authorization, OAuth, OpenID Connect and Pyramid
(20)
OAuth 2.0の概要とセキュリティ
OAuth 2.0の概要とセキュリティ
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
100121 Scis2010 Itoh
100121 Scis2010 Itoh
デバイスの運用で使える AWS IoTサービスの紹介
デバイスの運用で使える AWS IoTサービスの紹介
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
.NET ラボ~開発者のためのアイデンティティテクノロジーw/ Windows Phone
.NET ラボ~開発者のためのアイデンティティテクノロジーw/ Windows Phone
KeycloakでAPI認可に入門する
KeycloakでAPI認可に入門する
FIWARE の ID 管理、アクセス制御、API 管理
FIWARE の ID 管理、アクセス制御、API 管理
Azure AD B2CにIdPを色々と繋いでみる
Azure AD B2CにIdPを色々と繋いでみる
VPN・証明書はもう不要? Azure ADによるデバイス認証 at Tech Summit 2018
VPN・証明書はもう不要? Azure ADによるデバイス認証 at Tech Summit 2018
20141111 themi struct
20141111 themi struct
3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal
[SC14] IoT のセキュリティアーキテクチャと実装モデル
[SC14] IoT のセキュリティアーキテクチャと実装モデル
TECH TALK 2021/8/24 Qlik Sense on Windowsのセキュリティ設定とアクセス制御
TECH TALK 2021/8/24 Qlik Sense on Windowsのセキュリティ設定とアクセス制御
クラウドセキュリティ 誤解と事実の壁
クラウドセキュリティ 誤解と事実の壁
4/5 ADFS 2.0 を使用して Windows Azure との SSO を実現しよう V1.1
4/5 ADFS 2.0 を使用して Windows Azure との SSO を実現しよう V1.1
なんとなくOAuth怖いって思ってるやつちょっと来い
なんとなくOAuth怖いって思ってるやつちょっと来い
CLT-009_Windows 10 アプリとシングルサインオン ~Microsoft Passport の意義とその実装方法~
CLT-009_Windows 10 アプリとシングルサインオン ~Microsoft Passport の意義とその実装方法~
Sec007 条件付きアクセス
Sec007 条件付きアクセス
Más de Moriyoshi Koizumi
Uguisudani
Uguisudani
Moriyoshi Koizumi
Nginx lua
Nginx lua
Moriyoshi Koizumi
Haxeについて
Haxeについて
Moriyoshi Koizumi
Gocon2013
Gocon2013
Moriyoshi Koizumi
PHP language update 201211
PHP language update 201211
Moriyoshi Koizumi
mod_himoteからはじめよう
mod_himoteからはじめよう
Moriyoshi Koizumi
HPHPは約束の地なのか
HPHPは約束の地なのか
Moriyoshi Koizumi
Pyfes201110
Pyfes201110
Moriyoshi Koizumi
Phjosh(仮)プロジェクト
Phjosh(仮)プロジェクト
Moriyoshi Koizumi
Aaなゲームをjsで
Aaなゲームをjsで
Moriyoshi Koizumi
Aaなゲームをjsで
Aaなゲームをjsで
Moriyoshi Koizumi
ctypes拡張モジュール
ctypes拡張モジュール
Moriyoshi Koizumi
10〜30分で何となく分かるGo
10〜30分で何となく分かるGo
Moriyoshi Koizumi
Phpをいじり倒す10の方法
Phpをいじり倒す10の方法
Moriyoshi Koizumi
X / DRM (Direct Rendering Manager) Architectural Overview
X / DRM (Direct Rendering Manager) Architectural Overview
Moriyoshi Koizumi
Más de Moriyoshi Koizumi
(15)
Uguisudani
Uguisudani
Nginx lua
Nginx lua
Haxeについて
Haxeについて
Gocon2013
Gocon2013
PHP language update 201211
PHP language update 201211
mod_himoteからはじめよう
mod_himoteからはじめよう
HPHPは約束の地なのか
HPHPは約束の地なのか
Pyfes201110
Pyfes201110
Phjosh(仮)プロジェクト
Phjosh(仮)プロジェクト
Aaなゲームをjsで
Aaなゲームをjsで
Aaなゲームをjsで
Aaなゲームをjsで
ctypes拡張モジュール
ctypes拡張モジュール
10〜30分で何となく分かるGo
10〜30分で何となく分かるGo
Phpをいじり倒す10の方法
Phpをいじり倒す10の方法
X / DRM (Direct Rendering Manager) Architectural Overview
X / DRM (Direct Rendering Manager) Architectural Overview
Authentication, Authorization, OAuth, OpenID Connect and Pyramid
1.
認証と認可の概念 • 認証 (Authentication) •
認可 (Authorization)
2.
認証とは • 認証因子 (authentication
factors) からシス テムの利用者を識別して、システムにと って利用者が何者であるかを決定するこ と • 利用者が何者であるかが分かった所で、 システムの機能を使えるかどうかは別問 題 • (→認可) 認証因子 決定 決定 0182 0021
3.
認可とは • システムの利用者の認証情報から、シス テムの一部または全部の機能を利用可能 かどうか決定すること 0001 0123 システム管理 者 一般ユーザー ✔️ ✔️ ✔️
4.
Webアプリケーションの認証 • WebアプリケーションはHTTPを使ってシ ステムの利用者の環境 (ブラウザ)
と通信 する • HTTPのペイロードにシステムの利用者を 識別するような情報を乗せて通信するこ とで、Webアプリケーションにユーザーを 認証させる
5.
Webアプリケーションの認証 • 認証に用いられる情報 – URL –
クエリ文字列 – リクエストボディ – Authorizationヘッダ – クッキー – IPアドレス – SSLクライアント証明書 など
6.
Webアプリケーションの認証 ✔️https://example.com/s ecretpage 403 GET /secretpage HTTP/1.1 HTTP/1.1
403 Forbidden HTTP/1.1 200 OK 200 自宅のIPアドレス GET /secretpage HTTP/1.1 職場のIPアドレス
7.
Webアプリケーションの認証 • チャレンジ-レスポンス認証 – 閲覧できないリソースへのアクセスを行おう としたときに、エラーを返すのと同時に利用 者に認証因子の送信を求める
(チャレンジ) – 利用者はレスポンスとして認証因子 (ユーザ 名、パスワード等) をサーバーに送信する – 非セッション型の通信では、サーバは以後の アクセスで利用者識別情報として利用可能な トークンをユーザに返す
8.
Webアプリケーションの認証 ✔️https://example.com/s ecretpage 401 GET /secretpage HTTP/1.1
GET /secretpage HTTP/1.1 Authorization: basic … HTTP/1.1 401 Authorization Required WWW-Authenticate: Basic; realm=… HTTP/1.1 200 OK 200 ✔️ GET /anotherpage HTTP/1.1 Authorization: basic … https://example.com/a notherpage 認証情報の入力 認証情報はブラウザーに 記憶される 200 HTTP/1.1 200 OK
9.
Webアプリケーションの認証 Login page https://example.com/s ecretpage 302 HTTP/1.1 302 Moved
Temporarily Location: /login ✔️https://example.com/a notherpage 識別のための情報が クッキーとして ブラウザーに記憶される 200 GET /secretpage HTTP/1.1 https://example.com/ login GET /login HTTP/1.1 認証情報の入力 Login page HTTP/1.1 200 OK HTTP/1.1 302 Moved Temporarily Location: /secretpage Set-Cookie: xxx=yyy; path=/POST /login HTTP/1.1 user=aaa&passwd=bbb GET /anotherpage HTTP/1.1 Cookie: xxx=yyy HTTP/1.1 200 OK
10.
OAuth • OAuthはWebアプリケーションやWebAPI の、サービス間の認可のためのフレーム ワーク • サービスAがサービスBに認可をするため にサービスAが利用者に認証を求めるよう な作りになっていることを利用して、認 証の外部化機構としても利用できる
11.
ここ (2-3の間) で provider側の認証が利 用者に対して行われた りする。 OAuthのフロー 1.
ブラウザをproviderの認可エンドポイントにリダイレクト 2. 認可エンドポイントにブラウザがGETリクエスト 3. ブラウザをconsumerのコールバックURLにリダイレクト 4. コールバックURLにブラウザがGETリクエスト code code code 5. Consumerがproviderのアクセストークン取得APIにPOSTリクエスト client_id redirect_uri client_id client_secret 6. Providerがconsumerにアクセストークンや補助的な情報を返 却 access_token 7. Consumerは与えられたアクセストークンを伴ってProviderの各種APIにアクセス Consumer (認可を受ける側) Provider (認可を与える側) User agent (ブラウザ)
12.
OpenID Connect • OpenID
2.0の後継として生まれた規格 • OAuth 2.0ベース • アクセストークンと一緒にOpenID認証情 報をJWT (JSON Web Token) として consumerに渡す
13.
ここ (2-3の間) で provider側の認証が利 用者に対して行われた りする。 OpenID
Connectのフロー 1. ブラウザをproviderの認可エンドポイントにリダイレクト 2. 認可エンドポイントにブラウザがGETリクエスト 3. ブラウザをconsumerのコールバックURLにリダイレクト 4. コールバックURLにブラウザがGETリクエスト code code code 5. Consumerがproviderのアクセストークン取得APIにPOSTリクエスト client_id redirect_uri client_id client_secret 6. ProviderがconsumerにアクセストークンやIDトークンを返却 access_token 7. Consumerは与えられたアクセストークンを伴ってProviderの各種APIにアクセス Consumer (認可を受ける側) Provider (認可を与える側) User agent (ブラウザ) id_token nonce max_age
14.
Pyramidの認証と認可 Authentication and Authorization
in Pyramid
15.
Pyramidの認証と認可 • 認証ポリシー (IAuthenticationPolicy) •
認可ポリシー (IAuthorizationPolicy) • セキュリティプリンシパル (principals) • ACL (access control list)
16.
Pyramidの認可 • view_configに指定されたpermissionを引数 に、登録された IAuthorizationPolicy
の permits() メソッドが呼ばれる • permits()メソッドがFalseを返した場合、 HTTPForbiddenがraiseされる • チャレンジがある場合は、例外ビューの1 つであるforbidden viewでこれを拾って、 ログイン用のページにリダイレクトする
17.
Pyramidの認証 • IAuthenticationPolicyの effective_principals()が現在認証されてい るユーザに対応するprincipalsを返す。
18.
ACLAuthorizationPolicy • Contextオブジェクトの持つ__acl__プロパ ティの内容の各要素 (ACE=Access
Control Entry) と、 IAuthenticationPolicy.effective_principals() の返したprincipalsを順に照合して、最初 に合致したものをpermissionとする __acl__ = [ (Allow, Authenticated, 'authenticated'), (Deny, 'group:XXX:YYY', 'excluded'), (Allow, 'membership:XXX', 'member_only'), ]
Notas del editor
3
Descargar ahora