SlideShare a Scribd company logo
Adding Identity Management, Access Control and
API Management in your system
(システムに ID 管理、アクセス制御、API 管理を追加)
A complete framework for Identity, Access Control and API
Management
Álvaro Alonso
FIWARE Security Chapter
(Translated into Japanese by Kazuhito Suda k@fisuda.jp)
ID管理 (Identity Manager)
2
ID管理 (Identity Manager)
3
Account
OAuth 2.0
4
OAuth 2.0
Login with
OAuth 2.0
▪ 資格情報を共有せずに制限されたリソースへのアクセスを
アプリケーションに提供するメカニズム
• アプリケーションは Oauth プロバイダ (FIWAREなど) が発行した
アクセス・トークンを使用してリソースにアクセスします
• OAuth 2.0 仕様は、HTTP で使用するように設計されています
▪ ロール:
• リソース所有者: 保護されたリソースへのアクセスを許可できるエン
ティティ (たとえば、エンドユーザ)
• リソース・サーバ: 保護されたリソースをホストするサーバ
• クライアント: リソース所有者に代わって保護されたリソース要求を
行うアプリケーション
• 認可サーバ: アクセス・トークンをクライアントに発行するサーバ
OAuth 2.0
▪ 認可コード・グラント
(Authorization Code Grant)
▪ インプリシット・グラント (暗黙的グランド)
(Implicit Grant)
▪ リソース・オーナー・パスワード・クレデンシャル・グラント
(Resource Owner Password Credentials Grant)
▪ クライアント・クレデンシャル・グラント
(Client Credentials Grant)
OAuth 2.0 アーキテクチャ
認可コード・グラント
OAuth Provider
account.lab.fiware.org
OAuth 2.0 Architecture
インプリシット・グラント
OAuth Provider
account.lab.fiware.org
OAuth 2.0 Architecture
リソース・オーナー・パスワード・クレデンシャル・グラント
OAuth Provider
account.lab.fiware.org
OAuth 2.0 Architecture
クライアント・クレデンシャル・グラント
OAuth Provider
account.lab.fiware.org
OAuth 2.0 ライブラリ
▪ http://oauth.net/2/
• PHP, Cocoa, iOS, Java, Ruby, Javascript, Python.
▪ Node.js を使用した例
• https://github.com/ging/oauth2-example-client
12
FIWARE アカウントでの
OAuth2 クレデンシャル
保護されたユーザ情報の取得
14
Web App Account
OAuth2 requests flow
access-token
OAuthLibrary
アクセス・トークンを使ってユーザ情報をリクエスト
GET /user?access_token={token}
Web アプリケーション と GEs
15
Generic Enabler
Account
Request+
access-token
Oauth2 flows
access-token
OK + user info (roles)
Web App OAuthLibrary
access_token
GET https://GE_URL HTTP/1.1
Host: GE_hostname
X-Auth-Token: access_token
バックエンドのセキュリティ保護
16
Back-end
Apps
Account
Request+
access-token
Web App OauthLibrary
PEP Proxy
access-token
OK + user info (roles)
Oauth2 flows
access_token
GET https://PEP_PROXY HTTP/1.1
Host: PEP_PROXY_hostname
X-Auth-Token: access_token
FIWARE Lab アカウント での PEP Proxy
バックエンドのセキュリティ保護
▪ レベル 1: 認証 (Authentication)
• ユーザが FIWARE アカウントを持っているかどうか
をチェックします
▪ レベル 2: 基本的な認可 (Basic Authorization)
• ユーザがリソースにアクセスする権限を持っているか
どうかをチェックします
• HTTP 動詞 + リソース・パス
▪ レベル 3: 高度な認可 (Advanced Authorization)
• カスタム XACML ポリシー
* XACML : eXtensible Access Control Markup Language
レベル 1: 認証 (Authentication)
19
Back-end
Apps
Account
Request+
access-token
Web App OauthLibrary
PEP Proxy
access-token
OK + user info (roles)
Oauth2 flows
access_token
レベル 2: 基本的な認可 (Basic Authorization)
20
Back-end
Apps
Account
Request+
access-token
Web App OauthLibrary
PEP Proxy
access-token
OK + user info
Oauth2 flows
access_token
Authz PDP
GE
XACML <Request>:
roles + verb + path
OK
Basic RBAC policies in
XACML
(simple role permissions)
レベル 2: 基本的な認可 (Basic Authorization)
レベル 3: 高度な認可 (Advanced Authorization)
22
Back-end
Apps
Account
Request+
access-token
Web App OauthLibrary
PEP Proxy extension
Oauth2 flows
access_token
Auth PDP
GE
access-token
OK + user info
XACML <Request>:
roles + verb + path
OK
More generic ABAC
policies in XACML
(custom XACML Rules)
レベル 3: 高度な認可 (Advanced Authorization)
APInf と PEP Proxy
Back-end
Request+
APIKey
Web App
Back-end Back-end Back-end
APInf と PEP Proxy
Back
end
App
Account
Request+
access-tokenWeb App
OauthLibrary
PEP Proxy
access-token
OK + user info (roles)
Oauth2 flows
access_token
Back
end
App
Back
end
App
Back
end
App
IoT 認証 (IoT Authentication)
▪ Context Broker
• IoT 管理
• パブリッシュ / サブスクライブ モデル
□ コンテキスト・プロデューサ
□ コンテキスト・コンシューマ
▪ センサ認証 (Sensors Authentication)
• アプリケーション でのセンサ登録
• 各センサが、自身のアカウントを持つ
□ トークンの作成と検証
IoT 認証 (IoT Authentication)
27
Context Broker
Account
OK + user info (roles)
Context
Producer /
Consumer
access-token
update / query
Token creation
FIWARE アカウントでの IoT センサ
Industrial Data Space
FIWARE セキュリティによる対応
Industrial Data Space
Infrastructure
IdP PAP
Policies DB
PDP
Industrial Data Space
Context Consumer
Connector
Industrial Data Space
Context Producer
Connector
PEP
セキュリティ GEs
▪ Identity Management – Keyrock
▪ Authorization PDP – AuthZForce
▪ PEP Proxy – Wilma
▪ あなたのインフラに導入してください!!!
• セキュリティ GEs
インストールと設定ガイド
* PDP : Policy Decision Point (ポリシー決定点)
* PEP : Policy Enforcement Point (ポリシー実行点)
セキュリティ GEs – IdM - KeyRock
▪ APIs
• OAuth2
• リソース管理
• SCIM 2.0
▪ ソースコード
• https://github.com/ging/fi-ware-idm
▪ ドキュメント
• http://catalogue.fiware.org/enablers/identity-management-keyrock
▪ FIWARE OAuth2 デモ:
• https://github.com/ging/oauth2-example-client
31
新しい Keyrock をリリース
▪ カスタム・テーマをサポート
▪ 改善された OAuth 2.0 のリフレッシュトークンのサポート
▪ アプリケーションのアクセス許可の編集および削除
▪ 外部データベース認証のためのドライバ
▪ 登録済みアプリケーションで使用可能なグラント・タイプを設定するため
のサポート
▪ 改善された組織管理 (organizations management)
▪ クラウドの依存関係をクリーンアップ
▪ バックエンド DB として PostgreSQL をサポート
32
セキュリティGEs – PEP Proxy - Wilma
▪ ポリシー実行点 (Policy Enforcement Point)
▪ OAuth2 および Keystone トークンとの互換性
▪ ソースコード:
• https://github.com/ging/fi-ware-pep-proxy
▪ ドキュメント
• http://catalogue.fiware.org/enablers/pep-proxy-wilma
▪ グローバル・インスタンス
33
セキュリティ GEs – Authorization PDP – AuthZForce
▪ XML 最適化を使用した 100% XACML-3.0 標準準拠 および クラウド対応
RESTful ABAC フレームワークのシングル・オープン仕様
(Authorization PDP GE) および オープンソース実装 (GEri Authzforce)
▪ PDP(s)/PAP(s) のためのマルチテナント REST
▪ 標準:
• OASIS: XACML 3.0 + プロファイル (REST, RBAC, Multiple Decision)
• ISO: Fast Infoset
▪ 拡張性: 属性プロバイダ (PIP), ファンクション, 他
▪ PDP クラスタリング
34
2020年までに、大部分の企業は ABAC を重要な資産を保護する支配的なメカニズムとして
使用しますが、現在は5%未満です。 (Gartner, 2013)
IBAC
ABACRBAC
* PIP : Policy Information Point
* PDP : Policy Decision Point
* IBAC : Identity Based Access Control
* RBAC : Role-Based Access Control
* ABAC : Attribute-Based Access Control
セキュリティ GEs – Authorization PDP – AuthZForce
▪ FIWARE catalogue: https://catalogue.fiware.org/enablers/authorization-pdp-authzforce
▪ FIWARE Lab イメージ: authzforce-5.4.1
▪ Authorization PDP GE’s APIary: http://docs.authorizationpdp.apiary.io/#
▪ AuthzForce (GEri) ソースコード:
• WADL での API 仕様: https://github.com/authzforce/rest-api-model
• 実装: https://github.com/authzforce/server/
▪ AuthzForce ディストリビューション
• Ubuntu/Debian ライク: .deb / 他: Maven Central にある .tar.gz :
http://central.maven.org/maven2/org/ow2/authzforce/authzforce-ce-server-dist/
• Docker: https://hub.docker.com/r/fiware/authzforce-ce-server/
▪ テスト用グローバル・インスタンス: https://az.lab.fiware.org/authzforce-ce/
▪ ドキュメント: http://catalogue.fi-ware.org/enablers/access-control-tha-implementation/documentation
35
* WADL : Web Application Description Language
追加情報…
Account
National
eID
Thank you!
http://fiware.org
Follow @FIWARE on Twitter

