Oracle® Fusion Middleware Oracle Identity Governanceでのセルフ・サービス・タスクの実行 12c (12.2.1.3.0) E91982-03 |
|
![]() 前 |
![]() 次 |
Oracle Identity Self Serviceのアプリケーション・オンボード機能は、アプリケーション、テンプレート、アプリケーションのインスタンスの作成と管理およびアプリケーションのクローニングに使用します。
この章の構成は、次のとおりです。
注意:
このリリースでは、Design Consoleが非推奨になりました。次のいずれかの操作には、Identity Self Serviceの新しい「アプリケーション」ページを使用します。
ICFベースのコネクタ・インストール・パッケージで使用する必要のあるアプリケーション・テンプレートベースのインストール・プロセス。
テンプレートベースの12cコネクタのインストール。
テンプレートベース・アプリケーション用のITリソース・インスタンスの管理。
この項では、次の概念について説明します。
アプリケーション・オンボードとは、Oracle Identity Managerにアプリケーションを登録または関連付けするプロセスです。これにより、Oracle Identity Managerでアプリケーションのユーザー情報をプロビジョニングまたはリコンサイルできるようになります。
Oracle Identity Managerには、Identity Self Serviceの「管理」タブにある「アプリケーション」を使用して簡単にアプリケーションをオンボードする方法が用意されています。単一のコンソールからアプリケーションのオンボードに必要な構成をすべて実行できます。
この簡易型ソリューションには次のメリットがあります。
新しいアプリケーションや既存のアプリケーションの構成に、単一のユーザー・インタフェースであるIdentity Self Serviceを使用できます。
アプリケーション・テンプレートとして構成をエクスポートできます。アプリケーションは、Oracle Identity Managerのかわりにエクスポートしたテンプレートを使用して構成できます。
アプリケーション・オンボードに関連する主な概念には、アプリケーション認可、アプリケーションのタイプ、アプリケーション・テンプレート、非接続型コネクタ・アプリケーション、インスタンスの作成、アプリケーションのクローニング、プロビジョニング属性とリコンシリエーション属性の検証と変換、アプリケーション・テンプレートの要素などがあります。
アプリケーションのオンボードに関連する概念について、次の各項で説明します。
次の認可が与えられているユーザーは、Identity Self Serviceの「アプリケーション」オプションにアクセスできます。
Application Instance Administrator管理ロールまたはSystem Administrator管理ロールが与えられたユーザーは、「アプリケーション」オプションを使用してアプリケーションを管理できます。
Application Instance Administrator管理ロールが与えられたユーザーは、ユーザーのホーム組織および管理ロールの制御範囲内にある組織で公開されたアプリケーションのライフサイクル全体を管理できます。
次の2つのタイプのアプリケーションを作成できます。
ターゲット・アプリケーション: ターゲット・アプリケーションでは、アクセス・リクエスト・カタログ経由でアカウントをプロビジョニングするためのユーザー・リクエストが可能になります。ターゲット・アプリケーションは、接続型または非接続型のどちらかになります。非接続型アプリケーションは、手動でプロビジョニングする必要があります。
認可アプリケーション: 認可アプリケーションの場合、Oracle Identity Managerはアカウントを管理して、各種リコンシリエーション・ジョブ間でアカウントをユーザーとして表します。許可アプリケーションは、アクセス・リクエスト・カタログ経由でリクエストすることはできません。そのため、Oracle Identity Managerはデータを取得し、アプリケーションをユーザーとして表します。その後で、リクエストまたはアクセス・ポリシーによって異なるターゲット・アプリケーションを許可します。たとえば、HR部門によって完全に管理されるHRMSアプリケーションなどが挙げられます。HRMSアプリケーションには、ユーザー・アカウントの作成が伴われます。Oracle Identity ManagerはHRMSアプリケーションからデータを取得して、そのデータをユーザー・アカウントとして表します。こうしたユーザー・アカウントは、リクエストと承認によって各種ターゲット・アプリケーションに対して許可されます。
Identity Self Serviceのアプリケーション・オンボード機能を使用すると、2つの方法でアプリケーションを作成できます。
コネクタ・パッケージから: Oracle Identity Managerには、デフォルト・テンプレートで事前定義されたコネクタが用意されています。これには、ターゲット・システム固有の詳細(プロビジョニングとリコンシリエーションのマッピング、リコンシリエーション・アクション、リコンシリエーション一致ルールなど)のすべてが含まれています。
注意:
「アイデンティティ・システム管理」インタフェースの「プロビジョニング構成」タブにある「コネクタの管理」オプションを使用すると、デフォルト・テンプレートが使用できない事前定義済のコネクタをインストールできます。
アプリケーション・テンプレートの使用: システムに保存されたアプリケーション・テンプレートが存在している場合は、そのテンプレートを使用して新しいアプリケーションを作成できます。
アプリケーション・テンプレートとは、アプリケーション・インスタンスに関連する構成のすべてをXMLで表したものです。ターゲット・システムへのプロビジョニングとターゲット・システムからのリコンシリエーションに必要な情報がすべて含まれています。さらに、パブリケーション情報や接続詳細などの詳細とターゲット・システム固有の詳細構成なども含まれています。アプリケーション構成はテンプレートとして保存して、その後のアプリケーションの作成に使用できます。アプリケーション・テンプレートはフォルダ内に配置する必要があります。
テンプレートは次の方法で作成できます。
「アプリケーションの作成」ページの「テンプレートとして保存」オプションを使用して、テンプレートを作成します。「アプリケーションの作成」を参照してください。
アプリケーション・テンプレート生成ジョブを実行して、テンプレートを生成します。ジョブへのパラメータとして、このテンプレートの保存先フォルダを渡します。(これは、アップグレードの前後にコネクタ・インストーラを使用して作成されたアプリケーションに役立つことがあります。デフォルトでは、こうしたアプリケーションに対するテンプレートは作成されません)。
このスケジュール済タスクの詳細は、『Oracle Identity Governanceの管理』の事前定義済のスケジュール済タスクに関する項を参照してください。
「デプロイメント・マネージャ」の「インポート」オプションを使用して、テンプレートをインポートします。「デプロイメント・マネージャ」を使用したエンティティのインポートの詳細は、『Oracle Identity Governanceの管理』のデプロイメントのインポートに関する項を参照してください。
サンプル・テンプレートを使用して、手動でテンプレートを作成します。
注意:
認可アプリケーションの場合、ApplicationInstanceService.addApplicationInstance(ApplicationInstance appInst) APIを使用してアプリケーション・インスタンスを作成し、アプリケーション・テンプレート生成ジョブを使用してテンプレートを生成します。
「アプリケーションの作成」オプションで作成したアプリケーションには、参照に存在するすべての値に関連するスキーマ属性が含まれてます。こうしたスキーマ属性には、以前に導出された属性(_NAME_など)の属性が含まれています。このような属性は、新しいUIフォームの作成時に削除する必要があります。この属性を削除するには、サンドボックスを使用してフォームをカスタマイズします。
サンドボックスを使用したフォームのカスタマイズの詳細は、『Oracle Identity Governanceの管理』のフォームのマッピングに関する項を参照してください。
非接続型リソースとは、コネクタが存在しないターゲットのことです。そのため、こうしたリソースは手動でプロビジョニングする必要があります。非接続型リソース用のアプリケーションは、Identity Self Serviceの「アプリケーション」ページを使用して作成できます。
非接続型リソースと非接続型アプリケーション・インスタンスの詳細は、『Oracle Identity Governanceの管理』の非接続型リソースの管理に関する項を参照してください。
インスタンス作成では、ベース・アプリケーションの構成を共有していても接続オプションが異なるアプリケーションのインスタンスを作成できます。
次に示す構成は、ベース・アプリケーションとインスタンス・アプリケーションの間で共有されます。
拡張構成
スキーマ構成
プロビジョニング構成
リコンシリエーション構成
インスタンス・アプリケーションには、次の項目について独自の属性と構成があります。
アプリケーション名
アプリケーション表示名
アプリケーションの説明
基本構成
カタログ属性
組織のパブリケーション
注意:
ベース・アプリケーションと共有する構成は、アプリケーションの編集オプションを使用して変更することはできません。
アプリケーションの作成にIdentity Self Serviceを使用すると、プロビジョニング属性を適用、検証および変換してから、その属性をターゲット・システムに渡すことができます。Identity Self Serviceのアプリケーション・オンボード機能により、Groovyスクリプト・ベースの検証と変換のロジックを作成できます。こうしたスクリプトを組み込む方法の詳細は、「ターゲット・アプリケーションの作成」または「許可アプリケーションの作成」を参照してください。
Oracle Identity ManagerからOracleデータベース・ターゲット上のアカウントを管理するとします。この状況には、次の要件があります。
アカウントのフィールドは「ユーザーID」、「組織」、「名」および「姓」です。
「ユーザーID」フィールドはNullにできません。
ユーザーIDの末尾は@mydomain.comにする必要があります。たとえば、ユーザーIDがtestの場合、そのIDはリクエスト時にターゲット上でtest@mydomain.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()+"@mydomain.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スクリプトのカスタマイズについて」を参照してください。
次に、アプリケーション・テンプレートXMLファイルの重要な要素と構造の一部を示します。
applicationName
: アプリケーション名は一意にする必要があります。200文字以内に収める必要があります。
applicationDisplayName
: アプリケーションの表示名。
connectorDisplayName
: コネクタの表示名は、バンドルの検索に使用されます。ユーザーに対しては読取り専用フィールドになります。値は、コネクタ・バンドルのデフォルト・テンプレートに含まれています。
connectorVersion
: コネクタ・バージョンは、バンドルの検索に使用されます。ユーザーに対しては読取り専用フィールドになります。値は、コネクタ・バンドルのデフォルト・テンプレートに含まれています。
basicConfigurations
: ターゲット・システムの接続詳細(ホストとポートなど)。パラメータのリストは、ターゲットごとに異なります。
advanceConfigurations
: ターゲット固有の構成。ターゲット・システムのプロビジョニングまたはリコンシリエーションの実行中にバンドルによって使用されます。パラメータのリストは、ターゲットごとに異なります。
objectClass
: それぞれのテンプレートには、プロビジョニングまたはリコンシリエーションされるターゲット・システム上のオブジェクトを表すオブジェクト・クラスが少なくとも1つあります。
provisioningConfig
: プロビジョニング関連の構成。
validationScript
: プロビジョニング前にターゲット・システムで実行されるGroovy検証スクリプト。
transformationScript
: データのプロビジョニング前に実行されるGroovy変換スクリプト。
capabilities
: ターゲット・システムのバンドルでサポートされている操作のリスト。
reconConfig
: リコンシリエーション関連の構成。
reconJobDetails
: Oracle Identity Managerにデータをリコンサイルするジョブのリスト。
identityCorrelationRule
: 所有者一致のルール。このルールは、ターゲット属性とOracle Identity Managerユーザー属性の間で定義されます。
situationResponses
: 状況とそれに対応するレスポンスのリスト。たとえば、「一致が見つからない」という状況の場合、レスポンスは「ユーザーの作成」になります。
validationScript
: Oracle Identity Managerにデータをリコンサイルする前に実行されるGroovy検証スクリプト。
transformationScript
: Oracle Identity Managerにデータをリコンサイルする前に実行されるGroovy変換スクリプト。
form
: objectClass
ごとに1つの親フォームを指定します。
schemaAttributes
: objectClass
のスキーマ構成。各スキーマ属性には、次の属性があります。
name
: ターゲット・システムでの属性名。
dataType
: 属性のデータ型。たとえば、Stringなど。
displayName
: Oracle Identity Managerの属性名。
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
属性とdependentAttribut
属性は同時にはサポートされません。属性の更新時には、古い値または依存属性のどちらかをターゲットに渡します。
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アプリケーションを設定します。
「アプリケーション」ページでは、アプリケーション名、表示名、コネクタ名およびベース・アプリケーションに基づいてアプリケーションを検索できます。
「アプリケーションの作成」オプションを使用すると、ターゲット・アプリケーションまたは認可アプリケーションを作成できます。
アプリケーションの作成について、次の各項で説明します。
ターゲット・アプリケーションの作成には、基本情報の指定、スキーマ属性の更新、デフォルト属性の設定の確認と更新、アプリケーション情報の検証などの手順が含まれます。
アプリケーションの作成ウィザードに移動するには、「管理」タブで「アプリケーション」ボックスをクリックして「アプリケーション」ページを開きます。「アクション」メニューの「作成」をクリックして、「ターゲット」を選択します。または、ツールバーの「作成」をクリックし、「ターゲット」を選択してアプリケーションの作成ウィザードを開きます。
これ以降の後続の項でページごとに説明します。
「スキーマ」ページで、アカウントおよび権限のスキーマ属性を管理できます。スキーマの既存の属性を編集または削除できます。「スキーマ」ページで必要な作業をすべて完了したら、「次」をクリックして「設定」ページを開きます。
属性と子フォームの追加について、次の各項で説明します。
「設定」ページでは、プロビジョニング、リコンシリエーション、カタログおよび組織のパブリケーションに関連するデフォルト設定の確認とカスタマイズを実行できます。「設定」ページで必要になるすべての操作を完了してから、「次」をクリックして「終了」ページに移動します。
「プレビュー設定」タブを展開して、次の操作を実行します。
「リコンシリエーション」タブでは、必要な事前定義済の一致ルール、状況とレスポンスおよびリコンシリエーション・ジョブを確認またはカスタマイズできます。
次の手順を実行して、リコンシリエーション構成を更新します。
注意:
コネクタ・インストーラで作成したアプリケーション用のスクリプトは追加や管理ができません。ただし、Design Consoleが提供するJavaベースの変換と検証は引き続き機能します。
Groovyスクリプト内のプロビジョニング属性値は、スキーマ・セクションで定義されている表示名でアクセスできます。そのためには、表示名に含まれる空白をアンダースコア文字(_)に置き換えます。
「カタログ」タブでは、各種の構成関連カタログ・メタデータを設定できます。
更新可能な属性は次のとおりです。
カテゴリ: アプリケーションのカテゴリを入力します。
ユーザー定義タグ: この属性のユーザー定義タグを入力します。
監査目的: 監査の目的を入力します。
監査可能: アプリケーションが監査可能な場合は「はい」を選択します。それ以外の場合は「いいえ」を選択します。
リクエスト可能: アプリケーションがリクエスト可能な場合は「はい」を選択します。それ以外の場合は、「いいえ」を選択します。「リクエスト可能」を「はい」に設定すると、次のフィールドが有効になります。
履行ロール: 「検索」アイコンをクリックし、履行ロールを検索して選択します。
承認者ユーザー: 「検索」アイコンをクリックし、ユーザーを検索して選択します。
承認者ロール: 「検索」アイコンをクリックし、承認者ロールを検索して選択します。
履行ユーザー: 「検索」アイコンをクリックし、履行ユーザーを検索して選択します。
証明可能: 属性が証明可能な場合は「はい」を選択します。それ以外の場合は、「いいえ」を選択します。「証明可能」を「はい」に設定すると、次に示すフィールドが有効になります。
証明者ユーザー: 「検索」アイコンをクリックし、証明者ユーザーを検索して選択します。
証明者ロール: 「検索」アイコンをクリックし、証明者ロールを検索して選択します。
リスク・レベル:: リスク・レベルとして、「高リスク」、「中リスク」または「低リスク」を選択します。
「終了」ページでは、アプリケーションの作成に使用される詳細を確認します。なんらかの変更が必要な場合は、「戻る」をクリックして必要な変更を加えます。詳細に問題がない場合は、「終了」をクリックしてアプリケーションを作成します。
デフォルトのリクエスト・フォームを作成するかどうかの確認を求められたら、「はい」または「いいえ」をクリックします。
デフォルトのリクエスト・フォームの作成を選択すると、アプリケーションと同じ名前でデフォルト・フォームが作成されます。デフォルト・フォームは、後から変更することはできません。そのため、カスタマイズする場合は新規作成する必要があります。新しいデフォルト・フォームを確認するには、Oracle Identity Self Serviceに再ログインする必要があります。ただし、別のユーザーは作成直後にデフォルト・フォームを確認できます。
アプリケーションの作成後にサンドボックス関連の変更を実行する場合は、現在のOracle Identity Self Serviceセッションからログアウトして再ログインする必要があります。
認可アプリケーションの作成には、基本情報の指定、スキーマ属性の更新、デフォルト属性の設定の確認と更新、アプリケーション情報の検証などの手順が含まれます。
アプリケーションの作成ウィザードに移動するには、「管理」タブで「アプリケーション」ボックスをクリックして「アプリケーション」ページを開きます。「アクション」メニューから、「作成」をクリックして「管理」を選択します。または、ツールバーの「作成」をクリックし、「管理」を選択してアプリケーションの作成ウィザードを開きます。
これ以降の後続の項でページごとに説明します。
「設定」ページでは、リコンシリエーションおよび組織のパブリケーションに関連するデフォルト設定の確認とカスタマイズを実行できます。「設定」ページで必要になるすべての操作を完了してから、「次」をクリックして「終了」ページに移動します。
「リコンシリエーション」タブでは、必要な事前定義済の一致ルール、状況とレスポンスおよびリコンシリエーション・ジョブを確認またはカスタマイズできます。
次の手順を実行して、リコンシリエーション構成を更新します。
注意:
コネクタ・インストーラで作成したアプリケーション用のスクリプトは追加や管理ができません。ただし、Design Consoleが提供するJavaベースの変換と検証は引き続き機能します。
Groovyスクリプト内のプロビジョニング属性値は、スキーマ・セクションで定義されている表示名でアクセスできます。そのためには、表示名に含まれる空白をアンダースコア文字(_)に置き換えます。
「アプリケーションの作成」オプションを使用すると、ターゲット・テンプレートまたは認可テンプレートを作成して、将来の使用のためにデータベースに保存できます。
テンプレートの作成について、次の各項で説明します。
コネクタ・インストール・ウィザードを使用して作成したアプリケーションや、「アプリケーションの作成」オプションを使用して作成したアプリケーションは編集できます。
次の各項では、アプリケーションの編集方法について説明します。
コネクタ・インストール・ウィザードを使用して認可アプリケーションが作成されると、デフォルトのアプリケーション・インスタンスは作成されません。そのため、Identity Self Serviceの「アプリケーション」ページではアプリケーションを編集できません。コネクタ・インストール・ウィザードを使用して作成した認可アプリケーションを編集するには、次に示す手順を実行します。
このアプリケーションのインスタンスを作成するために、ApplicationInstanceService.addApplicationInstance(ApplicationInstance appInst) APIを作成します。
アプリケーション・インスタンスの作成後、アプリケーションのテンプレートを作成するアプリケーション・テンプレート生成ジョブを実行します。
注意:
コネクタ・インストーラで作成したアプリケーション用のスクリプトは追加や管理ができません。ただし、Design Consoleが提供するJavaベースの変換と検証はそのまま機能します。
アプリケーションをクローニングすると、クローニングされたアプリケーションにベース・アプリケーションの構成がすべてコピーされます。
ベース・アプリケーションと同じ構成のアプリケーション・インスタンスを作成できます。
注意:
拡張構成
スキーマ構成
プロビジョニング構成
リコンシリエーション構成
ベース・アプリケーションとインスタンス・アプリケーションは、「アプリケーションのバルク作成」スケジュール済タスクを使用するとバルクでロードできます。
このスケジュール済タスクの詳細は、『Oracle Identity Governanceの管理』の事前定義済のスケジュール済タスクに関する項を参照してください。
テンプレートは次のように処理されます。
ベース・アプリケーション名が含まれていないテンプレートが最初に処理され、新しいアプリケーションが同期的に作成されます。
ベース・アプリケーション名が含まれているテンプレートが、インスタンス・アプリケーションの作成に使用されます。こうしたテンプレートは、非同期的に処理されます。
テンプレートの詳細と作成方法は、「アプリケーション・テンプレート」を参照してください。
注意:
「アプリケーションのバルク作成」スケジュール済タスクのジョブ実行を使用してアプリケーションを作成するときには、「アイデンティティ・システム管理」からサンドボックスを使用してUIフォームを作成します。Oracle Identity Self Serviceからアプリケーションを削除することはできません。
アプリケーションの作成プロセスが失敗したときなど、状況によっては、部分的にコミットされたアプリケーションがシステムに含まれることがあります。部分的にコミットされたアプリケーションをシステムから削除するには、コネクタのアンインストール・ユーティリティを実行します。詳細は、『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"; }
変換済の属性: 値が変換される属性を形成できます。たとえば、@mydomain.comがユーザーID属性に付加されます。
User_Id = User_Id.toString()+"@mydomain.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;
アクション・スクリプトは、ユーザー・パスワードの作成、更新、有効化、無効化、変更の操作およびプロビジョニング削除の操作の前後に実行するように構成されます。たとえば、ユーザーの作成前に実行するようにスクリプトを構成できます。
次に示すアクション・スクリプトは、所定の名前でターゲット・システムにテキスト・ファイルを作成します。このスクリプトは、ADコネクタ用に構成できます。
echo create >> C:\%givenName%.txt
アプリケーションのオンボードを実行しているときに発生する問題は、認可に関連していることや、テンプレートの作成にかかわる問題を反映していることがあります。
この項では、アプリケーションのオンボード時の問題を解決するためのトラブルシューティング手順について説明します。
問題
デフォルト組織以外の組織に属しているユーザーがアプリケーションを作成できません。
解決方法
そのユーザーに適切な管理ロールが設定されていることを確認してください。ApplicationInstanceAdministrator管理ロールが付与されているユーザーのみが、Identity Self Serviceの「アプリケーション」オプションで次のアクションを実行できます。
管理ロールの制御の範囲で定義された組織内でのアプリケーションの作成、変更、削除または検索。
親組織内でのアプリケーションの作成、変更、削除または検索。
管理者ロールの詳細は、「管理ロールの管理」を参照してください。
問題
アプリケーション・テンプレート生成ジョブを使用したアプリケーションのアップグレード前または後に、コネクタ・インストーラによって作成されたアプリケーションのテンプレートを生成できます。
解決方法
Lookup.AOB.Certified.Bundlesには、テンプレートが生成されるアプリケーションのバンドルに対応するエントリが必要です。Lookup.AOB.Certified.Bundlesは、次の入力で更新する必要があります。
キー: 詳細構成情報が含まれているバンドルの名前。
値: コネクタの表示名(<コネクタ名>-CI.xmlファイルが構成フォルダに存在している必要があります)。
コネクタ表示名とコネクタ・バージョンは、生成されたテンプレートで設定されます。特定のバンドル名対して一意のコネクタ表示名を識別できない場合は、参照内の値がUnidentifiedに設定され、テンプレートの生成時にコネクタ表示名とコネクタ・バージョンが設定されなくなります。適切なコネクタ表示名とバージョンは、アプリケーション管理者の責任で設定します。
注意:
この参照には、認証済のバンドルのみが含まれます。
問題
プロビジョニングされたアカウントのリソース履歴に、フィールドの更新に関する追加のプロセス・タスクが示されます。
解決方法
これは予期された動作です。プロセス・タスクは、WritebackフィールドとSODフィールドを除くすべてのスキーマ属性のフィールドに対して作成されます。これに該当するプロセス・タスクは、フィールドの単一更新に関するものです。変換スクリプトの一環として導出属性とその値が更新される場合などに、プロセス・タスクがトリガーされることがあります。この場合、プロビジョニングされたアカウントのリソース履歴に、導出属性に対する追加のプロセス・タスクが表示されることがあります。
問題
パッケージoracle.iam.applicationではアプリケーション・オンボードのロギングが有効化されていますが、フロー全体のログが使用できません。
解決方法
アプリケーション・オンボードは、既存のプロビジョニング、リコンシリエーション、スケジューラおよびカタログのエンジンに依存します。アプリケーション・オンボードのロギングを有効にするには、基盤のエンジンをすべて有効にする必要があります。
問題
Design Consoleから、Identity Self Serviceの「アプリケーション」オプションを使用して作成したアプリケーションを管理しようとすると、予期しない動作が現れます。
解決方法
Identity Self Serviceの「アプリケーション」オプションを使用して作成したアプリケーションは、Design Consoleからは管理できません。