4.4 SecretStoreによる資格情報プロビジョニングポリシーの実装

SecretStoreによる資格情報プロビジョニングポリシーの実装は、柔軟にカスタマイズできます。実装手順は、SecretStoreがインストールされているプラットフォーム、プロビジョニング対象のアプリケーション、使用するIdentity Managerドライバによって異なります。

SecretStoreによる資格情報プロビジョニングポリシーを実装するには,、次の手順に従います。

4.4.1 Novell SecretStoreによる資格情報プロビジョニングポリシーの要件

SecretStoreによる資格情報プロビジョニングポリシーを使用するには、次の要件を満たす必要があります。

  • Support Pack 1が適用されたIdentity Manager 3.0
    • eDirectory 8.7x,がインストールされている必要があります。eDirectory 8.8はサポートされていません。
    • +jsso.jaridmcp.jarおよびjnet.jarがIdentity Manager Javaライブラリの標準の場所にあることを確認します。
  • SecretStore 3.3以降

要件が満たされていることを確認したら、セクション 4.4.2, Novell SecretStoreの展開環境設定パラメータの決定に進んでください。

4.4.2 Novell SecretStoreの展開環境設定パラメータの決定

図 4-5の展開シナリオで説明されている同期機能を提供するには、まず、Identity ManagerおよびSecretStore環境に関連したすべてのビジネスプロセス情報を収集します。表 4-3, SecretStoreの資格情報プロビジョニングポリシーワークシートを印刷して、情報を記録するためのワークシートとして使用してください。

表 4-3 SecretStoreの資格情報プロビジョニングポリシーワークシート

必要な環境設定情報

情報

1) Webシングルサインオンのプロビジョニング用に設定するアプリケーション。

 

2) SecretStoreリポジトリサーバのDNS名またはIPアドレス。

 

3) SecretStoreリポジトリサーバのSSL LDAPポート。

 

4) SecretStoreリポジトリサーバ管理者の完全修飾されたLDAP識別名。

 

5) SecretStoreリポジトリサーバの管理者のパスワード。

 

6) SecretStoreサーバからエクスポートされる、SSL証明書へのフルパスおよび証明書名。証明書は、Identity Managerサーバのローカルに配置する必要があります。

 

7) 1つのSecretStoreリポジトリを複数のドライバで使用するか、または各ドライバで専用のリポジトリを使用するかを決定する。

 

8) 使用されるSecretStoreのシークレットタイプを記録する。

サポートされるシークレットタイプには次に示す2つの種類があります。

  • A:アプリケーションのシークレット(SS_App:prefix)
  • C:資格情報セットのシークレット(SS_CredSet:prefix)

9) プロビジョニング対象アプリケーションごとのアプリケーションIDまたは資格情報セット。

 

10) ユーザ名やパスワードなどのアプリケーションごとに必要な認証キーを用意する。これらはアプリケーションごとに異なる場合があります。

 

11) 認証キーの値をスタティックな値に設定するかどうかを決定する。

 

12) ユーザごとに異なる値である(または異なる値にできる)スタティックでない値の場合は、そのスタティックでない情報のソースを書き留める(イベント情報またはアイデンティティボールトの属性値)。

 

13) ターゲットアプリケーションへのパスワードも同期しているドライバにSecretStoreのプロビジョニングを実装する場合、SecretStoreのプロビジョニングを、ターゲットアプリケーションのサーバにパスワードが設定される前と後のどちらで開始するかを決定する。

 

14) リポジトリおよびアプリケーションのオブジェクトが格納されるドライバオブジェクトの名前。(格納先ドライバは別々に指定可能)

 

15) ターゲットアプリケーションのユーザオブジェクトのDNを決定する。

 

プロビジョニング環境設定データの例

プロビジョニングシナリオを使用したサンプルデータを次に示します。ここでは、Finance eDirectory認証ツリー内のユーザに、Finance部のGroupWiseドメインサーバのSecretStore資格情報をプロビジョニングします。

SecretStoreのリポジトリ情報

表 4-4 SecretStoreの資格情報プロビジョニングポリシーワークシートの例

必要な環境設定情報

情報

1) Webシングルサインオンのプロビジョニング用に設定するアプリケーション。