More Related Content

What's hot

FIWARE Big Data Ecosystem : Cygnus and STH Comet
FIWARE Big Data Ecosystem : Cygnus and STH CometFIWARE Big Data Ecosystem : Cygnus and STH Comet
FIWARE Big Data Ecosystem : Cygnus and STH Comet
fisuda
 
FIWARE Overview and description of GEs
FIWARE Overview and description of GEsFIWARE Overview and description of GEs
FIWARE Overview and description of GEs
fisuda
 
NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話
Hitachi, Ltd. OSS Solution Center.
 
FIWARE 概要 - FIWARE WednesdayWebinars
FIWARE 概要 - FIWARE WednesdayWebinarsFIWARE 概要 - FIWARE WednesdayWebinars
FIWARE 概要 - FIWARE WednesdayWebinars
fisuda
 
FIWARE勉強会 20190913
FIWARE勉強会 20190913FIWARE勉強会 20190913
FIWARE勉強会 20190913
Nobuyuki Matsui
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.3.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.3.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.3.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.3.0対応)
fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.2.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.2.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.2.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.2.0対応)
fisuda
 
IoT Agents とは? - FIWARE WednesdayWebinars
IoT Agents とは? - FIWARE WednesdayWebinarsIoT Agents とは? - FIWARE WednesdayWebinars
IoT Agents とは? - FIWARE WednesdayWebinars
fisuda
 
