5. 4Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
OOTB (Out of the Box)
インストールが簡単 !
Java 8 JDKのインストール & 配布されているzip/tar.gzを解凍するだけ
TomcatやWildFlyなど、Webアプリケーションサーバの用意は不要
お試し利用であれば、用意されている起動スクリプトを実行するだけで即起動/利用
可能
DockerイメージもDocker Hubにあるよ
Kubernetes用のHelm Chartもオフィシャルリポジトリで公開されているよ
▪RDBMSの切り替え、HA化も設定で可能
セットアップが簡単 !!
モダンで使いやすいGUIで設定可能 (←初心者にとって超重要)
玄人向けにはCLIツールもあるよ
6. 5Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
ユーザー認証
システムごとに個別に認証してサービスを利用
アイデンティティ&アクセス管理 (IAM) の役割
App
利用者
ユーザー認証
App
ユーザー認証
7. 6Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
アイデンティティ&アクセス管理 (IAM) の役割
アイデンティティ連携 / Web SSO
エンタープライズでは2000年代くらいには多くの企業で導入済み
同一ドメインのためCookieベースのシンプルなSSO方式
Apps
認証依頼 認証結果
・・・
認証サーバ
利用者
ユーザー認証
サービス利用
8. 7Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
アイデンティティ&アクセス管理 (IAM) の役割
アイデンティティ連携 / Web SSO
ASP / SaaS などのクラウドサービスも含めたSSO
Cookieに頼らないフェデレーション方式が必要
ASP / SaaS
サービス
Apps
認証依頼 認証結果
・・・
認証サーバ
利用者
ユーザー認証
認証依頼
認証結果
サービス利用
9. 8Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
アイデンティティ&アクセス管理 (IAM) の役割
アイデンティティ連携 / Web SSO
IDaaSなどの外部IdPを組み合わせた多段認証連携によるシステム全体のSSO
IDaaSなど
Apps
認証依頼 認証結果
・・・
認証サーバ
利用者
ユーザー認証
認証依頼
認証結果
社外利用者
ユーザー認証
サービス利用
サービス利用
10. 9Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
アイデンティティ&アクセス管理 (IAM) の役割
アイデンティティ連携 / Web SSO
コンシューマ向けではソーシャルログインは今や当たり前
自社サービス
認証依頼 認証結果
Source: https://ja.facebookbrand.com/assets
https://www.google.co.jp
https://www.yahoo.co.jp/
https://line.me/en/logo
利用者
ユーザー認証
サービス利用
11. 10Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
アイデンティティ&アクセス管理 (IAM) の役割
アイデンティティ・プロビジョニング
個社要件が多くスクラッチで作られる事も
CSVで渡す方式も根強い
Apps
・・・
ID管理サーバ
利用者
ユーザー情報同期
ユーザー登録・
変更・削除
管理者
12. 11Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
アイデンティティ&アクセス管理 (IAM) の役割
APIアクセス認可
2000年代後半くらいからコンシューマ向けサイトを中心に広く使われるように
APIアクセス
ユーザー認証
利用者
公開 API
Source: https://ja.facebookbrand.com/assets , https://www.google.co.jp , https://www.yahoo.co.jp/
https://line.me/en/logo , https://developer.android.com/ , https://www.apple.com/iphone/
Apps
APIアクセス
許可要求
APIアクセス許可
認証・認可サーバ
トークン検証
サービス利用
13. 12Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
IAMを構成する技術仕様
オープンスタンダードな技術を使うようになってきている
Source: Internet of Things Security & Privacy
https://www.slideshare.net/ChrisAdriaensen/internet-of-things-security-privacy-82981990
Enterprise
IAM
Consumer
IAM
いま
SSO 製品独自仕様
or SAML
内製独自仕様
or SAML or
OpenID
OpenID
Connect
API認可 WS-* 内製独自仕様 OAuth
IDプロビジョニング CSV渡し/DB
製品独自仕様
独自データ連
携
SCIM
ユーザー認証 製品独自仕様 内製独自仕様 FIDO
14. 13Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
オープンスタンダード技術による構成
APIアクセス
ユーザー認証
利用者
公開 API
Source: https://ja.facebookbrand.com/assets , https://www.google.co.jp , https://www.yahoo.co.jp/
https://line.me/en/logo , https://developer.android.com/ , https://www.apple.com/iphone/
Apps
APIアクセス
許可要求
APIアクセス許可
認証・認可/
ID管理サーバ
トークン検証
・・・
認証依頼 認証結果
Apps
ユーザー情報同期
サービス利用
サービス利用
15. 14Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
Keycloak の代表的な機能
1. シングルサインオン (OpenID Connect, SAML 2.0)
2. API認可 (OAuth 2.0)
3. アプリケーション向けのライブラリ提供 (Client Adapter)
4. 外部IdP連携 (Identity Brokering / Social Login)
5. 外部ユーザーデータストアとの連携 (User Federation)
6. 豊富なカスタマイズポイント
16. 15Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
1. シングルサインオン (OpenID Connect, SAML 2.0)
APIアクセス
ユーザー認証
利用者
公開 API
Source: https://ja.facebookbrand.com/assets , https://www.google.co.jp , https://www.yahoo.co.jp/
https://line.me/en/logo , https://developer.android.com/ , https://www.apple.com/iphone/
Apps
APIアクセス
許可要求
APIアクセス許可
認証・認可/
ID管理サーバ
トークン検証
・・・
認証依頼 認証結果
Apps
サービス利用
サービス利用
Cookieベースの認証連携は
持たず、標準技術のみに対応
27. 26Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
Reverse Proxy 方式
Apache HTTPD
mod_auth_openidc (OpenID Connect 1.0)
mod_auth_mellon (SAML 2.0)
※上記はRHEL (CentOS) に付属
他にもNginx向けやGolangベースで単独動作するものも
lua-resty-openidc
oauth2_proxy
28. 27Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
Keycloak オフィシャルの Reverse Proxy 方式
より軽量なプロキシー実装を提供予定 (Golang)
github.com/gambol99/keycloak-proxy
がオフィシャルリポジトリに 移管!!
keycloak-generic-adapter
になる模様
29. 28Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
4. 外部IdP (Identity Brokering / Social Login)
APIアクセス
ユーザー認証
利用者
公開 APIApps
APIアクセス
許可要求
APIアクセス許可
認証・認可/
ID管理サーバ
トークン検証
・・・
認証依頼 認証結果
Apps
サービス利用
サービス利用
Source: https://ja.facebookbrand.com/assets
https://www.google.co.jp
認証依頼
認証結果 ・・・
30. 29Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
5. 外部ユーザーデータストアとの連携 (User Federation)
APIアクセス
ユーザー認証
利用者
公開 API
Source: https://ja.facebookbrand.com/assets , https://www.google.co.jp , https://www.yahoo.co.jp/
https://line.me/en/logo , https://developer.android.com/ , https://www.apple.com/iphone/
Apps
APIアクセス
許可要求
APIアクセス許可
認証・認可/
ID管理サーバ
トークン検証
・・・
認証依頼 認証結果
Apps
サービス利用
サービス利用
LDAPサーバ
認証
31. 30Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
ユースケース
企業内システムのシングルサインオン
Legacy App
App
従業員
既にLDAPでID統合されてい
る場合は、UserFederation
機能により認証DBとして利用
Reverse Proxy
認証サーバ
LDAPサーバ
ユーザー認証
認証
32. 31Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
ユースケース
企業内システムのシングルサインオン
認証サーバ
Legacy App
App
Active Directory
従業員
Windowsドメイン認証するこ
とでKeycloakに自動ログイン
Reverse Proxy
ドメイン認証
Kerberos認証
Source: https://docs.microsoft.com/ja-jp/windows-server/identity/ad-fs/deployment/upgrading-to-ad-fs-in-windows-server-sql
33. 32Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
SCIMには未対応 & ID管理機能は簡易的
エンタープライズユースでは専用のID管理ソフトウェアの利用/スクラッチ
開発が現状は必要
ワークフローによる承認・人事システムと連動したIDライフサイクル管理・棚卸し運用など、求められる
要件が複雑
アイデンティティ・プロビジョニング
認証・認可サーバ利用者
Apps
ユーザー情報同期
ユーザー登録・
変更・削除
管理者ID管理サーバ
・・・
サービス利用
ユーザー認証
34. 33Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
アイデンティティ・プロビジョニング
簡易的なID管理としての利用はOK
LDAPでID統合されており、承認等のワークフロー制御が不要なケース
認証・認可サーバ利用者
Apps
ユーザー登録・
変更・削除
管理者
・・・
サービス利用
ユーザー認証
LDAPサーバ
認証・ユーザー登録・
変更・削除
35. 34Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
KeycloakのID管理
ID管理でよくあるデータモデルを提供しており、簡易的なID管理とし
て利用できる
ユーザー/グループ/ロール の管理 (User FederationによりLDAPと同期もできる)
グループ/ロールは階層構造として持てる
Realm A
Master Realm
Groups
Realm Roles
Roles
Client Roles
Users
Realm B
36. 35Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
FIDO 2.0 対応は今年末くらいに来る!?
APIアクセス
利用者
公開 API
Source: https://ja.facebookbrand.com/assets , https://www.google.co.jp , https://www.yahoo.co.jp/
https://line.me/en/logo , https://developer.android.com/ , https://www.apple.com/iphone/
Apps
APIアクセス
許可要求
APIアクセス許可
認証・認可/
ID管理サーバ
トークン検証
・・・
認証依頼 認証結果
Apps
サービス利用
サービス利用
ユーザー認証
37. 36Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
6. 豊富なカスタマイズポイント
Theme
Authentication SPI
UserStorage SPI
Required Action
Protocol Mapper
EventListener SPI
・・・
Red Hat SSOでサポートされておりAPI互
換が保たれている
その他の拡張ポイントは現状、private扱い
のため、バージョンアップにより予告なく互
換性が失われる場合があるのでカスタマ
イズする場合は注意
38. 37Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
Authentication SPI
標準でOTP、Kerberos認証、X.509証明書認証など用意
プラガブルにカスタム認証ロジックを組み込み可能
Out of the Boxで用意されている各種認証フローをまるっと置き換
えることもできる
39. 38Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
Required Action
ユーザーのログイン処理後に必須で動作させたい処理を
Required Action と呼ぶ
組み込みのAction
OTPの設定
利用規約への同意
パスワード更新
ユーザープロフィール更新
Emailの確認
独自Actionの追加も可能