Oracle® Fusion Middleware Oracle Platform Security Servicesによるアプリケーションの保護 12c (12.2.1.3.0) E92000-01 |
|
前 |
次 |
この章の内容は次のとおりです。
資格証明には、ユーザー名、パスワードおよびチケットを格納でき、資格証明の暗号化も可能です。資格証明は、認証の際、プリンシパルをサブジェクトに移入するときに使用し、さらに認可時には、サブジェクトが実行できるアクションを決定するときに使用します。
OPSSでは、そこに置かれたデータに応じて次のタイプの資格証明がサポートされています。
資格証明は、マップ名およびキー名によって一意に識別されます。マップには複数のキーを保持でき、マップ名はアプリケーションの名前に対応しています。同じマップ名を持つ資格証明すべてにより、資格証明のグループ(アプリケーションで使用される資格証明など)が定義されます。マップ名とキー名のペアは、資格証明ストアにあるすべてのエントリで一意である必要があります。
パスワードに使用できる文字数に制限はありませんが、空やnullにはできません。
デフォルトでは、資格証明ストアはOracleウォレットで、X.509証明書を格納できます。
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はそのストアにまだ結合していないものとします。そのストアで資格証明の暗号化を有効にするには、次の手順を実行します。
Domain1のjps-config.xml
ファイルでencrypt
プロパティをtrue
に設定し、ドメインを再起動します。
exportEncryptionKey
WebLogic Scripting Tool (WLST)コマンドを使用して、Domain1からewallet.p12
ファイルに鍵を抽出します。コマンドに渡したkeyFilePassword
の値は、後でその鍵をもう1つのドメインにインポートするときに使用する必要があります。
Domain2のjps-config.xml
ファイルでencrypt
プロパティをtrue
に設定します。
この時点で、この手順は次の2つのいずれかの方法で完了します。いずれの方法でも、reassociateSecurityStore
WLSTコマンドを使用しますが、構文が異なります。
1つ目の方法は次のとおりです。
reassociateSecurityStore
WLSTコマンドを使用して、Domain2の資格証明ストアをDomain1で使用されている資格証明ストアに再関連付けします。join
引数を使用し、keyFilePassword
引数とkeyFilePath
引数は使用しないでください。
importEncryptionKey
WLSTコマンドを使用して、抽出したewallet.p12
ファイルをDomain2にインポートします。keyFilePassword
の値は、ewallet.p12
ファイルの生成時に使用されたものと同一である必要があります。
Domain2のサーバーを再起動します。
2つ目の方法は次のとおりです。
reassociateSecurityStore
WLSTコマンドを使用して、Domain2の資格証明ストアをDomain1で使用されている資格証明ストアに再関連付けします。join
、keyFilePassword
およびkeyFilePath
の各引数を使用します。
Domain2のサーバーを再起動します。
シナリオ2
Domain1はLDAP資格証明ストアに再関連付けされており、Domain2はそのストアにすでに結合しているものとします。そのストアで資格証明の暗号化を有効にするには、次の手順を実行します。
jps-config.xml
ファイルでencryptプロパティをtrue
に設定し、ドメインを再起動します。exportEncryptionKey
WLSTコマンドを使用して、Domain1からewallet.p12
ファイルに鍵を抽出します。コマンドに渡したkeyFilePassword
の値は、後でその鍵をもう1つのドメインにインポートするときに使用する必要があります。jps-config.xml
ファイルでencryptプロパティをtrue
に設定します。 importEncryptionKey
WLSTコマンドを使用して、抽出したewallet.p12
ファイルをDomain2に書き込みます。keyFilePassword
の値は、ewallet.p12
ファイルの生成時に使用されたものと同一である必要があります。 注意:
暗号化が有効になっている資格証明ストアを複数のドメインで共有している場合、これらのドメインのいずれかでロールオーバー鍵が生成されるたびに、exportEncryptionKey
コマンドとimportEncryptionKey
コマンドを使用して、他の各ドメインにそのキーをインポートする必要があります。
関連項目:
『インフラストラクチャ・セキュリティWLSTコマンド・リファレンス』のexportEncrytionKeyおよびimportEncryptionKey
この項に記載されている手順に従って、Oracle Enterprise Manager Fusion Middleware Control (Fusion Middleware Control)を使用して資格証明を管理します。
タスク1: 「資格証明」ページのオープン
Fusion Middleware Controlにログインし、「ドメイン」→「セキュリティ」→「資格証明」の順に移動します。「資格証明」ページが表示されます。「ポリシー・ストア・プロバイダ」領域は読取り専用で、ドメインで現在使用されているプロバイダが表示されます。
タスク2: 資格証明の検索
指定したキー名と一致する資格証明を表示するには、「資格証明キー名」テキスト・フィールドに照合する文字列を入力して検索ボタンをクリックします。検索結果がページの下部の表に表示されます。
タスク3: 資格証明マップの作成
「マップの作成」をクリックします。「マップの作成」ダイアログが表示されます。
新しい資格証明のマップの名前を入力します。
「OK」をクリックして「資格証明」ページに戻ります。新しい資格証明マップ名が表に表示されます。
タスク4: 資格証明マップへのキーの追加
「キーの作成」をクリックします。「キーの作成」ダイアログが表示されます。
「マップの選択」メニューでマップを選択し、キーを「キー」テキスト・フィールドに入力して「タイプ」プルダウン・メニューからタイプ(「パスワード」または「汎用」)を選択します。
パスワード・キーの場合、「キー」、「ユーザー名」、「パスワード」、「パスワードの確認」の各フィールドに入力します。
汎用キーの場合、必須フィールドの「キー」と、資格証明の情報をテキスト(「テキストとして入力」ラジオ・ボタンを選択)またはキー/値ペアのリスト(「プロパティ名と値のペアのマップを入力」ラジオ・ボタンを選択)として入力します。キー/値ペアを追加するには、「行の追加」をクリックし、追加した行の「プロパティ名」、「値」および「値の確認」に入力します。
「OK」をクリックして「資格証明」ページに戻ります。新しいキーが選択したマップの下に表示されます。
タスク5: キーの編集
オンライン・コマンドの実行には、実行中のサーバーとの接続が必要です。特に指定がないかぎり、この項に記載されているコマンドはオンライン・コマンドで、セキュリティ・ストアに対して動作します。
読取り専用スクリプトは、WebLogic ServerグループMonitor
、Operator
、Configurator
またはAdmin
に属するユーザーのみが実行できます。読取り/書込みスクリプトは、WebLogic ServerグループAdmin
またはConfigurator
に属するユーザーのみが実行できます。すべてのWLSTコマンドは、Oracle WebLogic Serverをインストールすると使用できます。
WLSTコマンドは、インタラクティブ・モードでもスクリプト・モードでも実行できます。インタラクティブ・モードの場合は、コマンドライン・プロンプトにコマンドを入力します。スクリプト・モードでは、シェル・スクリプトのディレクティブのように、コマンドをテキスト・ファイルに記述してスクリプトを実行します。
OPSSでは、アプリケーション資格証明を管理するために次のコマンドが用意されています。
updateCred
createCred
deleteCred
modifyBootStrapCredential
addBootStrapCredential
exportEncryptionKey
importEncryptionKey
restoreEncryptionKey
rollOverEncryptionKey