コア・コンテキスト管理 - FIWARE WednesdayWebinars
コア・コンテキスト管理 - FIWARE WednesdayWebinarsコア・コンテキスト管理 - FIWARE WednesdayWebinars
コア・コンテキスト管理 - FIWARE WednesdayWebinars
fisuda
 
FIWARE implementation of IDS concepts
FIWARE implementation of IDS conceptsFIWARE implementation of IDS concepts
FIWARE implementation of IDS concepts
fisuda
 
NGINXでの認可について考える
NGINXでの認可について考えるNGINXでの認可について考える
NGINXでの認可について考える
Hitachi, Ltd. OSS Solution Center.
 
Keycloak拡張入門
Keycloak拡張入門Keycloak拡張入門
Keycloak拡張入門
Hiroyuki Wada
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 1.13.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 1.13.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 1.13.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 1.13.0対応)
fisuda
 
FIWARE - スマートサービスを支えるオープンソース
FIWARE - スマートサービスを支えるオープンソースFIWARE - スマートサービスを支えるオープンソース
FIWARE - スマートサービスを支えるオープンソース
fisuda
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
Akihiro Kuwano
 
オープンデータ・プラットフォーム KYOTO OPEN DATA
オープンデータ・プラットフォーム KYOTO OPEN DATAオープンデータ・プラットフォーム KYOTO OPEN DATA
オープンデータ・プラットフォーム KYOTO OPEN DATA
惠 紀野
 
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
Amazon Web Services Japan
 
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
NTT DATA Technology & Innovation
 
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito
Amazon Web Services Japan
 
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
Masaru Kurahayashi
 

What's hot (20)

FIWARE Big Data Ecosystem : Cygnus and STH Comet
FIWARE Big Data Ecosystem : Cygnus and STH CometFIWARE Big Data Ecosystem : Cygnus and STH Comet
FIWARE Big Data Ecosystem : Cygnus and STH Comet
 
FIWARE Overview and description of GEs
FIWARE Overview and description of GEsFIWARE Overview and description of GEs
FIWARE Overview and description of GEs
 
NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話
 