GroupWise

2) SecretStoreリポジトリサーバのDNS名またはIPアドレス。

151.150.191.5

3) SecretStoreリポジトリサーバのSSL LDAPポート。

636

4) SecretStoreリポジトリサーバ管理者の完全修飾されたLDAP識別名。

cn=admin,ou=finance,o=Tesetco Financials

5) SecretStoreリポジトリサーバの管理者のパスワード。

dixml

6) SecretStoreサーバからエクスポートされる、SSL証明書へのフルパスおよび証明書名。証明書は、Identity Managerサーバのローカルに配置する必要があります。

c:\novell\nds\FinanceAD.cer

7) 1つのSecretStoreリポジトリを複数のドライバで使用するか、または各ドライバで専用のリポジトリを使用するかを決定する。

この例では、リポジトリは1つだけにします。

8) 使用されるSecretStoreのシークレットタイプを記録する。

サポートされるシークレットタイプには次に示す2つの種類があります。

  • A:アプリケーションのシークレット(SS_App:prefix)
  • C:資格情報セットのシークレット(SS_CredSet:prefix)

9) プロビジョニング対象アプリケーションごとのアプリケーションIDまたは資格情報セット。

GroupWise_Credentials

10) ユーザ名やパスワードなどのアプリケーションごとに必要な認証キーを用意する。これらはアプリケーションごとに異なる場合があります。

ユーザ名 パスワード

11) 認証キーの値をスタティックな値に設定するかどうかを決定する。

このシナリオではスタティックな情報は使用しません。

12) ユーザごとに異なる値である(または異なる値にできる)スタティックでない値の場合は、そのスタティックでない情報のソースを書き留める(イベント情報またはアイデンティティボールトの属性値)。

ユーザ名:アイデンティティボールト属性の「CN」パスワード: イベントの<password>

13) ターゲットアプリケーションへのパスワードも同期しているドライバにSecretStoreのプロビジョニングを実装する場合、SecretStoreのプロビジョニングを、ターゲットアプリケーションのサーバにパスワードが設定される前と後のどちらで開始するかを決定する。

14) リポジトリおよびアプリケーションのオブジェクトが格納されるドライバオブジェクトの名前。(格納先ドライバは別々に指定可能)

GroupWise-Financeドライバ

15) ターゲットアプリケーションのユーザオブジェクトのDNを決定する。

アイデンティティボールト属性の「DirXML-ADContext」

その他の環境設定情報:

  • Finance部のeDirectoryツリーは、すべてのFinanceアプリケーションのSecretStoreリポジトリとして動作します。
  • Finance部関連のプロビジョニングドライバは、すべて「Finance Drivers」という名前のドライバセット内に設定されます。
  • アイデンティティボールトの属性employeeStatusの値が「I」に設定された場合、GroupWiseユーザアカウントを削除して、そのGroupWiseユーザアカウントのSecretStore資格情報もeDirectoryユーザから削除する必要があります。

収集したデータから見ると、SecretStoreリポジトリの情報は、Finance部のアプリケーションをプロビジョニングするすべてのドライバに対してグローバルです。また、すべてのプロビジョニング情報は、GroupWiseのログインパラメータであるユーザ名、パスワードおよびターゲットユーザのDNを除き、スタティックに設定されています。

すべてのパラメータを決定したら、セクション 4.4.3, Novell SecretStoreのリポジトリオブジェクトの作成に進んでください。

4.4.3 Novell SecretStoreのリポジトリオブジェクトの作成

リポジトリオブジェクトには、SecretStoreのスタティックな環境設定情報が保存されます。リポジトリの情報は、アプリケーション資格情報を使用するアプリケーションからは独立しています。この情報は、接続システム(SAP、PeopleSoft、Notesなど)に関係なく、すべてのプロビジョニングイベントに適用されます。リポジトリオブジェクトは、DesignerまたはiManagerで作成できます。

DesignerでのNovell SecretStoreのリポジトリオブジェクトの作成

