プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Platform Security Servicesによるアプリケーションの保護
12c (12.2.1)
E72537-01
  目次へ移動
目次

前
 
次
 

11 資格証明の管理

OPSSには、アプリケーションで資格証明を作成、読取り、更新および管理する際に使用するインタフェースの集合である資格証明ストア・フレームワークが組み込まれています。資格証明は資格証明ストアに格納されるため、このフレームワークでは資格証明の暗号化がサポートされています。

この章の内容は次のとおりです。

11.1 資格証明のタイプ

資格証明には、ユーザー名、パスワードおよびチケットを格納でき、資格証明の暗号化も可能です。資格証明は、認証の際、プリンシパルをサブジェクトに移入するときに使用し、さらに認可時には、サブジェクトが実行できるアクションを決定するときに使用します。

OPSSでは、そこに置かれたデータに応じて次のタイプの資格証明がサポートされています。

  • パスワード資格証明は、ユーザー名とパスワードをカプセル化します。

  • 汎用資格証明は、対称キーなどの任意のカスタマイズされたデータまたは任意のトークンをカプセル化します。

資格証明は、マップ名およびキー名によって一意に識別されます。マップには複数のキーを保持でき、マップ名はアプリケーションの名前に対応しています。同じマップ名を持つ資格証明すべてにより、資格証明のグループ(アプリケーションで使用される資格証明など)が定義されます。マップ名とキー名のペアは、資格証明ストアにあるすべてのエントリで一意である必要があります。

パスワードに使用できる文字数に制限はありませんが、空やnullにはできません。

デフォルトでは、資格証明ストアはOracleウォレットで、X.509証明書を格納できます。

11.2 資格証明の暗号化

OPSSでは、ファイルおよびLDAPの資格証明ストアへの暗号化データの格納がサポートされています。OPSSでは、暗号化鍵を使用して、資格証明ストアでの読み書き時にデータの暗号化と復号化を行います。この鍵は一意で、ドメイン・スコープがあります。ファイルまたはLDAPのストアでの資格証明の暗号化を有効にするには、jps-config.xmlファイルの資格証明ストア・インスタンスで次のプロパティを設定します。

<property name="encrypt" value="true" />

DB資格証明ストアの場合、データは常にクライアント側の鍵を使用して暗号化されます。

ドメイン暗号化鍵

encryptプロパティをtrueに設定した場合、OPSSでは暗号化鍵を使用して、資格証明ストアに入力された新しい資格証明が暗号化されます。この暗号化鍵は、ドメインが初めて起動されたときにランダムに生成される128ビットの高度暗号化標準(AES)鍵で、ドメイン全体で有効です。最終的には、このドメイン暗号化鍵の定期的なロールオーバーが必要になります。鍵をロールオーバーすると、新しい鍵が生成され、前の鍵はアーカイブされます。アーカイブされた鍵は古いデータの復号化に使用され、新しい鍵は新しいデータの暗号化および復号化に使用されます。

新しいドメイン暗号化鍵が生成されても、資格証明ストア・データはこの新しい鍵でただちに暗号化されるわけではありません。データは書き込まれたときにのみ(新しいキーで)暗号化されます。つまり、すべてのデータが同じ暗号化鍵を使用するようにするには、すべての資格証明を読み取って書き込む必要があります。

資格証明ストアを共有するドメイン

2つ以上のドメインが資格証明ストアを共有し、そのストアで暗号化が有効になっている場合、各ドメインは同じ暗号化鍵を使用する必要があります。これを容易にするために、OPSSにはcwallet.ssoブートストラップ・ファイルに鍵をエクスポート、インポートおよびリストアするためのオフライン・スクリプトが用意されているため、1つのドメインで生成された暗号化鍵を、資格証明ストアを共有する他のすべてのドメインに引き継ぐことができます。

次のシナリオでは、Domain1とDomain2という2つのドメインから構成されるクラスタで暗号化鍵を設定する方法を示します。(ドメインが3つ以上がある場合は、各追加ドメインをDomain2として扱ってください。)


注意:

次の各シナリオではLDAP資格証明ストアを前提としていますが、(データが常に暗号化されている)DB資格証明ストアでも、importEncryptionKeyコマンドとexportEncryptionKeyコマンドを使用してドメイン間で鍵をインポートしてエクスポートすることができます。

シナリオ1

Domain1はLDAP資格証明ストアに再関連付けされており、Domain2はそのストアにまだ結合していないものとします。そのストアで資格証明の暗号化を有効にするには、次の手順を実行します。

  1. Domain1のjps-config.xmlファイルでencryptプロパティをtrueに設定し、ドメインを再起動します。

  2. exportEncryptionKey WebLogic Scripting Tool (WLST)コマンドを使用して、Domain1からewallet.p12ファイルに鍵を抽出します。コマンドに渡したkeyFilePasswordの値は、後でその鍵をもう1つのドメインにインポートするときに使用する必要があります。

  3. Domain2のjps-config.xmlファイルでencryptプロパティをtrueに設定します。

この時点で、この手順は次の2つのいずれかの方法で完了します。いずれの方法でも、reassociateSecurityStore WLSTコマンドを使用しますが、構文が異なります。

1つ目の方法は次のとおりです。

  1. reassociateSecurityStore WLSTコマンドを使用して、Domain2の資格証明ストアをDomain1で使用されている資格証明ストアに再関連付けします。join引数を使用し、keyFilePassword引数とkeyFilePath引数は使用しないでください

  2. importEncryptionKey WLSTコマンドを使用して、抽出したewallet.p12ファイルをDomain2にインポートします。keyFilePasswordの値は、ewallet.p12ファイルの生成時に使用されたものと同一である必要があります。

  3. Domain2のサーバーを再起動します。

