Identity Cloud Serviceのユーザー管理 - パート1 (2021/07/29)
Identity Cloud Serviceのユーザー管理 - パート1 (2021/07/29)
https://blogs.oracle.com/cloudsecurity/post/managing-users-in-identity-cloud-service-pt1
投稿者:Paul Toal
Oracle Identity Cloud Service (IDCS)の話題でよく聞かれるのが、ユーザー管理、より具体的にはIDCSでユーザーを管理するにはどのようなオプションがあるのかということです。IDCSが他の対象システムのアイデンティティをどのように管理できるかという意味ではありません。IDCSが他の対象システムのアイデンティティをどのように管理するかということではなく、IDCSのサービス自体でアイデンティティをどのように管理するかということです。そのため、すべてのオプションを1つにまとめるべきだと考え、この記事を作成しました。この記事では、IDCSにアイデンティティを導入するためのさまざまな方法を検討します。
ここでは、手動プロセスではなく、自動化された方法に焦点を当てます。もちろん、IDCSにはWebベースの管理コンソールがあり、ユーザの追加、編集、有効化、無効化などのユーザ管理タスクを実行できます。
これは少数の変更には適していますが、何千人ものユーザーを追加するために使用することはないでしょう。同様に、IDCSは、ユーザーが自分のプロファイルを作成できる自己登録などのセルフサービス機能も提供しています。
繰り返しになりますが、これは消費者向けのユースケースでは非常に便利ですが、一般的には、従業員が自分で登録することは望んでいません。特に、すでに複数の場所で従業員のアイデンティティを管理している場合はなおさらです。
では、どのような選択肢があるのでしょうか。自動化されたユーザ管理を実現するためには、以下の図のように6つの異なる方法があります。
それぞれの選択肢を見てみましょう。
Active Directory(AD)ブリッジ
最初のオプションは、IDCS ADブリッジを使用してADからユーザーとグループを同期させることです。これは、既存のADメンバー・サーバーまたはドメイン・コントローラーにインストールするサービスです。ブリッジはLDAPSをADサーバーに話し、それをIDCSへのアウトバウンドHTTPS RESTコールに変換します。ここで重要なのは、データの流れです。ブリッジからの通信はアウトバウンドのみです。ブリッジへのインバウンドポートを開く必要はありません。設定により、どのユーザーやグループのセットを同期させるか、また同期のスケジュールを完全にコントロールすることができます。
ブリッジは、ADのパスワードをIDCSに同期しないことに注意することが重要です。ADのユーザー名とパスワードを使ってIDCSにユーザーを認証する必要がある場合(そしてフェデレーションが利用できない場合)は、委任認証を使用することができます。
LDAP
IDCSのアプリケーションカタログには、一般的なソースやターゲットとの統合を促進するための多くのアプリケーション・テンプレートが用意されています。テンプレートの中には、Oracle Unified Directory (OUD)とOracle Internet Directory (OID)用のものがあり、これらのLDAP v3準拠のディレクトリからのユーザーの権威ある同期をサポートします。これは、IDCSプロビジョニング・ブリッジを使用することで実現します。IDCSプロビジョニング・ブリッジは、ADブリッジと同様に、LDAPを介してディレクトリと通信し、変更をIDCSへのアウトバウンドHTTPS RESTコールに変換します。
ただし、ADブリッジとは異なり、LDAPアプリケーション・テンプレートにはフィルタリング・オプションがありません。LDAPサービスアカウントが表示する権限を持つすべてのユーザーとグループがIDCSに同期されます。
アプリケーションカタログ
アプリケーションカタログには、OUDおよびOIDテンプレートに加えて、HCM(Human Capital Management)などの一般的なアプリケーション用の設定済みアプリケーションテンプレートが多数含まれています。テンプレートを使用してシングル・サインオン(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
すべての組織が、ユーザーを管理するための自動化された方法を持っているわけではありません。カンマ区切り値(CSV)は、あるシステムからID情報を抽出して別のシステムに提供するための、比較的一般的なアプローチです。IDCSは、管理コンソールを介して、またはAPIを介してプログラム的にCSVファイルを消費することができます。これには、ユーザ、グループ、およびグループ・メンバーシップ情報が含まれます。
JIT
連携認証を使用する場合、ジャストインタイム(JIT)プロビジョニングを使用することができます。通常、ID プロバイダ (IdP) が発行する認証トークンには、通常、ユーザ識別子のみが含まれています。しかし、JIT を使用する場合、トークンには、認証されたユーザに必要なすべての属性(グループ・メンバーシップを含む)が含まれるように構成されます。そしてIDCSは、これらの属性に基づいてそのユーザのIDレコードを作成します。
一致するユーザが既に存在する場合は、属性が変更された場合にユーザ・レコードを更新することができます。
上記の各オプションには異なる考慮事項があり、それを以下の表にまとめました。
このトピックでは、もう1つの一般的なユースケースとして、Oracle Fusion SaaSからユーザーを同期させる方法がありますが、これについては別の記事で紹介しますので、こちらをご覧ください。
ご覧のように、IDCSのユーザー管理を自動化するには多くの選択肢があります。
管理を効率化し、運用コストを削減することができます。
IDCSについてさらに詳しく知りたい方は、こちらのドキュメントをご覧ください。
コメント
コメントを投稿