21 アプリケーション・オンボードの管理
Oracle Identity Self Serviceのアプリケーション・オンボード機能は、アプリケーション、テンプレート、アプリケーションのフラット・ファイル構成およびアプリケーションのインスタンスの作成と管理、ジョブの管理、アプリケーションのアップグレード、ならびにアプリケーションのクローニングに使用します。
この章の構成は、次のとおりです。
ノート:
このリリースでは、Design Consoleが非推奨になりました。次のいずれかの操作には、Identity Self Serviceの新しい「アプリケーション」ページを使用します。
-
ICFベースのコネクタ・インストール・パッケージで使用する必要のあるアプリケーション・テンプレートベースのインストール・プロセス。
-
テンプレートベースの12cコネクタのインストール。
-
テンプレートベース・アプリケーション用のITリソース・インスタンスの管理。
21.1 アプリケーション・オンボードについて
この項では、次の概念について説明します。
21.1.1 アプリケーション・オンボートとは
アプリケーション・オンボードとは、Oracle Identity Governanceにアプリケーションを登録または関連付けするプロセスで、これにより、Oracle Identity Governanceでアプリケーションのユーザー情報をプロビジョニングまたはリコンサイルできるようになります。
Oracle Identity Governanceには、Identity Self Serviceの「管理」タブにある「アプリケーション」を使用して簡単にアプリケーションをオンボードする方法が用意されています。単一のコンソールからアプリケーションのオンボードに必要な構成をすべて実行できます。
この簡易型ソリューションには次のメリットがあります。
-
新しいアプリケーションや既存のアプリケーションの構成に、単一のユーザー・インタフェースであるIdentity Self Serviceを使用できます。
-
アプリケーション・テンプレートとして構成をエクスポートできます。アプリケーションは、Oracle Identity Governanceのかわりにエクスポートしたテンプレートを使用して構成できます。
21.1.2 アプリケーション・オンボードの概念
アプリケーション・オンボードに関連する主な概念には、アプリケーション認可、アプリケーションのタイプ、アプリケーション・テンプレート、非接続型コネクタ・アプリケーション、インスタンスの作成、アプリケーションのクローニング、プロビジョニング属性とリコンシリエーション属性の検証と変換、アプリケーション・テンプレートの要素などがあります。
アプリケーションのオンボードに関連する概念について、次の各項で説明します。
21.1.2.1 アプリケーション認可
次の認可が与えられているユーザーは、Identity Self Serviceの「アプリケーション」オプションにアクセスできます。
-
Application Instance Administrator管理ロールまたはSystem Administrator管理ロールが与えられたユーザーは、「アプリケーション」オプションを使用してアプリケーションを管理できます。
-
Application Instance Administrator管理ロールが与えられたユーザーは、ユーザーのホーム組織および管理ロールの制御範囲内にある組織で公開されたアプリケーションのライフサイクル全体を管理できます。
21.1.2.2 アプリケーション・タイプ
次の2つのタイプのアプリケーションを作成できます。
-
ターゲット・アプリケーション: ターゲット・アプリケーションでは、アクセス・リクエスト・カタログ経由でアカウントをプロビジョニングするためのユーザー・リクエストが可能になります。ターゲット・アプリケーションは、接続型または非接続型のどちらかになります。非接続型アプリケーションは、手動でプロビジョニングする必要があります。
-
認可アプリケーション: 認可アプリケーションの場合、Oracle Identity Governanceはアカウントを管理して、各種リコンシリエーション・ジョブ間でアカウントをユーザーとして表します。認可アプリケーションは、アクセス・リクエスト・カタログ経由でリクエストできません。そのため、Oracle Identity Governanceはデータを取得し、アプリケーションをユーザーとして表し、その後で、リクエストまたはアクセス・ポリシーによって各種ターゲット・アプリケーションを許可します。たとえば、HR部門によって完全に管理されるHRMSアプリケーションなどが挙げられます。HRMSアプリケーションには、ユーザー・アカウントの作成が伴われます。Oracle Identity GovernanceはHRMSアプリケーションからデータを取得して、そのデータをユーザー・アカウントとして表します。こうしたユーザー・アカウントは、リクエストと承認によって各種ターゲット・アプリケーションに対して許可されます。
Identity Self Serviceのアプリケーション・オンボード機能を使用すると、2つの方法でアプリケーションを作成できます。
-
コネクタ・パッケージから: Oracle Identity Governanceには、デフォルト・テンプレートで事前定義されたコネクタが用意されており、これには、ターゲット・システム固有の詳細(プロビジョニングとリコンシリエーションのマッピング、リコンシリエーション・アクション、リコンシリエーション一致ルールなど)のすべてが含まれています。
ノート:
「アイデンティティ・システム管理」インタフェースの「プロビジョニング構成」タブにある「コネクタの管理」オプションを使用すると、デフォルト・テンプレートが使用できない事前定義済のコネクタをインストールできます。
-
アプリケーション・テンプレートの使用: システムに保存されたアプリケーション・テンプレートが存在している場合は、そのテンプレートを使用して新しいアプリケーションを作成できます。
21.1.2.3 アプリケーション・テンプレート
アプリケーション・テンプレートとは、アプリケーション・インスタンスに関連する構成のすべてをXMLで表したものです。ターゲット・システムへのプロビジョニングとターゲット・システムからのリコンシリエーションに必要な情報がすべて含まれています。さらに、パブリケーション情報や接続詳細などの詳細とターゲット・システム固有の詳細構成なども含まれています。アプリケーション構成はテンプレートとして保存して、その後のアプリケーションの作成に使用できます。アプリケーション・テンプレートはフォルダ内に配置する必要があります。
アプリケーション・テンプレートは次の方法で作成できます:
-
「アプリケーションの作成」ページの「テンプレートとして保存」オプションをクリックし、テンプレートを作成します。「アプリケーションの作成」を参照してください。
-
アプリケーション・テンプレート生成ジョブ・スケジュール済タスクを実行して、テンプレートを生成します。ジョブへのパラメータとして、このテンプレートの保存先フォルダを渡します。これは、アップグレードの前後にコネクタ・インストーラを使用して作成されたアプリケーションに役立つことがあります。デフォルトでは、こうしたアプリケーションに対するテンプレートは作成されません。
このスケジュール済タスクの詳細は、『Oracle Identity Governanceの管理』の事前定義済のスケジュール済タスクに関する項を参照してください。
-
「デプロイメント・マネージャ」の「インポート」オプションを使用して、テンプレートをインポートします。「デプロイメント・マネージャ」を使用したエンティティのインポートの詳細は、『Oracle Identity Governanceの管理』のデプロイメントのインポートに関する項を参照してください。
-
サンプル・テンプレートを使用して、手動でテンプレートを作成します。
ノート:
-
認可アプリケーションの場合、
ApplicationInstanceService.addApplicationInstance(ApplicationInstance appInst)
APIを使用してアプリケーション・インスタンスを作成し、アプリケーション・テンプレート生成ジョブを実行してテンプレートを生成します。このAPIの詳細は、Oracle Identity Governance Java APIリファレンスを参照してください。 -
「アプリケーションの作成」オプションで作成したアプリケーションには、参照に存在するすべての値に関連するスキーマ属性が含まれています。こうしたスキーマ属性には、以前に導出された属性(
_NAME_
など)の属性が含まれています。このような属性は、新しいUIフォームの作成時に削除する必要があります。これらの属性を削除するには、サンドボックスを使用してフォームをカスタマイズします。サンドボックスを使用したフォームのカスタマイズの詳細は、『Oracle Identity Governanceの管理』のフォームのマッピングに関する項を参照してください。
21.1.2.4 非接続型アプリケーション
非接続型リソースとは、コネクタが存在しないターゲットのことです。そのため、こうしたリソースは手動でプロビジョニングする必要があります。非接続型リソース用のアプリケーションは、Identity Self Serviceの「アプリケーション」ページから作成できます。
非接続型リソースと非接続型アプリケーション・インスタンスの詳細は、『Oracle Identity Governanceの管理』の非接続型リソースの管理に関する項を参照してください。
21.1.2.5 インスタンス作成
ベース・アプリケーションの構成を共有していても接続オプションが異なるアプリケーションのインスタンスを作成できます。
次に示す構成は、ベース・アプリケーションとインスタンス・アプリケーションの間で共有されます。
-
拡張構成
-
スキーマ構成
-
プロビジョニング構成
-
リコンシリエーション構成
インスタンス・アプリケーションには、次の項目について独自の属性と構成があります。
-
アプリケーション名
-
アプリケーション表示名
-
アプリケーションの説明
-
基本構成
-
カタログ属性
-
組織のパブリケーション
ノート:
ベース・アプリケーションと共有される構成は、「アプリケーション」ページからアプリケーションを編集して変更することはできません。
21.1.2.7 プロビジョニング属性とリコンシリエーション属性の検証と変換
Identity Self Serviceからアプリケーションを作成すると、プロビジョニング属性を適用、検証および変換してから、その属性をターゲット・システムに渡すことができます。Identity Self Serviceのアプリケーション・オンボード機能により、Groovyスクリプト・ベースの検証と変換のロジックを作成できます。こうしたスクリプトを組み込む方法の詳細は、「ターゲット・アプリケーションの作成」または「許可アプリケーションの作成」を参照してください。
Oracle Identity GovernanceからOracle Databaseターゲット上のアカウントを管理するとします。この状況には、次の要件があります。
-
アカウントのフィールドは「ユーザーID」、「組織」、「名」および「姓」です。
-
「ユーザーID」フィールドはNullにできません。
-
ユーザーIDの末尾は@example.comにする必要があります。たとえば、ユーザーIDがtestの場合、そのIDはリクエスト時にターゲット上でtest@example.comに変換されている必要があります。
-
ユーザーが組織の詳細を指定していない場合は、デフォルト値を「Server Technology」に設定する必要があります。
これらの要件を満たすために、アプリケーションの作成時に次の検証スクリプトと変換スクリプトを作成できます。
検証Groovyスクリプト:
def errors = "";
if(User_Id == null || User_Id ==""){
errors = errors+" User Id cannot be null";
}
return errors;
変換Groovyスクリプト:
if(Organization == null || Organization == "")
{
Organization = "Server Technology";
}
User_Id = User_Id.toString()+"@example.com";
リソース除外に対応する検証Groovyスクリプト:
検証スクリプトでは、リコンシリエーション操作とプロビジョニング操作から除外する必要のあるアカウントに対応するユーザーIDのリストを指定できます。次に示すのは、これを行うためのサンプル・スクリプトです:
def errors = "";
def excludedUsers = ['user01','user02'];
def regexStr = /^[a-zA-Z0-9_]+/;
if(!User_Id.matches(regexStr)) errors = errors+" Invalid UserId";
if(excludedUsers.contains(User_Id)) errors = errors+" User Id lies in excluded list";
return errors;
その他のサンプル・スクリプトと属性の変換の詳細は、「Groovyスクリプトのカスタマイズについて」を参照してください。
21.1.2.8 アプリケーション・テンプレートXMLの重要な要素
次に、アプリケーション・テンプレートXMLファイルの重要な要素と構造の一部を示します。
-
applicationName
: アプリケーション名。一意である必要があり、200文字を超えることはできません。 -
applicationDisplayName
: アプリケーションの表示名。 -
connectorDisplayName
: コネクタの表示名は、コネクタ・バンドルの検索に使用され、ユーザーに対しては読取り専用フィールドになります。値は、コネクタ・バンドルのデフォルト・テンプレートに含まれています。 -
connectorVersion
: コネクタ・バージョンは、コネクタ・バンドルの検索に使用され、ユーザーに対しては読取り専用フィールドになります。値は、コネクタ・バンドルのデフォルト・テンプレートに含まれています。 -
basicConfigurations
: ターゲット・システムの接続詳細(ホストとポートなど)。パラメータのリストは、ターゲットごとに異なります。 -
advanceConfigurations
: ターゲット固有の構成。ターゲット・システムのプロビジョニングまたはリコンシリエーションの実行中にバンドルによって使用されます。パラメータのリストは、ターゲットごとに異なります。 -
objectClass
: それぞれのテンプレートには、プロビジョニングまたはリコンシリエーションされるターゲット・システム上のオブジェクトを表すオブジェクト・クラスが少なくとも1つあります。-
provisioningConfig
: プロビジョニング関連の構成。-
validationScript
: プロビジョニング前にターゲット・システムで実行されるGroovy検証スクリプト。 -
transformationScript
: データのプロビジョニング前に実行されるGroovy変換スクリプト。 -
capabilities
: ターゲット・システムのバンドルでサポートされている操作のリスト。
-
-
reconConfig
: リコンシリエーション関連の構成。-
reconJobDetails
: Oracle Identity Governanceにデータをリコンサイルするジョブのリスト。 -
identityCorrelationRule
: 所有者一致のルール。このルールは、ターゲット属性とOracle Identity Governanceユーザー属性の間で定義されます。 -
situationResponses
: 状況とそれに対応するレスポンスのリスト。たとえば、認可アプリケーションの場合、一致が見つからない状況では、レスポンスは「ユーザーの作成」になります。ターゲット・アプリケーションの場合、一致が見つからない状況では、レスポンスが「リンクの確立」になります。
-
validationScript
: Oracle Identity Governanceにデータをリコンサイルする前に実行されるGroovy検証スクリプト。 -
transformationScript
: Oracle Identity Governanceにデータをリコンサイルする前に実行されるGroovy変換スクリプト。
-
-
form
:objectClass
ごとに1つの親フォームを指定します。-
schemaAttributes
:objectClass
のスキーマ構成。各スキーマ属性には、次の属性があります。-
name
: ターゲット・システムでの属性名。 -
dataType
: 属性のデータ型。たとえば、Stringなど。 -
displayName
: Oracle Identity Governanceの属性名。 -
length
: 属性に保存可能なデータの長さ。この属性がテンプレートで指定されていない場合は、デフォルトの長さで構成されます。ただし、この属性はインタフェースでは公開されません。ノート:
アプリケーションの作成時に、この属性に任意の値を指定できます。ただし、アプリケーションの更新時には、新しい長さを既存の長さ以上にする必要があります。 -
identityAttribute
: ユーザー属性の名前。この名前を変更すると、それに対応するアカウント属性がターゲット・システムで強制的に更新されます。ノート:
schemaAttributes
のリストには、ユーザー・パスワードが含まれていません。この機能を追加する場合は、「設定」タブでプロビジョニングのオプションから機能を選択します。 -
keyField
: リコンシリエーション・アカウント一致ルールを定義します。 -
keyFieldCaseInsensitive
: リコンシリエーション・アカウント一致ルールが大/小文字を区別するかどうかを定義します。 -
required
: 属性が必須かどうかを示します。 -
fieldType
: スキーマ属性のタイプを表示します。この属性はレガシー目的のためのもので、ユーザーには公開されていません。テンプレートでタイプが指定されていない場合は、この属性がデフォルトのタイプで構成されます。 -
entitlement
: スキーマ属性に権限としてのマークを付けます。このプロパティは、子スキーマ属性に継承されます。 -
reconcileable
: 属性がリコンサイル可能かどうかを示します。 -
provisionable
: 属性がプロビジョニング可能かどうかを示します。このプロパティは、親スキーマ属性から継承されます。 -
encrypted
: 属性が暗号化されるかどうかを示します。 -
advanceFlags
: 拡張フラグ(Lookup、Date、WriteBackなど)。-
Lookup
:Lookup
は、ターゲットに値を送信する前に属性値からチルダ文字(~)を削除する必要がある場合に使用します。 -
Date
:Date
はdatatype
属性がターゲット上の日付と一致する場合に使用します。 -
WriteBack
:WriteBack
はプロビジョニング前にターゲットから属性を移入する場合に使用します。
-
-
Account Discriminator
: アカウントの識別子としてスキーマ属性を設定します。アカウント識別子として複数のプロビジョニング可能フィールドを選択できます。アカウント識別子の詳細は、「アクセス・ポリシーで使用される用語」を参照してください。 -
listOfValues
: 属性の値をリストするLookup属性の名前。 -
defaultValue
: ターゲット・システムで使用可能な属性の値がないときに、リコンシリエーション時に使用される値。 -
provideOldValueOnUpdate
: この属性の古い値を更新時にターゲットに伝播する必要がある場合はtrueに設定します。 -
dependentAttribute
: この属性の更新時に、この属性の値がターゲット・アプリケーションに指定されます。
ノート:
provideOldValueOnUpdate
属性とdependentAttribute
属性は同時にはサポートされません。属性の更新時には、古い値または依存属性のどちらかをターゲットに渡します。 -
-
form
: 親フォームまたはルート・フォームの子フォームを指定します。複数値属性に対応します。-
Use Bulk
: このオプションは、子表に関連するすべての操作のために子表の値のバルク更新アダプタを構成する場合に選択します。一部のターゲットは、すべての操作(新しい子の追加、既存の子の更新、子の削除などを含む)に対して子の値のバルク更新のみをサポートしています。このようなターゲットには、子フォームごとに「バルクの使用」オプションを選択する必要があります。
-
-
-
-
catalogAttributes
: カタログ属性のリスト。-
Audit Objective
: Oracle Identity Analytics (OIA)証明に関連する値または説明を指定するテキスト・フィールド。 -
Risk Level
: エンティティのリスク・レベル。サポートされる値は、「低リスク」、「中リスク」および「高リスク」です。 -
User Defined Tags
: カタログ項目を説明する値。エンティティの検索に使用できます。 -
Approver User
: カタログ項目を承認できるユーザー。これは、カタログ項目に対するリクエストの処理中、またはアテステーション中に使用されます。 -
Approver Role
: カタログ項目を承認できるロール。 -
Certifier User
: カタログ項目を証明できるユーザー。 -
Certifier Role
: カタログ項目を証明できるロール。 -
Fulfillment User
: カタログ項目のリクエストを完了または履行できるユーザー。 -
Fulfillment Role
: カタログ項目に対するリクエストを完了または履行できるロール。 -
Certifiable
: カタログ項目が証明可能かどうかを指定します。
-
-
organizations
: アプリケーションの公開先となる組織のリスト。 -
parentApplicationName
: 現在のアプリケーションが依存しているアプリケーションの名前。たとえば、AD ExchangeアプリケーションがADアプリケーションに依存している場合は、parentApplicationName
にADアプリケーションを設定します。
21.2 アプリケーションの検索
「アプリケーション」ページでは、アプリケーション名、表示名、コネクタ名およびベース・アプリケーションに基づいてアプリケーションを検索できます。
21.3 アプリケーションの作成
「アプリケーションの作成」オプションを使用すると、ターゲット・アプリケーションまたは認可アプリケーションを作成できます。
アプリケーションの作成について、次の各項で説明します。
21.3.1 ターゲット・アプリケーションの作成
ターゲット・アプリケーションの作成には、基本情報の指定、スキーマ属性の更新、デフォルト属性の設定の確認と更新、アプリケーション情報の検証などのステップが含まれます。
アプリケーションの作成ウィザードに移動するには、「管理」タブで「アプリケーション」ボックスをクリックして「アプリケーション」ページを開きます。「アクション」メニューの「作成」をクリックして、「ターゲット」を選択します。または、ツールバーの「作成」をクリックし、「ターゲット」を選択してアプリケーションの作成ウィザードを開きます。
これ以降の後続の項でページごとに説明します。
21.3.1.2 ターゲット・アプリケーションのスキーマ情報の指定
「スキーマ」ページで、アカウントおよび権限のスキーマ属性を管理できます。スキーマの既存の属性を編集または削除できます。「スキーマ」ページで必要な作業をすべて完了したら、「次」をクリックして「設定」ページを開きます。
ノート:
コネクタがDatabase Application Tables (DBAT)コネクタの場合、自動検出機能を使用してターゲット・スキーマをフェッチできます。「基本情報」ページの「テスト接続」オプションが成功した場合は、「スキーマ」ページの「検出」をクリックしてターゲット・スキーマをフェッチします。アプリケーションの編集でこの機能を使用している場合、現在の構成がオーバーライドされるので、このページで属性マッピングを再度実行する必要があります。属性と子フォームの追加について、次の各項で説明します。
21.3.1.2.2 子フォームの追加
- 「子フォームの追加」をクリックします。「子フォームの追加」ウィンドウが表示されます。
- フォーム名を入力して、「OK」をクリックします。新しい子フォームが作成されます。
- 属性の詳細を入力します。これは、「属性の追加」に示した属性の詳細と同様です。
- アプリケーション属性の詳細の「表示名」、「ターゲット属性」および「データ型」を指定します。
- プロビジョニング・プロパティの「必須」を指定します。
- リコンシリエーション・プロパティの「リコンシリエーション・フィールド」、「キー・フィールド」および「大/小文字を区別しない」を指定します。
- 別のプロパティを属性に追加するには、アイコンをクリックします。「拡張設定」ウィンドウが表示されます。拡張設定の「参照」、「日付」、ライトバックおよび「権限」(この属性に権限としてのマークを付ける必要がある場合に選択)を指定します。
- 子の値のバルク更新のみをサポートするターゲットの場合は、「バルクの使用」オプションを選択します。
- 「フォームの削除」をクリックして、子フォームを削除します。
21.3.1.3 ターゲット・アプリケーションの設定情報の指定
「設定」ページでは、プロビジョニング、リコンシリエーション、カタログおよび組織のパブリケーションに関連するデフォルト設定の確認とカスタマイズを実行できます。「設定」ページで必要になるすべての操作を完了してから、「次」をクリックして「終了」ページに移動します。
「プレビュー設定」タブを展開して、次の操作を実行します。
21.3.1.3.2 リコンシリエーション構成の更新
「リコンシリエーション」タブでは、必要な事前定義済の一致ルール、状況とレスポンスおよびリコンシリエーション・ジョブを確認またはカスタマイズできます。
次の手順を実行して、リコンシリエーション構成を更新します。
21.3.1.3.2.1 アイデンティティ相関ルールの更新
21.3.1.3.2.2 状況とレスポンスの更新
- 新しい状況とレスポンスを追加するには、「追加」をクリックします。
- 「状況」リストから、「一致が見つからない」や「1つのエンティティの一致が見つかった」などの状況を選択します。
- 考えられるレスポンスのリストから、状況に適したレスポンスを選択します。次のオプションを参照してください:
- ユーザーの作成
- リンクの確立
- なし
- 最小ロードの管理者への割当て
- 最小ロードの認可者への割当て
- 高優先度の認可者への割当て
21.3.1.3.2.3 検証および変換スクリプトの更新
ノート:
-
コネクタ・インストーラで作成したアプリケーション用のスクリプトは追加や管理ができません。ただし、Design Consoleが提供するJavaベースの変換と検証は引き続き機能します。
-
Groovyスクリプト内のプロビジョニング属性値は、スキーマ・セクションで定義されている表示名でアクセスできます。そのためには、表示名に含まれる空白をアンダースコア文字(_)に置き換えます。
21.3.1.3.3 組織の構成の更新
- 「追加」をクリックして、「組織の追加」ウィンドウを開きます。
- 組織を検索します。検索結果表から必要な組織を選択して、「選択」をクリックします。
- このアプリケーションを組織とその子組織に公開する場合は、「階層対応」を選択します。
21.3.1.3.4 カタログの構成の更新
「カタログ」タブでは、各種の構成関連カタログ・メタデータを設定できます。
更新可能な属性は次のとおりです。
-
カテゴリ: アプリケーションのカテゴリを入力します。
-
ユーザー定義タグ: この属性のユーザー定義タグを入力します。
-
監査目的: 監査の目的を入力します。
-
監査可能: アプリケーションが監査可能な場合は「はい」を選択します。それ以外の場合は「いいえ」を選択します。
-
リクエスト可能: アプリケーションがリクエスト可能な場合は「はい」を選択します。それ以外の場合は、「いいえ」を選択します。「リクエスト可能」を「はい」に設定すると、次のフィールドが有効になります。
-
履行ロール: 「検索」アイコンをクリックし、履行ロールを検索して選択します。
-
承認者ユーザー: 「検索」アイコンをクリックし、ユーザーを検索して選択します。
-
承認者ロール: 「検索」アイコンをクリックし、承認者ロールを検索して選択します。
-
履行ユーザー: 「検索」アイコンをクリックし、履行ユーザーを検索して選択します。
-
-
証明可能: 属性が証明可能な場合は「はい」を選択します。それ以外の場合は、「いいえ」を選択します。「証明可能」を「はい」に設定すると、次のフィールドが有効になります:
-
証明者ユーザー: 「検索」アイコンをクリックし、証明者ユーザーを検索して選択します。
-
証明者ロール: 「検索」アイコンをクリックし、証明者ロールを検索して選択します。
-
-
リスク・レベル: リスク・レベルとして、「高リスク」、「中リスク」または「低リスク」を選択します。
21.3.1.4 ターゲット・アプリケーションの詳細の検証
「終了」ページでは、アプリケーションの作成に使用される詳細を確認します。なんらかの変更が必要な場合は、「戻る」をクリックして必要な変更を加えます。詳細に問題がない場合は、「終了」をクリックしてアプリケーションを作成します。
デフォルトのリクエスト・フォームを作成するかどうかの確認を求められたら、「はい」または「いいえ」をクリックします。
デフォルトのリクエスト・フォームの作成を選択すると、アプリケーションと同じ名前でデフォルト・フォームが作成されます。デフォルト・フォームは、後から変更できません。そのため、カスタマイズする場合は新規作成する必要があります。新しいデフォルト・フォームを確認するには、Oracle Identity Self Serviceに再ログインする必要があります。ただし、別のユーザーは作成直後にデフォルト・フォームを確認できます。
アプリケーションの作成後にサンドボックス関連の変更を実行する場合は、現在のOracle Identity Self Serviceセッションからログアウトして再ログインする必要があります。
21.3.2 認可アプリケーションの作成
認可アプリケーションの作成には、基本情報の指定、スキーマ属性の更新、デフォルト属性の設定の確認と更新、アプリケーション情報の検証などのステップが含まれます。
アプリケーションの作成ウィザードに移動するには、「管理」タブで「アプリケーション」ボックスをクリックして「アプリケーション」ページを開きます。「アクション」メニューから、「作成」をクリックして「管理」を選択します。または、ツールバーの「作成」をクリックし、「管理」を選択してアプリケーションの作成ウィザードを開きます。
これ以降の後続の項でページごとに説明します。
21.3.2.2 認可アプリケーションのスキーマ情報の指定
ノート:
コネクタがDBATコネクタの場合、自動検出機能を使用できます。「基本情報」ページの「テスト接続」オプションが成功した場合は、「スキーマ」ページの「検出」をクリックしてターゲット・スキーマをフェッチします。アプリケーションの編集でこの機能を使用している場合、現在の構成がオーバーライドされるので、このページで属性マッピングを再度実行する必要があります。21.3.2.3 認可アプリケーションの設定情報の指定
「設定」ページでは、リコンシリエーションおよび組織のパブリケーションに関連するデフォルト設定の確認とカスタマイズを実行できます。「設定」ページで必要になるすべての操作を完了してから、「次」をクリックして「終了」ページに移動します。
21.3.2.3.1 リコンシリエーション構成の更新
「リコンシリエーション」タブでは、必要な事前定義済の一致ルール、状況とレスポンスおよびリコンシリエーション・ジョブを確認またはカスタマイズできます。
次の手順を実行して、リコンシリエーション構成を更新します。
21.3.2.3.1.1 アイデンティティ相関ルールの更新
21.3.2.3.1.2 状況とレスポンスの更新
- 新しい状況とレスポンスを追加するには、「追加」をクリックします。
- 「状況」リストから、「一致が見つからない」や「1つのエンティティの一致が見つかった」などの状況を選択します。
- 考えられるレスポンスのリストから、状況に適したレスポンスを選択します。次のオプションを参照してください:
- ユーザーの作成
- リンクの確立
- なし
- 最小ロードの管理者への割当て
- 最小ロードの認可者への割当て
- 高優先度の認可者への割当て
21.3.2.3.1.3 検証および変換スクリプトの更新
ノート:
-
コネクタ・インストーラで作成したアプリケーション用のスクリプトは追加や管理ができません。ただし、Design Consoleが提供するJavaベースの変換と検証は引き続き機能します。
-
Groovyスクリプト内のプロビジョニング属性値は、スキーマ・セクションで定義されている表示名でアクセスできます。そのためには、表示名に含まれる空白をアンダースコア文字(_)に置き換えます。
21.4 テンプレートの作成
「アプリケーションの作成」オプションを使用すると、ターゲット・テンプレートまたは認可テンプレートを作成して、将来の使用のためにデータベースに保存できます。
テンプレートの作成について、次の各項で説明します。
21.4.2 ターゲット・テンプレートの作成
- ターゲット・アプリケーションの作成ウィザードの「終了」ページが表示されるまで、「ターゲット・アプリケーションの作成」で説明したすべてのステップを実行します。
- 「終了」ページで次の操作を実行します。
- 「テンプレートとして保存」をクリックして、テンプレートを作成します。「テンプレートとして保存」ウィンドウが表示されます。
- 「テンプレート名」と「説明」を入力して、「OK」をクリックします。
21.5 アプリケーションの変更
コネクタ・インストール・ウィザードを使用して作成したアプリケーションや、「アプリケーションの作成」オプションを使用して作成したアプリケーションは編集できます。
次の各項では、アプリケーションの編集方法について説明します。
21.5.1 コネクタ・インストール・ウィザードを使用して作成したアプリケーションの編集
コネクタ・インストール・ウィザードを使用して認可アプリケーションが作成されると、デフォルトのアプリケーション・インスタンスは作成されません。そのため、Identity Self Serviceの「アプリケーション」ページではアプリケーションを編集できません。コネクタ・インストール・ウィザードを使用して作成した認可アプリケーションを編集するには、次に示すステップを実行します。
-
このアプリケーションのインスタンスを作成するために、
ApplicationInstanceService.addApplicationInstance(ApplicationInstance appInst)
APIを作成します。このAPIの詳細は、Oracle Identity Governance Java APIリファレンスを参照してください。 -
アプリケーション・インスタンスの作成後、アプリケーションのテンプレートを作成するアプリケーション・テンプレート生成ジョブ・スケジュール済タスクを実行します。
ノート:
コネクタ・インストーラで作成したアプリケーション用のスクリプトは追加や管理ができません。ただし、Design Consoleが提供するJavaベースの変換と検証はそのまま機能します。
21.6 アプリケーションのクローニング
アプリケーションをクローニングすると、クローニングされたアプリケーションにベース・アプリケーションの構成がすべてコピーされます。
21.7 インスタンス・アプリケーションの作成
ベース・アプリケーションと同じ構成のアプリケーション・インスタンスを作成できます。
ノート:
インスタンスとベース・アプリケーションの間で共有される構成は次のとおりです。
-
拡張構成
-
スキーマ構成
-
プロビジョニング構成
-
リコンシリエーション構成
21.8 バルクでのアプリケーションの作成
ベース・アプリケーションとインスタンス・アプリケーションは、「アプリケーションのバルク作成」スケジュール済タスクを使用するとバルクでロードできます。
このスケジュール済タスクの詳細は、『Oracle Identity Governanceの管理』の事前定義済のスケジュール済タスクに関する項を参照してください。
テンプレートは次のように処理されます。
-
ベース・アプリケーション名が含まれていないテンプレートが最初に処理され、新しいアプリケーションが同期的に作成されます。
-
ベース・アプリケーション名が含まれているテンプレートが、インスタンス・アプリケーションの作成に使用されます。こうしたテンプレートは、非同期的に処理されます。
テンプレートの詳細と作成方法は、「アプリケーション・テンプレート」を参照してください。
ノート:
「アプリケーションのバルク作成」スケジュール済タスクのジョブ実行を使用してアプリケーションを作成するときには、「アイデンティティ・システム管理」からサンドボックスを使用してUIフォームを作成します。21.9 フラット・ファイルの構成
接続しているアプリケーションには、CSVファイルからデータをロードしてフラット・ファイルを構成できます。
フラット・ファイルの構成には、基本情報の指定、接続しているシステムに対するCSVファイルからのデータのロード、ソースからのスキーマの自動検出、事前定義ジョブ・モードのリコンシリエーション・ジョブの更新などが含まれます。
コネクタ・アプリケーション用のフラット・ファイル構成を作成するには、Identity Self Serviceにログインし、「管理」タブに移動し、「アプリケーション」ボックスをクリックして「アプリケーション」ページを開きます。「検索」オプションを使用してアプリケーションを検索するか、「検索」アイコンをクリックしてすべてのコネクタ・アプリケーションをリストします。フラット・ファイル構成を作成するアプリケーションを選択します。
「アクション」メニューから「フラット・ファイル」→「構成」を選択します。または、ツールバーにある「フラット・ファイル」をクリックして「構成」を選択し、フラット・ファイルを使用したアプリケーション構成ページを開きます。
これ以降の後続の項でページごとに説明します。
21.9.2 フラット・ファイルの設定情報の指定
「設定」タブの「ユーザー」パネルで、「プレビュー設定」をクリックします。「リコンシリエーション・ジョブ」セクションでは、リコンシリエーション・ジョブの確認と必要に応じた更新または新しいジョブの追加を実行できます。
次のリコンシリエーション・ジョブ・モードがサポートされています:
-
フラット・ファイル・フル: ターゲット・システムから既存のすべてのユーザー・レコードをOracle Identity Governanceにリコンサイルする場合に使用します。
-
フラット・ファイルの差分の同期: 差分ベースのリコンシリエーションを実行する場合に使用します。
-
フラット・ファイルの削除の同期: 指定された「属性の削除」および「属性の削除」の値に基づいて実行される削除リコンシリエーションを実行する場合に使用します。
-
フラット・ファイルの削除: 削除されたレコードのリコンシリエーションに使用します。
-
フラット・ファイルの権限: 参照フィールドの同期に使用します。
ジョブを追加するには:
21.10 フラット・ファイル構成の管理
アプリケーションに対して作成されたフラット・ファイル構成を編集したり、フラット・ファイル構成のジョブを管理したりできます。
21.12 コネクタ・アプリケーションのアップグレード
「アップグレード」オプションを使用して、アプリケーション・オンボードを介して作成されたアプリケーションおよびアプリケーション・インスタンスをアップグレードしたり、アップグレード・プロセスのステータスを表示できます。
この項の内容は次のとおりです。
21.12.1 アプリケーションのアップグレードについて
アプリケーション・オンボードを介して作成されたアプリケーションをアップグレードできます。
アップグレードを開始する前に、コネクタのデフォルト・ディレクトリ(MW_HOME/idm/server/ConnectorDefaultDirectory/
)で古いコネクタ・パッケージを新しいコネクタ・パッケージに置き換えます。アップグレード・プロセス中に、マスター・テンプレート(コネクタ・パッケージに付属するデフォルトのテンプレート)とコネクタのデフォルト・ディレクトリにあるテンプレートとのバージョン比較に基づいて、使用可能なアップグレード・ファイルがリストされます。
アップグレード・プロセスでは、古いテンプレートと新しいテンプレートの差分がリストされます。これにより、基本構成、拡張構成、スキーマ属性、子フォーム、リコンシリエーション・ジョブおよび機能で、アップグレード後のパラメータまたは属性を受け入れるか拒否できます。
ノート:
-
Pre-config.xml
ファイルの差分は、ここには表示されません。 -
「アプリケーションの作成」ページの「テンプレートとして保存」オプションを使用して作成されたテンプレートは、この「アップグレード」オプションを使用してアップグレードできません。
21.12.2 アプリケーションのアップグレード
「アプリケーション」ページの「アップグレード」オプションを使用すると、アプリケーション・オンボードを介して作成されたアプリケーションをアップグレードできます。
ノート:
-
アップグレード中にアプリケーション・スキーマに変更があった場合は、UIフォームを手動で変更する必要があります。フォームの変更の詳細は、『Oracle Identity Governanceの管理』のフォームの変更に関する項を参照してください。
-
アップグレード後、アプリケーションを編集して、各アプリケーションの変換および検証スクリプトを手動で変更する必要があります。「アプリケーションの変更」を参照してください。
21.13 アプリケーションの削除
Oracle Identity Self Serviceからアプリケーションを削除することはできません。
アプリケーションの作成プロセスが失敗したときなど、状況によっては、部分的にコミットされたアプリケーションがシステムに含まれることがあります。部分的にコミットされたアプリケーションをシステムから削除するには、コネクタのアンインストール・ユーティリティを実行します。詳細は、『Oracle Identity Governanceの管理』のコネクタのアンインストールに関する項を参照してください。
21.14 Groovyスクリプトのカスタマイズについて
Oracle Identity GovernanceのGroovy Helperには、リコンシリエーションやプロビジョニングの操作時にデータを変換および検証するオプションが用意されています。
次のオプションを使用できます。
-
プロビジョニング・メカニズム情報:
context.provisionMechanism
メソッドを呼び出して、Groovy Helperから次のプロビジョニング・メカニズム情報を取得します。-
REQUEST
-
ADMIN
-
POLICY
これらの値では、大文字と小文字が区別されます。
-
-
操作情報:
context.operationType
メソッドを呼び出して、Groovy Helperから次の操作のタイプを取得します。-
create
-
modify
これらの値では、大文字と小文字が区別されます。
-
-
共通データ・コンテナ情報: 次のものがあります:
-
リクエスタ情報:
context.requester
メソッドを呼び出して、Groovy Helperからのリクエスタ情報(プロビジョニング・リクエストを開始したユーザーに関する情報)を識別します。ユーザー属性が取得できるユーザー・オブジェクトが返されます。たとえば、context.requester.getAttribute("User Login")
はリクエスタのユーザーIDを返します。 -
リクエスタのマネージャ情報:
context.requesterManager
メソッドを呼び出して、Groovy Helperからリクエスタのマネージャ情報(プロビジョニング・リクエストを開始したユーザーのマネージャに関する情報)を識別します。ユーザー属性が取得できるユーザー・オブジェクトが返されます。たとえば、context.requesterManager.getAttribute("User Login")
はリクエスタのマネージャのユーザーIDを返します。 -
受益者情報:
context.beneficiary
メソッドを呼び出して、Groovy Helperから受益者情報(プロビジョニング・リクエストが開始されたユーザーの情報)を識別します。ユーザー属性が取得できるユーザー・オブジェクトが返されます。たとえば、context.beneficiary.getAttribute("User Login")
は受益者のユーザーIDを返します。 -
受益者のマネージャ情報:
context.beneficiaryManager
メソッドを呼び出して、Groovy Helperから受益者のマネージャ情報(プロビジョニング・リクエストが開始されたユーザーのマネージャ)を識別します。ユーザー属性が取得できるユーザー・オブジェクトが返されます。たとえば、context.beneficiaryManager.getAttribute("User Login")
は受益者のマネージャのユーザーIDを返します。 -
受益者のパスワード情報:
context.beneficiaryPassword
メソッドを呼び出してGroovy Helperから受益者のパスワードを識別します。ノート:
ユーザー属性にアクセスする方法の詳細は、ユーザー管理APIを参照してください。
-
Groovy Helperのメソッドは次のようにして使用できます。
-
導出属性: 複数の別の属性に依存する属性を形成できます。たとえば、氏名の属性は名、ミドル・ネーム、姓の属性の組合せになります。
User_Id = context.beneficiary.getAttribute("User Login"); First_Name = context.beneficiary.getAttribute("First Name"); Last_Name = context.beneficiary.getAttribute("Last Name"); Middle_Name = context.beneficiary.getAttribute("Middle Name"); Full_Name = First_Name + ". " + Middle_Name + ". " + Last_Name;
-
デフォルト値の属性: デフォルト値が設定されている必要のある属性を形成できます。たとえば、ユーザーが組織詳細を指定していない場合、デフォルト値がServer Technologyに設定されます。
If (Organization == null || Organization == "") { Organization = "Server Technology"; }
-
変換済の属性: 値が変換される属性を形成できます。たとえば、
@example.com
がユーザーID属性に付加されます。User_Id = User_Id.toString()+"@example.com";
次に示すサンプル・スクリプトでは、REQUEST、POLICY、ADMINなどのプロビジョニングのタイプと、作成や変更などの実行される操作のタイプに基づいて、データが変換されます。すべての変数値は初期化され、プロビジョニングおよびリコンシリエーションの操作で使用できます。ただし、スクリプト自体で定義および宣言されているresultList
を除きます。
def resultList;
if (binding.variables.containsKey("context"))
{
if(context.operationType.equals("create"))
{
if(context.provisionMechanism.equals("POLICY"))
{
User_Id = context.beneficiary.getAttribute("User Login");
First_Name = context.beneficiary.getAttribute("First Name");
Last_Name = context.beneficiary.getAttribute("Last Name");
Middle_Name = context.beneficiary.getAttribute("Middle Name");
Full_Name = First_Name + ". " + Middle_Name + ". " + Last_Name;
Common_Name = Full_Name;
Password = context.beneficiaryPassword;
}
else if(context.provisionMechanism.equals("REQUEST") || context.provisionMechanism.equals("ADMIN"))
{
Full_Name = First_Name + ". " + Middle_Name + ". " + Last_Name;
Common_Name = Full_Name;
}
if(Organization_Name != null && Organization_Name.indexOf("~") != -1)
{
resultList = Organization_Name.tokenize("~");
User_Full_DN = "CN=" + Common_Name + "," + resultList[1];
}
}
else if(context.operationType.equals("modify"))
{
Full_Name = First_Name + ". " + Middle_Name + ". " + Last_Name;
Common_Name = Full_Name;
if(Organization_Name != null && Organization_Name.indexOf("~") != -1)
{
resultList = Organization_Name.tokenize("~");
User_Full_DN = "CN=" + Common_Name + "," + resultList[1];
}
}
}
次に示すサンプルの検証Groovyスクリプトは、ユーザーIDが指定されていないときにエラー・メッセージを表示します。
def effors = "";
if(User_Id == null || User_Id =="")
{
errors = errors+" User Id cannot be null";
}
return errors;
この検証スクリプトでは、リコンシリエーションおよびプロビジョニングの操作から除外するアカウントのリストを指定できます。ユーザーIDが除外リストで指定されているアカウントは、リコンシリエーションおよびプロビジョニングの操作による影響を受けません。
次に、サンプルのリソース除外に対応する検証Groovyスクリプトを示します。
def errors = "";
def excludedUsers = ['user01','user02'];
def regexStr = /^[a-zA-Z0-9_]$/;
if(!User_Id.matches(regexStr)) errors = errors+" Invalid UserId";
if(excludedUsers.contains(User_Id)) errors = errors+" User Id lies in excluded list";
return errors;
アクション・スクリプトは、ユーザー・パスワードの作成、更新、有効化、無効化、変更の操作およびプロビジョニング削除の操作の前後に実行するように構成されます。たとえば、ユーザーの作成前に実行するようにスクリプトを構成できます。
次に示すアクション・スクリプトは、所定の名前でターゲット・システムにテキスト・ファイルを作成します。このスクリプトは、Active Directoryコネクタ用に構成できます。
echo create >> C:\%givenName%.txt
21.15 アプリケーション・オンボードのトラブルシューティング
アプリケーションのオンボードを実行しているときに発生する問題は、認可に関連していることや、テンプレートの作成にかかわる問題を反映していることがあります。
この項では、アプリケーションのオンボード時の問題を解決するためのトラブルシューティング手順について説明します。
問題
デフォルト組織以外の組織に属しているユーザーがアプリケーションを作成できません。
解決方法
そのユーザーに適切な管理ロールが設定されていることを確認してください。ApplicationInstanceAdministrator
管理ロールが付与されているユーザーのみが、Identity Self Serviceの「アプリケーション」ページで次のアクションを実行できます:
-
管理ロールの制御の範囲で定義された組織内でのアプリケーションの作成、変更、削除または検索。
-
親組織内でのアプリケーションの作成、変更、削除または検索。
管理者ロールの詳細は、「管理ロールの管理」を参照してください。
問題
アプリケーション・テンプレート生成ジョブ・スケジュール済ジョブを実行して、アプリケーションのアップグレード前または後にコネクタ・インストーラによって作成されたアプリケーションのテンプレートを生成できます。
解決方法
Lookup.AOB.Certified.Bundles
には、テンプレートが生成されるアプリケーションのバンドルに対応するエントリが必要です。Lookup.AOB.Certified.Bundles
は、次の入力で更新する必要があります。
-
キー: 詳細構成情報が含まれているバンドルの名前。
-
値: コネクタの表示名。
CONNECTOR_NAME-CI.xml
ファイルが構成フォルダに存在している必要があります。コネクタ表示名とコネクタ・バージョンは、生成されたテンプレートで設定されます。特定のバンドル名に対して一意のコネクタ表示名を識別できない場合は、参照内の値が
Unidentified
に設定され、テンプレートの生成時にコネクタ表示名とコネクタ・バージョンが設定されなくなります。適切なコネクタ表示名とバージョンは、アプリケーション管理者の責任で設定します。
ノート:
この参照には、認証済のバンドルのみが含まれます。
問題
プロビジョニングされたアカウントのリソース履歴に、フィールドの更新に関する追加のプロセス・タスクが示されます。
解決方法
これは予期された動作です。プロセス・タスクは、WritebackフィールドとSoDフィールドを除くすべてのスキーマ属性のフィールドに対して作成されます。これに該当するプロセス・タスクは、フィールドの単一更新に関するものです。変換スクリプトの一環として導出属性とその値が更新される場合などに、プロセス・タスクがトリガーされることがあります。この場合、プロビジョニングされたアカウントのリソース履歴に、導出属性に対する追加のプロセス・タスクが表示されることがあります。
問題
パッケージoracle.iam.application
ではアプリケーション・オンボードのロギングが有効化されていますが、フロー全体のログは使用できません。
解決方法
アプリケーション・オンボードは、既存のプロビジョニング、リコンシリエーション、スケジューラおよびカタログのエンジンに依存します。アプリケーション・オンボードのロギングを有効にするには、基盤のエンジンをすべて有効にする必要があります。
問題
Identity Self Serviceの「アプリケーション」ページで作成したアプリケーションをDesign Consoleから管理しようとすると、予期しない動作が現れます。
解決方法
Identity Self Serviceの「アプリケーション」ページで作成したアプリケーションは、Design Consoleからは管理できません。