2. 1Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
n和⽥ 広之 @wadahiro
n主にOSS系担当 (OpenStandiaチーム所属)
n最近のOSSコミュニティ活動
l Keycloakドキュメント⽇本語化
l KeycloakのToken Exchange強化(SAML 2.0トークン対応)
l KeycloakのFAPI Conformance suite対応
l mrparkers/terraform-provider-keycloak、Terraformerの機能強化
l midPoint⽇本語化
l Box⽤のmidPointコネクタ開発
l Amazon Cognito User Pool⽤のmidPointコネクタ開発
⾃⼰紹介
5. 4Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
nOSSのIGAプラットフォーム
nIGA=従来のIDMに加えて、ガバナンス機能を強化
nApache License 2.0 / European Union Public License (EUPL) のデュアルライセンス
nスロバキアにある Evolveum 社のメンバーが中⼼となって2011年より開発
n元々はForgeRock社と協⼒してOpenIDM 1系として開発されていたが、ForgeRock社が突
然の⽅針転換により2系をスクラッチ開発したため、midPointという別プロジェクトを開始
midPoint とは
CEO/共同設⽴者の Igor アーキテクト/共同設⽴者の Radovan コア開発者の Katarina
6. 5Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
n両者を組み合わせることで、IAMの広範囲をOSSでカバーすることが可能に
n特にEIAM (従業員のIAM) 分野では、IDM・IGA の要素が必要なことが多い
Keycloak単体では⾜りないところをmidPointで補完が可能
Keycloak
App
App Directory Server
Directory Server
App
HRmidPoint
SaaS
AM
(アクセス管理)
IDM (ID管理) / IGA
7. 6Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
n データモデル、ワークフロー、管理画⾯、各種コネクタなど、ID管理に必要な機能が標準で組み込まれており、すべて
インストール直後から利⽤可能 (Out-of-the-boxなプロダクト)
n midPointの思想から⼤きく外れた要件がなければ、
カスタマイズ開発なしで多くのユースケースをカバーすることが可能
(導⼊コストの抑制、⾼い保守性を確保)
n 各種コネクタにおいては、CSV、LDAP、Active Directory、
RDB、Office 365 などのメジャーなIDプロビジョニング先
に対応
n Gartner社の 「アイデンティティ(ID)/アクセス管理に
おけるOSS利⽤の選択肢︓2017年版」にて、
IGA機能に関して⾼評価
完成度の⾼いID管理プロダクト
出所︓https://www.slideshare.net/Evolveum/evolveum-midpoint-deployment-example
8. 7Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
nEU-FOSSA (Free and Open Source Software Auditing) による⽀援を受けている
nEU-FOSSA とは、EU Commission (欧州委員会) にて⽴ち上げられたFree/OSSを⽀援するプ
ロジェクト
nEU機関内で多数のFree/OSSに依存している中、2014年のOpenSSLのHeartbleed脆弱性
問題を契機に設⽴された
nEU内で重要と位置付けられているFree/OSSの改善を⽀援しており、midPointもその⼀つ
l バグバウンティグコンテストを開催
l Hackathonの開催
EUによる強⼒なバックアップ
9. 8Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
n Education
l University of Western Ontario
l University of Illinois
l Colorado State University
l その他多数
n Government
l EU Commission
l Turkey
l Slovenia
l Estonia
n Insurance
l Union
l WWK
n Banking
l First United Bank & Trust
l B&N Bank
midPoint は様々な分野・ワールドワイドで広く使われている
出所︓https://evolveum.com/partners/find-a-partner/
10. 9Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
n基本的なモデルとして下記の4つのオブジェクトタイプを⽤意
l UserType
• いわゆるユーザーを管理するためのモデル
l RoleType
• ビジネスロールやシステムロールなど、役割を定義するグループモデル
l OrgType
• 組織に特化したグループモデルで、プロジェクトや会社・本部・部署・課といったものを管理するためのモデル
• RoleTypeと異なり、階層構造で管理が可能
l ServiceType
• モバイルデバイス、プリンタ、サーバー・仮想マシン、IoT機器といった物を管理するためのモデル
• ロールの⼀種として働く
標準で4つのデータモデルを提供
11. 10Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
階層型組織・プロジェクト組織の両⽅に対応可能
データモデル
n複数の組織グループを定義可能 (会社とプロジェクトなど)
nユーザーは複数の組織に所属可能であり、またその関係性に属性をもたせられる
出所︓https://wiki.evolveum.com/display/midPoint/Organizational+Structure
12. 11Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
nmidPoint ではロール・組織・サービスをアサインすることで様々な制御を⾏う
l 連携先へのプロビジョニング可否 (ロールベース・プロビジョニング)
l midPoint の API に対する認可制御
l midPoint の GUI 表⽰制御
l ポリシーによる制御
• 属性更新やアサインなどをトリガーにしてあるアクションを実⾏するというルールを定義できる
• アクションの種類
• 処理を中断してエラー
• ワークフローの開始
• ID棚卸の開始
• カスタムスクリプト処理の実⾏
• etc.
nロール・組織・サービスを⾃動的にアサインする仕組みも提供
アサインを中⼼とした制御
13. 12Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
n基本的にはルールベースでアサインすべきだが、⾃動化できない例外ケースに対してはワークフロー
によるアサイン制御が必要
nmidPoint では申請者が⾃分でロール要求を⾏うための UI を標準で提供
セルフサービスによるアクセス要求・承認ワークフロー
14. 13Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
nユーザーのアクセス権限が組織のポリシーに従っているかどうか、定期的またはアドホックに管理者
にユーザーのアクセス権限のチェックを要求すること
nmidPoint では Access Certification(または Campaign)と呼ばれる
n承認ワークフローと似ているが、棚卸に特化した機能として提供されている
ID棚卸機能
申請
承認
反映
ワークフロー
ピックアップ
取消
反映
ID棚卸し
15. 14Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
動作イメージ
ID棚卸機能
n棚卸対象のアカウントが⾃動的にピックアップされ、レビュアーである管理者に確認依頼がアサイ
ンされる
n管理者はロールの付与を継続(Accept)、取消(Revoke)などを判断
n棚卸期間完了後、結果が⾃動反映される
17. 16Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
プロジェクト概要
Keycloak & midPoint 活⽤事例
n開発管理統合サービス 「aslead」 のNRI向け環境の IAM に Keycloak & midPoint を適⽤
naslead とは?
l チャットツール、タスクの管理、ナレッジの共有など、業務に必要な機能をオールインワンで提供するNRIのパッ
ケージサービス
l ⽶国のMattermost社のチャットツールであるMattemostのほか、オーストラリアのAtlassian社が提供するタスク
管理のJiraと、ドキュメントやナレッジを共有するConfluenceの3つをベースにしている
18. 17Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
プロジェクト概要
Keycloak & midPoint 活⽤事例
n aslead 環境はテナントごとに構築
n 認証は各プロダクト毎にローカル認証 (SSOなし)
n ID管理はExcelによる申請書ベース
l ID登録、アクセス権付与 etc.
n 利⽤ユーザーは社員・派遣社員・ビジネスパートナー
n NRIオフィス内のネットワークからのみアクセス可
AWS Cloud
Jira, Confluence etc.
NRI corporate
Tenant
19. 18Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
プロジェクト概要
Keycloak & midPoint 活⽤事例
n aslead 環境はテナントごとに構築
n 認証は各プロダクト毎にローカル認証 (SSOなし)
n ID管理はExcelによる申請書ベース
l ID登録、アクセス権付与 etc.
n 利⽤ユーザーは社員・派遣社員・ビジネスパートナー
n NRIオフィス内のネットワークからのみアクセス可
AWS Cloud
Jira, Confluence etc.
NRI corporate
Tenant
n テナント横断サービスを共通サービス化 (Mattermost,
認証⽤LDAPなど)
n SSOによるセキュリティ・利便性向上
n ID管理を⾃動化・ガバナンス強化
n 利⽤ユーザーは社員・派遣社員・ビジネスパートナーだ
けでなく、社外のビジネスパートナー・顧客も対象に
n インターネットからのアクセスも可能に
20. 19Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
システム構成
Shared Services
AWS Cloud
Azure
NRI Data center
ECS Cluster
keycloak
keycloak-
gatekeeper
midPoint
Active Directory / ADFS
Azure AD
Jira, Confluence etc.
NRI corporate
Internet
Tenant
IDM
LDAP
Source Importing
Employee
Employee
Business
Partner
Customer
Business
Partner
HR
Mattermost, etc.
SaaS
Box
・・・
ID Provisioning
CSV
21. 20Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
システム構成
Shared Services
AWS Cloud
Azure
NRI Data center
ECS Cluster
keycloak
keycloak-
gatekeeper
midPoint
Active Directory / ADFS
Azure AD
Jira, Confluence etc.
NRI corporate
Internet
Tenant
IDM
LDAP
Source Importing
Employee
Employee
Business
Partner
Customer
Business
Partner
HR
Mattermost, etc.
SaaS
Box
・・・
ID Provisioning
CSV
構築範囲
22. 21Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
SSO連携先システム・サービス
システム構成
n midPoint (OpenID Connect)
n Mattermost (SAML)
n JIRA (SAML)
n Confluence (SAML)
n GitLab (SAML)
n NextCloud (SAML)
n Box (SAML)
n Grafana (OpenID Connect)
n AWSマネジメントコンソール (SAML)
n Amazon AppStream2 (SAML)
n aws-cli (SAML + OpenID Connect)
n 社内システム (OpenID Connect)
n ・・・ (拡⼤中)
ロールカタログから使いたいサービス
に対してアクセス要求を出す
アクセス権がないとSSO時にエラー
23. 22Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
Keycloak & midPoint インテグレーションのポイント
Keycloak & midPoint 活⽤事例
n オーバーラップしている機能をどちらに寄せるか考える必要あり
l たとえば以下の機能など
• 画⾯からの新規ユーザー登録作業
• セルフパスワードリセット
• プロフィール編集
• 初回ログイン時のパスワード強制
l Keycloakに寄せる場合、SPIを拡張してmidPoint との連携が必要になるケースも
n 認証DB
l LDAPにすると作り物が少なくて済む
• Keycloak は標準でLDAPをユーザーデータストアとして利⽤可能 (UserFederation)
• midPoint も標準でLDAPにユーザー情報をプロビジョニング可能
• aslead としてはMattermost、JIRA、ConfluenceなどのアプリケーションがLDAPに対応しているのでLDAPの⽅が都合が良いという⾯も
l LDAP以外を利⽤する場合は、UserFederationのカスタム開発やmidPointコネクターの開発が必要に
n SSO時のアクセスコントロールは作り込みが必要
l Keycloak的にはAuthorization Serviceがあるが、アプリケーション側で認可制御が必要となる
l Keycloak SPI拡張による実装⽅法は⾊々考えられるが、aslead ではカスタム Protocol Mapper/カスタム Protocol で実装
l ちょうど keycloak-dev にて議論中: https://groups.google.com/forum/#!topic/keycloak-dev/44CPivh6jFY
25. 24Copyright(C) Nomura Research Institute, Ltd. All rights reserved.
nmidPointは、ワールドワイドで採⽤されているOSS IGAプラットフォーム
nGartner社による⾼評価、EU機関での採⽤を受けてここ数年で利⽤拡⼤中
n他の OSS ID管理プロダクトにはないユニークな機能を搭載
n特にEIAM(従業員のIAM)分野で、Keycloak単体では不⾜する部分を埋めることが可能
まとめ