FIWARE 概要 - FIWARE WednesdayWebinars
FIWARE 概要 - FIWARE WednesdayWebinarsFIWARE 概要 - FIWARE WednesdayWebinars
FIWARE 概要 - FIWARE WednesdayWebinars
 
FIWARE勉強会 20190913
FIWARE勉強会 20190913FIWARE勉強会 20190913
FIWARE勉強会 20190913
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.3.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.3.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.3.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.3.0対応)
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.2.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.2.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.2.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 2.2.0対応)
 
IoT Agents とは? - FIWARE WednesdayWebinars
IoT Agents とは? - FIWARE WednesdayWebinarsIoT Agents とは? - FIWARE WednesdayWebinars
IoT Agents とは? - FIWARE WednesdayWebinars
 
コア・コンテキスト管理 - FIWARE WednesdayWebinars
コア・コンテキスト管理 - FIWARE WednesdayWebinarsコア・コンテキスト管理 - FIWARE WednesdayWebinars
コア・コンテキスト管理 - FIWARE WednesdayWebinars
 
FIWARE implementation of IDS concepts
FIWARE implementation of IDS conceptsFIWARE implementation of IDS concepts
FIWARE implementation of IDS concepts
 
NGINXでの認可について考える
NGINXでの認可について考えるNGINXでの認可について考える
NGINXでの認可について考える
 
Keycloak拡張入門
Keycloak拡張入門Keycloak拡張入門
Keycloak拡張入門
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 1.13.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 1.13.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 1.13.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 1.13.0対応)
 
FIWARE - スマートサービスを支えるオープンソース
FIWARE - スマートサービスを支えるオープンソースFIWARE - スマートサービスを支えるオープンソース
FIWARE - スマートサービスを支えるオープンソース
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
 
オープンデータ・プラットフォーム KYOTO OPEN DATA
オープンデータ・プラットフォーム KYOTO OPEN DATAオープンデータ・プラットフォーム KYOTO OPEN DATA
オープンデータ・プラットフォーム KYOTO OPEN DATA
 
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
 
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
 
20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito20200630 AWS Black Belt Online Seminar Amazon Cognito
20200630 AWS Black Belt Online Seminar Amazon Cognito
 
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
 

Similar to FIWARE の ID 管理、アクセス制御、API 管理

OAuth2.0によるWeb APIの保護
OAuth2.0によるWeb APIの保護OAuth2.0によるWeb APIの保護
OAuth2.0によるWeb APIの保護
Naohiro Fujie
 
Authentication and Authorization of The Latest Keycloak
Authentication and Authorization of The Latest KeycloakAuthentication and Authorization of The Latest Keycloak
Authentication and Authorization of The Latest Keycloak
Hitachi, Ltd. OSS Solution Center.
 
Cld014 セキュアな io_t_システ
Cld014 セキュアな io_t_システCld014 セキュアな io_t_システ
Cld014 セキュアな io_t_システ
Tech Summit 2016
 
Cld014 セキュアな io_t_システ
Cld014 セキュアな io_t_システCld014 セキュアな io_t_システ
Cld014 セキュアな io_t_システ
Tech Summit 2016
 
Microsoft Azure のセキュリティ
Microsoft Azure のセキュリティMicrosoft Azure のセキュリティ
Microsoft Azure のセキュリティ
junichi anno
 
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Hitachi, Ltd. OSS Solution Center.
 
Azure AD によるリソースの保護 how to protect and govern resources under the Azure AD
Azure AD によるリソースの保護 how to protect and govern resources under the Azure ADAzure 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
 
認証技術、デジタルアイデンティティ技術の最新動向
認証技術、デジタルアイデンティティ技術の最新動向認証技術、デジタルアイデンティティ技術の最新動向
認証技術、デジタルアイデンティティ技術の最新動向
Tatsuo Kudo
 
Amazon FreeRTOSを用いた量産向けIoTマイコンデバイス開発プロトタイピング
Amazon FreeRTOSを用いた量産向けIoTマイコンデバイス開発プロトタイピングAmazon FreeRTOSを用いた量産向けIoTマイコンデバイス開発プロトタイピング
Amazon FreeRTOSを用いた量産向けIoTマイコンデバイス開発プロトタイピング
Amazon Web Services Japan
 
Microservices /w Spring Security OAuth
Microservices /w Spring Security OAuthMicroservices /w Spring Security OAuth
Microservices /w Spring Security OAuth
Makoto Kakuta
 
