midPointを使った「エンタイトルメント」管理による権限制御の自動化の基本midPointで学ぶIDガバナンス&管理(IGA)の基礎(4)

「IDガバナンス&管理」(IGA)についてOSS「midPoint」を利用したハンズオンで学ぶ連載。今回は、「エンタイトルメント」管理による権限制御の自動化の基本を解説します。

» 2023年03月07日 05時00分 公開
[高井真人株式会社日立製作所]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 オープンソースソフトウェア(OSS)でありながら「IDガバナンス&管理」(Identity Governance and Administration:IGA)機能を備えた「midPoint」を使って、ハンズオン的にIGAについて学ぶ本連載『midPointで学ぶ「IDガバナンス&管理」(IGA)の基礎』。第3回では、さまざまなIDリソースとの連携を設定し、手動でIDをプロビジョニングすることで各システムへのアクセス権限を付与しました。

 今回はIDライフサイクルにおける人事異動のユースケースを取り扱い、ロールを利用したプロビジョニングによって人事異動に伴うアクセス権限変更を自動化します。

エンタイトルメントとは

 「エンタイトルメント」とは役割や組織に伴う資格情報を示します。具体的にはリソースに対するアクセス権限やIDリソース側で管理されるロールやグループとして表現します。

 ハンズオンで考えるExample社には全社認証基盤(LDAP)および全社研修システム(CSV)と開発ツール(PostgreSQL)が存在します。このとき、Example社の全社員が共通ロールを介して認証基盤と研修システムにプロビジョニングされ、各システムへのアクセス権限が与えられます。

 一方で、開発ツールは開発部の社員だけが利用できるので、運用部の社員は開発ツールのPostgreSQLにプロビジョニングされません。開発部の社員のみがアサインされる開発ロールによってプロビジョニングされます。また、開発ツールではアクセスレベルの情報を持ち、こちらもmidPointのロールを介してプロビジョニングされたユーザーの権限を管理しています。

 このように、今回はロールを利用し、各システムに自動的にプロビジョニングすることでエンタイトルメントを管理します。

エンタイトルメント管理

Example社におけるロールの構成例

 第3回では各システムに手動でプロビジョニングしましたが、今回はロールを利用してユーザーが各システムに自動的にプロビジョニングされるように設定します。本連載のシナリオに沿って設計したロール構成を図示します。

ロール構成

 今回の例では3つのロールを作成します。組織にひも付く「全社共通アプリケーション」ロールと「開発アプリケーション」ロール、およびユーザーにひも付く「開発マネージャー」ロールです。

 全社共通アプリケーションロールは認証基盤と研修システムのリソースと関連付けられており、ユーザーをLDAPおよびCSVにプロビジョニングします。また、ユーザーが所属する組織情報からLDAPのアカウントとグループをひも付けます。開発アプリケーションロールは開発ツールのリソースと関連付けられており、開発者権限のアクセスレベルでPostgreSQLにプロビジョニングします。加えて、開発マネージャーロールは開発ツールにおけるアクセスレベルを管理者権限に設定します。

 全社共通アプリケーションロールは全ての組織とひも付けられており、開発アプリケーションロールは開発部/課にひも付けられます。開発マネージャーロールは開発部/課の係長、課長、部長の役職を持つユーザーにひも付けられます。

 なお、今回は簡単にするために全ての組織(部および課)に関連するリソースのロールを関連付けていますが、上位組織(部)にのみロールをひも付けて、ロールによるプロビジョニングの効果を下位の組織(課)に波及させる方法もあります。一例として「orderConstraints」によって下位組織に「inducement」を適用する方法があります。現時点でGUIの設定がサポートされていませんが、パフォーマンスオーバーヘッドが小さく効率が良い方法です(参考)。

ロールによるエンタイトルメント管理のハンズオン

前回アサインしたリソースの削除

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。