次に示すのは、Designerでリポジトリオブジェクトを作成する方法のうちの1つです。

  1. アウトラインビューで、リポジトリオブジェクトを格納するドライバオブジェクトを右クリックします。

  2. 資格情報のプロビジョニング]>[New Repository Object (新規リポジトリオブジェクト)]の順にクリックします。

  3. リポジトリオブジェクトの名前を指定します。

  4. SecretStoreテンプレートを使用するため、[NSSRepository.xml]を選択します。

  5. OK]をクリックします。

  6. 環境設定情報を追加するため、アウトラインビューでリポジトリオブジェクトをダブルクリックします。

  7. はい]をクリックして、新しいリポジトリオブジェクトを保存します。

  8. SecretStoreサーバのDNS名またはIPアドレスを指定します。ワークシート項目の2)を参照してください。

  9. SecretStoreサーバのSSLポートを指定します。ワークシート項目の3)を参照してください。

  10. SecretStoreサーバからエクスポートされるSSL証明書へのフルパスを指定します。このパスには証明書名を含め、Identity Managerサーバのローカルに配置する必要があります。ワークシート項目の6)を参照してください。

    メモ:SSL証明書のエクスポート方法については、iManagerのマニュアルを参照してください。

  11. SecretStore管理者の完全修飾されたLDAP識別名を指定します。ワークシート項目の4)を参照してください。

  12. パスワードを設定する]をクリックします。

  13. SecretStore管理者のパスワードを2回入力し、[OK]をクリックします。ワークシート項目の5)を参照してください。

  14. 情報を確認し、[保存]アイコンをクリックして情報を保存します。

  15. (オプション)リポジトリオブジェクトに対する他の環境設定パラメータを作成する場合は、[Add new item (新しい項目の追加)]アイコンをクリックします。

    1. パラメータの名前を指定します。

    2. パラメータの表示名を指定します。

    3. 参照情報として、パラメータの説明を入力します。

      パラメータは文字列で保存されます。

    4. OK]をクリックします。

    5. 保存]アイコンをクリックして、リポジトリオブジェクトを保存します。

リポジトリオブジェクトが作成されたら、DesignerでのNovell SecureLoginのアプリケーションオブジェクトの作成に進んでください。

iManagerでのNovell SecretStoreのリポジトリオブジェクトの作成

  1. iManagerで、[資格情報のプロビジョニング]>[環境設定]の順に選択します。

  2. リポジトリオブジェクトを保存するドライバオブジェクトを参照して選択し、[OK]をクリックします。

  3. 新規作成]をクリックしてリポジトリを作成します。

  4. リポジトリオブジェクトの名前を指定します。

  5. SecretStoreテンプレートを使用してリポジトリを作成するため、[NSSRepository.xml]を選択します。

  6. OK]をクリックします。

  7. SecretStoreサーバのDNS名またはIPアドレスを指定します。ワークシート項目の2)を参照してください。

  8. SecretStoreサーバのSSLポートを指定します。ワークシート項目の3)を参照してください。

  9. SecretStoreサーバからエクスポートされるSSL証明書へのフルパスを指定します。このパスには証明書名を含め、Identity Managerサーバのローカルに配置する必要があります。ワークシート項目の6)を参照してください。

    メモ:SSL証明書のエクスポート方法については、iManagerのマニュアルを参照してください。

  10. SecretStore管理者の完全修飾されたLDAP識別名を指定します。ワークシート項目の4)を参照してください。

  11. パスワードを設定する]をクリックします。

  12. SecretStore管理者のパスワードを2回入力し、[OK]をクリックします。ワークシート項目の5)を参照してください。

  13. 指定した値を確認し、[OK]をクリックします。

  14. (オプション)リポジトリオブジェクトに対する他の環境設定パラメータを作成する場合は、[新規作成]をクリックします。

    この例は、図 4-1のシナリオに記載されています。

    1. パラメータの名前を指定します。

    2. パラメータの表示名を指定します。

    3. 参照情報として、パラメータの説明を入力します。

      パラメータは文字列で保存されます。

    4. OK]をクリックします。

リポジトリオブジェクトが作成されたら、iManagerでのNovell SecureLoginのアプリケーションオブジェクトの作成に進んでください。

4.4.4 Novell SecretStoreのアプリケーションオブジェクトの作成