API Gateway - ヘッダー/クエリー変換、認証・認可機能詳細
API Gateway - ヘッダー/クエリー変換、認証・認可機能詳細API Gateway - ヘッダー/クエリー変換、認証・認可機能詳細
API Gateway - ヘッダー/クエリー変換、認証・認可機能詳細
オラクルエンジニア通信
 
OAuth 2.0の概要とセキュリティ
OAuth 2.0の概要とセキュリティOAuth 2.0の概要とセキュリティ
OAuth 2.0の概要とセキュリティ
Hiroshi Hayakawa
 
Sec004 cloud first、_mobile_first_におけるid
Sec004 cloud first、_mobile_first_におけるidSec004 cloud first、_mobile_first_におけるid
Sec004 cloud first、_mobile_first_におけるid
Tech Summit 2016
 
OpenID Connect入門
OpenID Connect入門OpenID Connect入門
OpenID Connect入門
土岐 孝平
 
勉強会キット Windows Server 2012 R2 評価版 BYOD 編 v2 20131020 版
勉強会キット Windows Server 2012 R2 評価版 BYOD 編 v2 20131020 版勉強会キット Windows Server 2012 R2 評価版 BYOD 編 v2 20131020 版
勉強会キット Windows Server 2012 R2 評価版 BYOD 編 v2 20131020 版
junichi anno
 
Otrs&OTOBO_document 20210402
Otrs&OTOBO_document 20210402Otrs&OTOBO_document 20210402
Otrs&OTOBO_document 20210402
IO Architect Inc.
 
Hyperledger Fabric 1.0 概要
Hyperledger Fabric 1.0 概要Hyperledger Fabric 1.0 概要
Hyperledger Fabric 1.0 概要
Hyperleger Tokyo Meetup
 
Azure IoT Edge Deep Dive
Azure IoT Edge Deep DiveAzure IoT Edge Deep Dive
Azure IoT Edge Deep Dive
Knowledge & Experience
 
「Windows Phone アプリ と 認証」のまとめ
「Windows Phone アプリ と 認証」のまとめ「Windows Phone アプリ と 認証」のまとめ
「Windows Phone アプリ と 認証」のまとめ
junichi anno
 
AWSの共有責任モデル(shared responsibility model)
AWSの共有責任モデル(shared responsibility model)AWSの共有責任モデル(shared responsibility model)
AWSの共有責任モデル(shared responsibility model)
Akio Katayama
 

Similar to FIWARE の ID 管理、アクセス制御、API 管理 (20)

OAuth2.0によるWeb APIの保護
OAuth2.0によるWeb APIの保護OAuth2.0によるWeb APIの保護
OAuth2.0によるWeb APIの保護
 
Authentication and Authorization of The Latest Keycloak
Authentication and Authorization of The Latest KeycloakAuthentication and Authorization of The Latest Keycloak
Authentication and Authorization of The Latest Keycloak
 
Cld014 セキュアな io_t_システ
Cld014 セキュアな io_t_システCld014 セキュアな io_t_システ
Cld014 セキュアな io_t_システ
 
Cld014 セキュアな io_t_システ
Cld014 セキュアな io_t_システCld014 セキュアな io_t_システ
Cld014 セキュアな io_t_システ
 
Microsoft Azure のセキュリティ
Microsoft Azure のセキュリティMicrosoft Azure のセキュリティ
Microsoft Azure のセキュリティ
 
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
 
Azure AD によるリソースの保護 how to protect and govern resources under the Azure AD
Azure AD によるリソースの保護 how to protect and govern resources under the Azure ADAzure AD によるリソースの保護 how to protect and govern resources under the Azure AD
Azure AD によるリソースの保護 how to protect and govern resources under the Azure AD
 
認証技術、デジタルアイデンティティ技術の最新動向
認証技術、デジタルアイデンティティ技術の最新動向認証技術、デジタルアイデンティティ技術の最新動向
認証技術、デジタルアイデンティティ技術の最新動向
 
Amazon FreeRTOSを用いた量産向けIoTマイコンデバイス開発プロトタイピング
Amazon FreeRTOSを用いた量産向けIoTマイコンデバイス開発プロトタイピングAmazon FreeRTOSを用いた量産向けIoTマイコンデバイス開発プロトタイピング
Amazon FreeRTOSを用いた量産向けIoTマイコンデバイス開発プロトタイピング
 
Microservices /w Spring Security OAuth
Microservices /w Spring Security OAuthMicroservices /w Spring Security OAuth
Microservices /w Spring Security OAuth
 
