※本記事は、Paul Toal による “Managing Users in Identity Cloud Service – Part 1” を翻訳したものです。


2021年 7月 29日

 

Oracle Identity Cloud Service(IDCS)について質問を受けることの多いトピックの1つがユーザー管理であり、具体的に言えば「IDCSでユーザーを管理するにはどのようなオプションがあるか」というものです。「IDCSが他のターゲット・システム内でどのようにIDを管理するか」という意味ではありません。「IDCSのサービスそれ自体の中で、どのようにIDを管理できるか」ということです。そこで私は、すべてのオプションを1か所にまとめて提示すべき頃合いだと思い、こちらで紹介することにしました。本記事では、IDCS内へのIDのオンボーディングに関するさまざまな方法について詳しく見ていきます。

ここでは、手動プロセスではなく自動化された手法に焦点を当てます。もちろん、IDCSには、ユーザーの追加、編集、有効化/無効化などのユーザー管理タスクを実行できるWebベースの管理コンソールが存在します。

このコンソールは変更を少し行うのに適していますが、数千ユーザーを追加するために利用しようとはまず思わないでしょう。同様に、IDCSは、自動登録などのセルフサービス機能も提供しており、ユーザーが自分のプロファイルを作成できるようになっています。

この機能も個人ユーザー向けのユースケースでは非常に便利なのですが、一般には従業員に自動登録させたくないものです。すでに1か所以上で従業員IDを管理している場合は特にそうでしょう。
では、どのようなオプションがあるでしょうか。ユーザー管理を自動化するための方法は6つあります。それらについて以下の図にまとめます。

では、それぞれのオプションについて見ていきましょう。

 

Active Directory (AD) ブリッジ

1つ目のオプションは、IDCS ADブリッジを使用して、ユーザーとグループをADから同期するというものです。ADブリッジは既存のADメンバー・サーバーまたはドメイン・コントローラにインストールして使用するサービスです。このブリッジがLDAPSでADサーバーと通信し、それをIDCSへのアウトバウンドのHTTPS RESTコールに変換します。ここではデータの流れが重要になります。ブリッジからの通信はアウトバウンドのみです。ブリッジへのインバウンド・ポートをオープンする必要はありません。また、設定を使用することで、同期対象のユーザー・セットやグループ・セット、および同期スケジュールを完全に制御できます。

なお、ADブリッジではADのパスワードがIDCSに同期されないことに注意してください。ADのユーザー名とパスワードでIDCSのユーザー認証を行う必要がある場合(かつ、フェデレーションが利用不可の場合)は、委任認証を使用できます。

 

LDAP

IDCSのアプリケーション・カタログには、よく利用されるソース・システムやターゲット・システムと迅速に連携できるように、多数のアプリケーション・テンプレートが付属しています。その中に、Oracle Unified DirectoryおよびOracle Internet Directory用のテンプレートがあります。これらは、LDAP v3準拠ディレクトリからのユーザーの権限付き同期をサポートしています。この同期の実行にはIDCSのプロビジョニング・ブリッジが使用されます。このブリッジはADブリッジと同様に、LDAP(またはLDAPS)経由でディレクトリと通信して、変更内容をIDCSへのアウトバウンドのHTTPS RESTコールに変換します。

ただし、ADブリッジとは異なり、LDAPアプリケーション・テンプレートにはフィルタ・オプションがありません。LDAPサービス・アカウントが閲覧権限を持っているユーザーとグループが、すべてIDCSに同期されます。

 

アプリケーション・カタログ

Oracle Unified DirectoryとOracle Internet Directoryのテンプレートに加えて、アプリケーション・カタログにも、人材管理(HCM)などのよく利用されるアプリケーションに対応した事前構成済みアプリケーション・テンプレートが多数含まれています。テンプレートを使用することでシングル・サインオン(SSO)が容易になるだけでなく、多くのテンプレートでプロビジョニングと同期もサポートされています。一部のテンプレートでは権限付き同期もサポートされており、その場合はソース・システムがIDCSに入力されるIDデータのマスターとなります。

すべてのアプリケーション・テンプレートでプロビジョニング・ブリッジを使用する必要はありません。使用する必要があるかどうかは、ターゲットのアプリケーションまたはサービス、そのインストール先、および使用可能なユーザー管理インタフェースによります。アプリケーション・カタログの完全版には、カスタム連携が必要な場合に使用できる汎用テンプレート(スクリプトやSCIMテンプレートなど)もあります。

 

API/SDK

IDCSには、System for Cross-domain Identity Management(SCIM)プロトコルをベースとした非常に豊富なREST APIが存在します。また、.NET、Android、iOS、Java、Node.js、Python版のSDKも提供されています。そのため、REST APIのコールまたはSDKの使用が可能なすべてのクライアントで、IDCSのユーザーをプログラム的に管理できます。APIは個別操作と一括操作の両方に対応しています。

REST APIを使い始める方のために、Postmanコレクションがチュートリアルとともに提供されています。

 

CSV

ユーザー管理の自動化の手段を持たない組織もあるでしょう。あるシステムのID情報を抽出して別のシステムに渡すための手段として、カンマ区切り値(CSV)もいまだによく使用されます。IDCSでは、管理コンソール経由か、プログラムからAPI経由でCSVファイルを取り込むことができます。その情報には、ユーザー、グループ、グループ・メンバーシップ情報が含まれます。

 

JIT

フェデレーテッド認証を使用する場合は、Just-In-Time(JIT)プロビジョニングを使用できます。通常、アイデンティティ・プロバイダ(IdP)によって認証トークンが発行される場合、このトークンにはユーザー識別子のみが含まれています。一方、JITを使用する場合は、このトークンは認証済みユーザーに関する必要なすべての属性(グループ・メンバーシップを含む)を格納できるように構成されます。その後、IDCSによって、それらの属性に基づいてそのユーザー用のIDレコードが作成されます。

一致するユーザーがすでに存在する場合は、変更されている属性があれば、そのユーザー・レコードを更新できます。

これまでに説明したオプションには、それぞれ違った考慮事項があります。それらについて以下の表にまとめています。

さて、このトピックについては、一般的なユースケースがもう1つあります。Oracle Fusion SaaSからユーザーを同期できるというものですが、これについては次の記事で取り上げたいと思います。ぜひお見逃しなく。
これまで見てきたように、IDCSのユーザー管理の自動化には多くのオプションがあり、それを使用すれば管理の効率化と運用コストの削減が可能です。IDCSについて詳しく知りたい場合は、こちらからドキュメントをお探しください。このサイトでは上記の一部のオプションについて構成を進めるための、幅広いチュートリアルもご利用いただけます。

Paul Toal
OCI Security Specialist Senior Director

Paulはセキュリティに20年以上携わり、現在はEMEA OCI Center of Excellenceセキュリティ部門のリーダーを務めています。Oracle Cloudの普及に取り組みながら、エンジニアリング・チームと緊密に連携して、お客様からのフィードバックを伝達し、新しいサービスの創出にも貢献しています。取締役からアーキテクトや開発者までの組織内のあらゆる階層で、リスク削減とデジタル・トランスフォーメーションの両方を目指したセキュリティの利用方法について説明し、実践しています。最近では、ソリューションのリード・セキュリティ・アーキテクトとして複数の大規模デジタル・トランスフォーメーション・プログラムに関わりました。

英国政府のアイデンティティ保証仕様(Gov.UK Verify)の原本著者の1人であり、この分野のイノベーションとソート・リーダーシップを常に先導しています。