アプリケーションには、SecretStoreのスタティックな環境設定パラメータ値が保存されます。アプリケーション情報は、そのアプリケーションの資格情報を使用しているアプリケーションに特有のものです(GroupWiseクライアントの情報、SAPデータベースクライアントの情報など)。アプリケーションオブジェクトは、DesignerまたはiManagerで作成できます。

DesignerでのNovell SecretStoreのアプリケーションオブジェクトの作成

次に示すのは、Designerでアプリケーションを作成する方法のうちの1つです。

  1. アウトラインビューで、アプリケーションオブジェクトを格納するドライバオブジェクトを右クリックします。

  2. 資格情報のプロビジョニング]>[New Application Object (新規アプリケーションオブジェクト)]の順にクリックします。

  3. アプリケーションオブジェクトの名前を指定します。

  4. SecretStoreテンプレートを使用するため、[NSSApplication.xml]を選択します。

  5. OK]をクリックします。

  6. 環境設定情報を追加するため、アウトラインビューでアプリケーションオブジェクトをダブルクリックします。

  7. はい]をクリックして、新しいアプリケーションオブジェクトを保存します。

  8. SecretStoreのアプリケーションIDを指定します。ワークシート項目の9)を参照してください。

  9. SecretStoreのシークレットタイプ]を選択します。ワークシート項目の8)を参照してください。

  10. SecretStoreの共有シークレットタイプ]を選択します。ワークシート項目の8)を参照してください。

  11. SecretStoreの[拡張保護フラグの使用]で、[使用不可]または[使用可能]を選択します。

  12. 有効である場合、[パスワードを設定する]をクリックして、[拡張保護パスワード]を設定します。

  13. パスワードを2回入力し、[OK]をクリックします。

  14. 保存]アイコンをクリックして、アプリケーションを保存します。

  15. アプリケーションに必要な認証キーを追加するため、[Add new item (新しい項目の追加)]アイコンをクリックします。

    1. 認証キーの名前を指定します。

    2. 認証キーの表示名を指定します。

    3. 参照情報として、認証キーの説明を入力します。

      認証キーは文字列で保存されます。

    4. OK]をクリックします。

    5. 入力が必要な新規認証キーごとに、ステップ 15を繰り返します。

  16. 認証キーがすべてのユーザ資格情報で共有するスタティックな値である場合、その値を指定します。

  17. 保存]アイコンをクリックして、アプリケーションを保存します。

アプリケーションオブジェクトが作成されたら、セクション 4.4.5, Novell SecretStoreの資格情報プロビジョニングポリシーの環境設定に進んでください。

iManagerでのNovell SecretStoreのアプリケーションオブジェクトの作成

  1. iManagerで、[資格情報のプロビジョニング]>[環境設定]の順に選択します。

  2. アプリケーションオブジェクトを保存するドライバオブジェクトを参照して選択し、[OK]をクリックします。

  3. アプリケーション]タブを選択し、[新規作成]をクリックします。

  4. アプリケーションオブジェクトの名前を指定します。

  5. SecretStoreテンプレートを使用してアプリケーションを作成するため、[NSSApplication.xml]を選択します。

  6. OK]をクリックします。

  7. SecretStoreアプリケーションID]を指定します。ワークシート項目の9)を参照してください。

  8. SecretStoreのシークレットタイプ]を選択します。ワークシート項目の7)を参照してください。SecretStoreのタイプは[Shared (共有)]または[Not Shared (共有なし)]です。

  9. SecretStoreの共有シークレットタイプ]を選択します。ワークシート項目の8)を参照してください。共有される場合のSecretStoreのタイプは、[Credential Set (資格情報セット)]または[アプリケーション]です。

  10. SecretStoreの[拡張保護フラグの使用]で、[無効]または[有効]を選択します。

  11. 有効である場合、[パスワードを設定する]をクリックして、[拡張保護パスワード]を設定します。

  12. パスワードを2回入力し、[OK]をクリックします。

  13. アプリケーションで必要な認証キーを作成するため、[新規作成]をクリックします。ワークシート項目の10)を参照してください。

    1. 認証キーの名前を指定します。

    2. 認証キーの表示名を指定します。

    3. 参照情報として、認証キーの説明を入力します。

      認証キーは文字列で保存されます。

    4. OK]をクリックします。

    5. アプリケーションが必要とする認証キーごとに、ステップ 13を繰り返します。

  14. 認証キー値を指定し、その値がスタティックである場合は、続いて[OK]をクリックします。