API Gateway - ヘッダー/クエリー変換、認証・認可機能詳細
API Gateway - ヘッダー/クエリー変換、認証・認可機能詳細API Gateway - ヘッダー/クエリー変換、認証・認可機能詳細
API Gateway - ヘッダー/クエリー変換、認証・認可機能詳細
 
OAuth 2.0の概要とセキュリティ
OAuth 2.0の概要とセキュリティOAuth 2.0の概要とセキュリティ
OAuth 2.0の概要とセキュリティ
 
Sec004 cloud first、_mobile_first_におけるid
Sec004 cloud first、_mobile_first_におけるidSec004 cloud first、_mobile_first_におけるid
Sec004 cloud first、_mobile_first_におけるid
 
OpenID Connect入門
OpenID Connect入門OpenID Connect入門
OpenID Connect入門
 
勉強会キット Windows Server 2012 R2 評価版 BYOD 編 v2 20131020 版
勉強会キット Windows Server 2012 R2 評価版 BYOD 編 v2 20131020 版勉強会キット Windows Server 2012 R2 評価版 BYOD 編 v2 20131020 版
勉強会キット Windows Server 2012 R2 評価版 BYOD 編 v2 20131020 版
 
Otrs&OTOBO_document 20210402
Otrs&OTOBO_document 20210402Otrs&OTOBO_document 20210402
Otrs&OTOBO_document 20210402
 
Hyperledger Fabric 1.0 概要
Hyperledger Fabric 1.0 概要Hyperledger Fabric 1.0 概要
Hyperledger Fabric 1.0 概要
 
Azure IoT Edge Deep Dive
Azure IoT Edge Deep DiveAzure IoT Edge Deep Dive
Azure IoT Edge Deep Dive
 
「Windows Phone アプリ と 認証」のまとめ
「Windows Phone アプリ と 認証」のまとめ「Windows Phone アプリ と 認証」のまとめ
「Windows Phone アプリ と 認証」のまとめ
 
AWSの共有責任モデル(shared responsibility model)
AWSの共有責任モデル(shared responsibility model)AWSの共有責任モデル(shared responsibility model)
AWSの共有責任モデル(shared responsibility model)
 

More from fisuda

FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.12.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.12.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.12.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.12.0対応)
fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.11.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.11.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.11.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.11.0対応)
fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.10.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.10.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.10.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.10.0対応)
fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.9.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.9.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.9.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.9.0対応)
fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.8.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.8.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.8.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.8.0対応)
fisuda
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.7.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.7.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.7.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.7.0対応)
fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.6.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.6.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.6.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.6.0対応)
fisuda
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.6.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.6.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.6.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.6.0対応)
fisuda
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.5.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.5.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.5.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.5.0対応)
fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.4.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.4.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.4.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.4.0対応)
fisuda
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.4.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.4.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.4.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.4.0対応)
fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.3.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.3.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.3.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.3.0対応)
fisuda
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.3.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.3.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.3.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.3.0対応)
fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.2.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.2.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.2.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.2.0対応)
fisuda
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)
fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.1.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.1.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.1.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.1.0対応)
fisuda
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.1.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.1.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.1.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.1.0対応)
fisuda
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.0.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.0.0対応)
fisuda
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.0.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.0.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.0.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.0.0対応)
fisuda
 

More from fisuda (20)

FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.12.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.12.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.12.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.12.0対応)
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.11.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.11.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.11.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.11.0対応)
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.10.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.10.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.10.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.10.0対応)
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.9.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.9.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.9.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.9.0対応)
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.8.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.8.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.8.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.8.0対応)
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.7.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.7.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.7.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.7.0対応)
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.6.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.6.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.6.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.6.0対応)
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.6.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.6.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.6.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.6.0対応)
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.5.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.5.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.5.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.5.0対応)
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.4.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.4.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.4.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.4.0対応)
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.4.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.4.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.4.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.4.0対応)
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.3.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.3.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.3.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.3.0対応)
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.3.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.3.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.3.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.3.0対応)
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.2.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.2.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.2.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.2.0対応)
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.2.0対応)
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.1.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.1.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.1.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.1.0対応)
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.1.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.1.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.1.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.1.0対応)
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.0.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.0.0対応)
 
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.0.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.0.0対応)NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.0.0対応)
NGSIv1 を知っている開発者向けの NGSIv2 の概要 (Orion 3.0.0対応)
 