2つ目の方法は次のとおりです。

  1. reassociateSecurityStore WLSTコマンドを使用して、Domain2の資格証明ストアをDomain1で使用されている資格証明ストアに再関連付けします。joinkeyFilePasswordおよびkeyFilePathの各引数を使用します。

  2. Domain2のサーバーを再起動します。

シナリオ2

Domain1はLDAP資格証明ストアに再関連付けされており、Domain2はそのストアにすでに結合しているものとします。そのストアで資格証明の暗号化を有効にするには、次の手順を実行します。

  1. Domain1のjps-config.xmlファイルでencryptプロパティをtrueに設定し、ドメインを再起動します。

  2. exportEncryptionKey WLSTコマンドを使用して、Domain1からewallet.p12ファイルに鍵を抽出します。コマンドに渡したkeyFilePasswordの値は、後でその鍵をもう1つのドメインにインポートするときに使用する必要があります。

  3. Domain2のjps-config.xmlファイルでencryptプロパティをtrueに設定します。

  4. importEncryptionKey WLSTコマンドを使用して、抽出したewallet.p12ファイルをDomain2に書き込みます。keyFilePasswordの値は、ewallet.p12ファイルの生成時に使用されたものと同一である必要があります。

  5. Domain2のサーバーを再起動します。


注意:

暗号化が有効になっている資格証明ストアを複数のドメインで共有している場合、これらのドメインのいずれかでロールオーバー鍵が生成されるたびに、exportEncryptionKeyコマンドとimportEncryptionKeyコマンドを使用して、他の各ドメインにそのキーをインポートする必要があります。


関連項目:

「WLSTを使用した資格証明の管理」

第10.4.1項「reassociateSecurityStore」

『Oracle Fusion Middlewareインフラストラクチャ・セキュリティWLSTコマンド・リファレンス』のexportEncrytionKeyに関する項およびimportEncryptionKeyに関する項


11.3 Fusion Middleware Controlを使用した資格証明の管理

この項に記載されている手順に従って、Oracle Enterprise Manager Fusion Middleware Control (Fusion Middleware Control)を使用して資格証明を管理します。

タスク1: 「資格証明」ページのオープン

Fusion Middleware Controlにログインし、「ドメイン」「セキュリティ」「資格証明」の順に移動します。「資格証明」ページが表示されます。「ポリシー・ストア・プロバイダ」領域は読取り専用で、ドメインで現在使用されているプロバイダが表示されます。

タスク2: 資格証明の検索

指定したキー名と一致する資格証明を表示するには、「資格証明キー名」テキスト・フィールドに照合する文字列を入力して検索ボタンをクリックします。検索結果がページの下部の表に表示されます。

タスク3: 資格証明マップの作成

  1. 「マップの作成」をクリックします。「マップの作成」ダイアログが表示されます。

  2. 新しい資格証明のマップの名前を入力します。

  3. 「OK」をクリックして「資格証明」ページに戻ります。新しい資格証明マップ名が表に表示されます。

タスク4: 資格証明マップへのキーの追加

  1. 「キーの作成」をクリックします。「キーの作成」ダイアログが表示されます。

  2. 「マップの選択」メニューでマップを選択し、キーを「キー」テキスト・フィールドに入力して「タイプ」プルダウン・メニューからタイプ(「パスワード」または「汎用」)を選択します。

    • パスワード・キーの場合、「キー」、「ユーザー名」、「パスワード」、「パスワードの確認」の各フィールドに入力します。

    • 汎用キーの場合、必須フィールドの「キー」と、資格証明の情報をテキスト(「テキストとして入力」ラジオ・ボタンを選択)またはキー/値ペアのリスト(「プロパティ名と値のペアのマップを入力」ラジオ・ボタンを選択)として入力します。キー/値ペアを追加するには、「行の追加」をクリックし、追加した行の「プロパティ名」、「値」および「値の確認」に入力します。

  3. 「OK」をクリックして「資格証明」ページに戻ります。新しいキーが選択したマップの下に表示されます。

タスク5: キーの編集

  1. キーを選択します。

  2. 「編集」をクリックします。「キーの編集」ダイアログが表示されます。

  3. 必要に応じてデータを変更します。汎用キーを編集する場合は、行の横の赤のXを使用すると、対応するプロパティと値のペアが削除されます。

  4. 「OK」をクリックして変更内容を保存して、「資格証明」ページに戻ります。

11.4 WLSTを使用した資格証明の管理

オンライン・コマンドの実行には、実行中のサーバーとの接続が必要です。特に指定がないかぎり、この項に記載されているコマンドはオンライン・コマンドで、セキュリティ・ストアに対して動作します。

読取り専用スクリプトは、WebLogicグループMonitorOperatorConfiguratorまたはAdminに属するユーザーのみが実行できます。読取り/書込みスクリプトは、WebLogicグループAdminまたはConfiguratorに属するユーザーのみが実行できます。すべてのWLSTコマンドは、Oracle WebLogic Serverをインストールすると使用できます。

WLSTコマンドは、インタラクティブ・モードでもスクリプト・モードでも実行できます。インタラクティブ・モードの場合は、コマンドライン・プロンプトにコマンドを入力します。スクリプト・モードでは、シェル・スクリプトのディレクティブのように、コマンドをテキスト・ファイルに記述してスクリプトを実行します。

OPSSでは、アプリケーション資格証明を管理するために次のコマンドが用意されています。

  • updateCred

  • createCred

  • deleteCred

  • modifyBootStrapCredential

  • addBootStrapCredential

  • exportEncryptionKey

  • importEncryptionKey

  • restoreEncryptionKey

  • rollOverEncryptionKey