アプリケーションオブジェクトが作成されたら、セクション 4.4.5, Novell SecretStoreの資格情報プロビジョニングポリシーの環境設定に進んでください。

4.4.5 Novell SecretStoreの資格情報プロビジョニングポリシーの環境設定

リポジトリとアプリケーションのオブジェクトを作成したら、ポリシーを作成してSecretStore情報をプロビジョニングする必要があります。ポリシーは、リポジトリとアプリケーションのオブジェクトに格納された情報を使用します。ポリシービルダの2つのアクションにより、SecretStore資格情報をプロビジョニングできるようにします。

SSO資格情報のクリア

SSO資格情報のクリア]アクションにより、SSL資格情報をクリアすることでオブジェクトのプロビジョニングを解除できます。

図 4-6 SSO資格情報のクリア

  • 資格情報ストアオブジェクトのDNを入力: リポジトリオブジェクトを参照して選択します。

  • ターゲットユーザのDNを入力: 引数ビルダを使用してターゲットユーザのDNを作成します。ワークシート項目の15)を参照してください。

  • アプリケーションのアクティベーションキーIDを入力: アプリケーションIDを指定します。ワークシート項目の9)を参照してください。

  • ログインパラメータの文字列を入力: 文字列ビルダを起動して、アプリケーションの認証キーを入力します。ワークシート項目の10)を参照してください。

SSO資格情報の設定

SSO資格情報の設定]アクションは、ユーザオブジェクトの作成またはパスワードの変更が実施されるときの、SSO資格情報を設定できるようにします。

図 4-7 SSO資格情報の設定

  • 資格情報ストアオブジェクトのDNを入力: リポジトリオブジェクトを参照して選択します。

  • ターゲットユーザのDNを入力: 引数ビルダを使用してターゲットユーザのDNを作成します。ワークシート項目の15)を参照してください。

  • アプリケーションのアクティベーションキーIDを入力: アプリケーションIDを指定します。ワークシート項目の9)を参照してください。

  • ログインパラメータの文字列を入力: 文字列ビルダを起動して、アプリケーションの認証キーを入力します。ワークシート項目の10)を参照してください。

資格情報プロビジョニングポリシーの例

資格情報プロビジョニングポリシーは、各自の環境の要件を満たすように実装およびカスタマイズできます。次の例では、図 4-5で示したシナリオのポリシーの設定方法について説明します。

Finance部のシナリオでは、SecretStoreのプロビジョニングは、GroupWise内にパスワードが設定された後に実行されます。必要なパラメータの多くはスタティックに設定されており、リポジトリやアプリケーションのオブジェクトを介してすべてのポリシーで使用可能です。ただし、スタティックでないデータパラメータ(CN、password、およびDirXML-ADContext)もあります。これらのパラメータは、GroupWiseユーザの<add>または<modify-password>コマンドが実行され、<output>ドキュメントがGroupWiseドライバシムから返された後にのみ使用可能です。<ouput>ドキュメントには、購読者の操作属性が含まれていないため、コマンドのユーザコンテキストは失われ、その結果、オブジェクトへのクエリが阻まれます。そのため、次のことを実行する必要があります。

  • GroupWiseドライバの購読者作成ポリシーによって、スタティックでないデータパラメータの存在を強制するようにします。
  • 購読者コマンドをGroupWiseドライバシムへ発行する前に、プロビジョニング操作に必要なスタティックでないパラメータをキャッシュします。
  • コマンドが正常に実行された後は、SecretStoreのプロビジョニングで使用するため、キャッシュされたデータを取得します。

メモ:Identity Manager 3.0 Support Pack 1のメディアには、XML形式で使用可能なサンプルポリシーがあります。ファイル名は、SampleInputTransform.xmlSampleSubCommandTransform.xmlおよびSampleSubEventTransform.xmlです。これらのファイルは、次のディレクトリにあります。

  • linux\setup\utilities\cred_prov
  • nt\dirxml\utilities\cred_prov
  • nw\dirxml\utilities\cred_prov