FIWARE の ID 管理、アクセス制御、API 管理

  • 1. Adding Identity Management, Access Control and API Management in your system (システムに ID 管理、アクセス制御、API 管理を追加) A complete framework for Identity, Access Control and API Management Álvaro Alonso FIWARE Security Chapter (Translated into Japanese by Kazuhito Suda k@fisuda.jp)
  • 6. OAuth 2.0 ▪ 資格情報を共有せずに制限されたリソースへのアクセスを アプリケーションに提供するメカニズム • アプリケーションは Oauth プロバイダ (FIWAREなど) が発行した アクセス・トークンを使用してリソースにアクセスします • OAuth 2.0 仕様は、HTTP で使用するように設計されています ▪ ロール: • リソース所有者: 保護されたリソースへのアクセスを許可できるエン ティティ (たとえば、エンドユーザ) • リソース・サーバ: 保護されたリソースをホストするサーバ • クライアント: リソース所有者に代わって保護されたリソース要求を 行うアプリケーション • 認可サーバ: アクセス・トークンをクライアントに発行するサーバ
  • 7. OAuth 2.0 ▪ 認可コード・グラント (Authorization Code Grant) ▪ インプリシット・グラント (暗黙的グランド) (Implicit Grant) ▪ リソース・オーナー・パスワード・クレデンシャル・グラント (Resource Owner Password Credentials Grant) ▪ クライアント・クレデンシャル・グラント (Client Credentials Grant)
  • 12. OAuth 2.0 ライブラリ ▪ http://oauth.net/2/ • PHP, Cocoa, iOS, Java, Ruby, Javascript, Python. ▪ Node.js を使用した例 • https://github.com/ging/oauth2-example-client 12
  • 14. 保護されたユーザ情報の取得 14 Web App Account OAuth2 requests flow access-token OAuthLibrary アクセス・トークンを使ってユーザ情報をリクエスト GET /user?access_token={token}
  • 15. Web アプリケーション と GEs 15 Generic Enabler Account Request+ access-token Oauth2 flows access-token OK + user info (roles) Web App OAuthLibrary access_token GET https://GE_URL HTTP/1.1 Host: GE_hostname X-Auth-Token: access_token
  • 16. バックエンドのセキュリティ保護 16 Back-end Apps Account Request+ access-token Web App OauthLibrary PEP Proxy access-token OK + user info (roles) Oauth2 flows access_token GET https://PEP_PROXY HTTP/1.1 Host: PEP_PROXY_hostname X-Auth-Token: access_token
  • 17. FIWARE Lab アカウント での PEP Proxy
  • 18. バックエンドのセキュリティ保護 ▪ レベル 1: 認証 (Authentication) • ユーザが FIWARE アカウントを持っているかどうか をチェックします ▪ レベル 2: 基本的な認可 (Basic Authorization) • ユーザがリソースにアクセスする権限を持っているか どうかをチェックします • HTTP 動詞 + リソース・パス ▪ レベル 3: 高度な認可 (Advanced Authorization) • カスタム XACML ポリシー * XACML : eXtensible Access Control Markup Language
  • 19. レベル 1: 認証 (Authentication) 19 Back-end Apps Account Request+ access-token Web App OauthLibrary PEP Proxy access-token OK + user info (roles) Oauth2 flows access_token
  • 20. レベル 2: 基本的な認可 (Basic Authorization) 20 Back-end Apps Account Request+ access-token Web App OauthLibrary PEP Proxy access-token OK + user info Oauth2 flows access_token Authz PDP GE XACML <Request>: roles + verb + path OK Basic RBAC policies in XACML (simple role permissions)
  • 21. レベル 2: 基本的な認可 (Basic Authorization)
  • 22. レベル 3: 高度な認可 (Advanced Authorization) 22 Back-end Apps Account Request+ access-token Web App OauthLibrary PEP Proxy extension Oauth2 flows access_token Auth PDP GE access-token OK + user info XACML <Request>: roles + verb + path OK More generic ABAC policies in XACML (custom XACML Rules)
  • 23. レベル 3: 高度な認可 (Advanced Authorization)
  • 24. APInf と PEP Proxy Back-end Request+ APIKey Web App Back-end Back-end Back-end
  • 25. APInf と PEP Proxy Back end App Account Request+ access-tokenWeb App OauthLibrary PEP Proxy access-token OK + user info (roles) Oauth2 flows access_token Back end App Back end App Back end App
  • 26. IoT 認証 (IoT Authentication) ▪ Context Broker • IoT 管理 • パブリッシュ / サブスクライブ モデル □ コンテキスト・プロデューサ □ コンテキスト・コンシューマ ▪ センサ認証 (Sensors Authentication) • アプリケーション でのセンサ登録 • 各センサが、自身のアカウントを持つ □ トークンの作成と検証
  • 27. IoT 認証 (IoT Authentication) 27 Context Broker Account OK + user info (roles) Context Producer / Consumer access-token update / query Token creation
  • 29. Industrial Data Space FIWARE セキュリティによる対応 Industrial Data Space Infrastructure IdP PAP Policies DB PDP Industrial Data Space Context Consumer Connector Industrial Data Space Context Producer Connector PEP
  • 30. セキュリティ GEs ▪ Identity Management – Keyrock ▪ Authorization PDP – AuthZForce ▪ PEP Proxy – Wilma ▪ あなたのインフラに導入してください!!! • セキュリティ GEs インストールと設定ガイド * PDP : Policy Decision Point (ポリシー決定点) * PEP : Policy Enforcement Point (ポリシー実行点)
  • 31. セキュリティ GEs – IdM - KeyRock ▪ APIs • OAuth2 • リソース管理 • SCIM 2.0 ▪ ソースコード • https://github.com/ging/fi-ware-idm ▪ ドキュメント • http://catalogue.fiware.org/enablers/identity-management-keyrock ▪ FIWARE OAuth2 デモ: • https://github.com/ging/oauth2-example-client 31
  • 32. 新しい Keyrock をリリース ▪ カスタム・テーマをサポート ▪ 改善された OAuth 2.0 のリフレッシュトークンのサポート ▪ アプリケーションのアクセス許可の編集および削除 ▪ 外部データベース認証のためのドライバ ▪ 登録済みアプリケーションで使用可能なグラント・タイプを設定するため のサポート ▪ 改善された組織管理 (organizations management) ▪ クラウドの依存関係をクリーンアップ ▪ バックエンド DB として PostgreSQL をサポート 32
  • 33. セキュリティGEs – PEP Proxy - Wilma ▪ ポリシー実行点 (Policy Enforcement Point) ▪ OAuth2 および Keystone トークンとの互換性 ▪ ソースコード: • https://github.com/ging/fi-ware-pep-proxy ▪ ドキュメント • http://catalogue.fiware.org/enablers/pep-proxy-wilma ▪ グローバル・インスタンス 33
  • 34. セキュリティ GEs – Authorization PDP – AuthZForce ▪ XML 最適化を使用した 100% XACML-3.0 標準準拠 および クラウド対応 RESTful ABAC フレームワークのシングル・オープン仕様 (Authorization PDP GE) および オープンソース実装 (GEri Authzforce) ▪ PDP(s)/PAP(s) のためのマルチテナント REST ▪ 標準: • OASIS: XACML 3.0 + プロファイル (REST, RBAC, Multiple Decision) • ISO: Fast Infoset ▪ 拡張性: 属性プロバイダ (PIP), ファンクション, 他 ▪ PDP クラスタリング 34 2020年までに、大部分の企業は ABAC を重要な資産を保護する支配的なメカニズムとして 使用しますが、現在は5%未満です。 (Gartner, 2013) IBAC ABACRBAC * PIP : Policy Information Point * PDP : Policy Decision Point * IBAC : Identity Based Access Control * RBAC : Role-Based Access Control * ABAC : Attribute-Based Access Control
  • 35. セキュリティ GEs – Authorization PDP – AuthZForce ▪ FIWARE catalogue: https://catalogue.fiware.org/enablers/authorization-pdp-authzforce ▪ FIWARE Lab イメージ: authzforce-5.4.1 ▪ Authorization PDP GE’s APIary: http://docs.authorizationpdp.apiary.io/# ▪ AuthzForce (GEri) ソースコード: • WADL での API 仕様: https://github.com/authzforce/rest-api-model • 実装: https://github.com/authzforce/server/ ▪ AuthzForce ディストリビューション • Ubuntu/Debian ライク: .deb / 他: Maven Central にある .tar.gz : http://central.maven.org/maven2/org/ow2/authzforce/authzforce-ce-server-dist/ • Docker: https://hub.docker.com/r/fiware/authzforce-ce-server/ ▪ テスト用グローバル・インスタンス: https://az.lab.fiware.org/authzforce-ce/ ▪ ドキュメント: http://catalogue.fi-ware.org/enablers/access-control-tha-implementation/documentation 35 * WADL : Web Application Description Language