これらのファイルは、ユーティリティのインストール時に資格情報プロビジョニングのサンプルポリシーを選択すると、Identity Managerサーバにインストールされます。サンプルポリシーは、次の場所にインストールされます(プラットフォーム別に示します)。

  • Windows:C:\Novell\NDS\DirXMLUtilities (デフォルト。インストール時に変更可)
  • NetWare: SYS:\System\DirXmlUtilities
  • Linux (eDir 8.7):/usr/lib/dirxml/rules/credprov

サンプルポリシーは、各自の環境で機能するポリシーを開発するための開始ポイントとして使用できます。

操作データキャッシング

必須の操作データキャッシングに使用できるメカニズムは、<operation-data>要素です。SecretStoreアカウントは<add>または<modify-password>コマンドのいずれかからプロビジョニングする必要があるため、スタティックでないデータキャッシングポリシーを実装する論理的な場所は、購読者コマンド変換ポリシー内になります。次の例に、一般的なSecretStoreのプロビジョニングにおける要素を示します。

<operation-data> <nss-sync-data> <nss-target-user-dn> cn=GLCANYON,ou=finance,o=Testco Financials </nss-target-user-dn> <nss-app-username>GCANYON</nsl-app-username> <password><!-- content suppressed --></password> <nss-passphrase-answer>50024222</nsl-passphrase-answer> </nss-sync-data> </operation-data>

図 4-5で示したサンプルのFinance部のシナリオでは、操作データのペイロードを入力するのに次の値が必要です。

  • <nss-target-user-dn>要素は、アイデンティティボールトのDirXML-ADContext属性を使用して入力されます。この属性は、eDirectoryドライバによって設定されたものです。eDirectoryドライバによって値が設定されたときにGroupWiseドライバに通知されるようにするには、DirXML-ADContextを購読者フィルタに通知属性として追加してください。
  • <nss-app-username>要素は、アイデンティティボールト内のCN属性値によって入力されます。
  • パスワード要素には、<add>または<modify-password>コマンド内の<password>要素の値が入力されます。

SecretStoreのプロビジョニング

サンプルのシナリオでは、SecretStore資格情報プロビジョニング用の操作データが取得され、使用される最初の場所は、ドライバの入力変換ポリシー内にあります。サンプルのシナリオでは、2つのポリシーが実装されています。

  • パスワードが正常に同期された後のSecretStore資格情報の設定。
  • アプリケーションユーザが削除された場合のSecretStore資格情報の削除(アイデンティティボールトのオブジェクトは削除されない)

    メモ:SampleInputTransform.xmlファイルには、SecretStore資格情報をパスワード同期が成功した後に設定するためのサンプルポリシーがあります。このファイルは、Identity Manager 3.0 Support Pack 1メディアのutilitiesディレクトリのcred_prov フォルダにあります。

SecretStore資格情報の設定ポリシーでは、プロビジョニングが実行されるのは、返されたコマンドステータスが「成功」で、以前に設定した<operation-data>が存在する場合のみに限定してください。

SecretStoreのプロビジョニング解除

「接続システムのユーザアカウントは削除し、アイデンティティボールトのアカウントは残す」というポリシーを使用する状況は数多く考えられます。Financeのシナリオでは、ユーザのアイデンティティボールトのemployeeStatus属性値が「I」に設定された場合に、GroupWiseアカウントを削除して、SecretStore資格情報のプロビジョニングを解除します。この状況を処理するため、GroupWiseドライバの購読者イベント変換に、変更属性値をオブジェクトの削除に変換するポリシーが含まれています。eDirectoryアカウントの名前は、削除コマンドが実行された後も必要なため、<operation-data>イベントを<delete>コマンドに設定して、入力変換ポリシー内のSecretStoreのプロビジョニング解除ポリシーで使用できるようにする必要があります。

<operation-data> <nss-sync-data> <nss-target-user-dn> cn=GLCANYON,ou=finance,o=Testco Financials </nss-targer-user-dn> </nss-sync-data> </operation-data>

<modify>イベントを<delete>に変換してこの要素を作成するポリシーは、dentity Manager 3.0 Support Pack 1メディア上のutilitiesディレクトリのcred_provフォルダにあるSampleSubEventTransform.xmlという名前のファイルにXML形式で入っています。