資格証明ストアは、セキュリティ・データ(資格証明)のリポジトリです。資格証明には、ユーザー名とパスワードの組合せ、チケットまたは公開鍵証明書を格納できます。資格証明は、認証の際、プリンシパルをサブジェクトに移入するときに使用し、さらに認可時には、サブジェクトが実行できるアクションを決定するときに使用します。
Oracle Platform Security Servicesは資格証明ストア・フレームワーク(CSF)を備えています。これは、アプリケーションで資格証明を安全に作成、読取り、更新および管理する際に使用できる一連のAPIです。資格証明ストアは、データベースやLDAPベースのリポジトリなどの外部システムにアクセスするための資格証明(ユーザー名およびパスワード)の格納に使用します。
この章の内容は次のとおりです。
OPSSでは、そこに置かれたデータに応じて次のタイプの資格証明がサポートされています。
CSFでは、資格証明は、マップ名およびキー名によって一意に識別されます。通常、マップ名は、アプリケーションの名前に対応しており、同じマップ名を持つすべての資格証明により、資格証明の論理グループ(そのアプリケーションによって使用される資格証明など)が定義されます。マップ名とキー名の組合せは、資格証明ストアにあるすべてのエントリで一意である必要があります。
デフォルトの資格証明ストアはOracleウォレットです。本番環境では、資格証明ストアとしてLDAPベースのOracle Internet Directoryを使用することをお薦めします。また、X.509証明書の格納にはOracleウォレットを使用することをお薦めします。資格証明ストアでは、エンドユーザーのデジタル証明は格納できません。
資格証明をプロビジョニング、取得、変更または削除できるのは、適切な管理ロールのユーザーのみに限られます。次の項では、管理者がFusion Middleware ControlページまたはOPSSスクリプトを使用して資格証明を管理する方法、およびコードからCSF内のデータにアクセスする方法を説明します。
ここでは、資格証明の作成、表示、削除、更新をはじめとして、Fusion Middleware Controlを使用して資格証明を管理する手順を説明します。
Fusion Middleware Controlにログインし、「ドメイン」→「セキュリティ」→「資格証明」とナビゲートして、「資格証明」ページを表示します。次の図にこのページの一部を示します。
「資格証明ストア・プロバイダ」領域は読取り専用です。この領域を開くと、ドメインで現在使用している資格証明ストア・プロバイダが表示されます。
この読取り専用領域にある表を使用して、資格証明の作成、編集および検索が可能です。
どの時点でも、「削除」ボタンを使用すると、表で選択した項目(キーまたはマップ)が削除されます。資格証明マップを削除すると、そのマップにあるすべてのキーが削除されます。同様に、選択した項目のデータを表示または変更するには、「編集」ボタンを使用します。
指定したキー名と一致する資格証明を表示するには、「資格証明キー名」ボックスに一致対象の文字列を入力し、ボックスの右側にある青いボタンをクリックします。問合せの結果が、表に表示されます。
問合せの結果を調べた後、資格証明のリストを再表示するには、「ドメイン名」→「セキュリティ」→「資格証明」を選択します。
資格証明マップを作成する手順は、次のとおりです。
「マップの作成」をクリックして、「マップの作成」ダイアログ・ボックスを表示します。
このダイアログ・ボックスで、作成する資格証明のマップの名前を入力します。
「OK」をクリックして、「資格証明」ページに戻ります。新しい資格証明マップ名が、マップ・アイコンとともに表に表示されます。
資格証明マップにキーを追加する手順は、次のとおりです。
「キーの作成」をクリックして、「キーの作成」ダイアログ・ボックスを表示します。
このダイアログで、「マップの選択」メニューから作成しているキーのマップを選択し、「キー」テキスト・ボックスにキーを入力して、「タイプ」プルダウン・メニューからタイプ(「パスワード」または「汎用」)を選択します。選択したタイプに応じてダイアログの外観が変わります。
「パスワード」を選択した場合は、必須フィールド(「ユーザー名」、「パスワード」、「パスワードの確認」)に入力します。
「汎用」を選択した場合は、「キー」必須フィールドに入力し、「テキストとして入力」ラジオ・ボタンを選択して資格証明情報をテキストとして入力するか、「プロパティ名と値のペアのマップを入力」ラジオ・ボタンを選択してキーと値のペアのリストの形式でキーと値のペアを追加します。「行の追加」をクリックして、追加した行にプロパティ名、値、および値の確認を入力します。
図10-1は、汎用キーの作成に使用される「キーの作成」ダイアログを示しています。
「OK」をクリックして「資格証明」ページに戻ります。新しいキーが、選択したマップに対応するマップ・アイコンの下に表示されます。
キーを編集する手順は次のとおりです。
表からキーを選択します。
「編集」をクリックして、「キーの編集」ダイアログを表示します。
このダイアログで、必要に応じてキーのデータを変更します。汎用キーを編集する場合は、行の横の赤のXを使用すると、対応するプロパティと値のペアが削除されます。
図10-2は、汎用キーの編集に使用される「キーの編集」ダイアログを示しています。
「OK」をクリックして変更内容を保存して、「資格証明」ページに戻ります。
ADFアプリケーションに固有の考慮事項については、Oracle Fusion Middleware Oracle Application Development Framework管理者ガイドのアプリケーションを使用してデプロイする資格証明の編集方法に関する項を参照してください。
キーまたはマップを削除する手順は次のとおりです。
表から項目を選択します。
「削除」をクリックして、項目の削除を確認します。
Oracle WebLogic Serverの場合、OPSSスクリプトはWLSTスクリプトで、WebSphere Application Serverの場合はWASAdminスクリプトです。この項に記載されたスクリプトは、WebLogic Application ServerとWebSphere Application Serverの両プラットフォームに適用されます。
オンライン・スクリプトとは、実行中のサーバーとの接続が必要なスクリプトです。特に指定がないかぎり、この項に記載されたスクリプトはオンライン・スクリプトで、ベースがファイル、LDAP、DBのいずれであるかにかかわりなくポリシー・ストアで動作します。動作にサーバーの実行を必要としないオフラインのスクリプトもいくつか存在します。
読取り専用スクリプトは、モニター、オペレータ、コンフィギュレータまたはAdminというWebLogicグループに属するユーザーのみが実行できます。読取り-書込みスクリプトは、AdminまたはコンフィギュレータのWebLogicグループに属するユーザーのみが実行できます。WLSTスクリプトはすべて、Oracle WebLogic Serverをインストールすれば、追加設定なしで使用できます。
WLSTスクリプトは、インタラクティブ・モードでもスクリプト・モードでも実行できます。インタラクティブ・モードの場合は、コマンドライン・プロンプトにスクリプトを入力すると、応答が即座に表示されます。スクリプト・モードの場合、スクリプトをテキスト・ファイル(ファイル名拡張子は.py)に記述して、シェル・スクリプトのディレクティブのように入力なしで実行できます。
WASAdminスクリプトは、インタラクティブ・モードでのみ実行できます。詳細は、Oracle Fusion Middlewareサード・パーティ・アプリケーション・サーバー・ガイドを参照してください。
OPSSスクリプトを実行する場合のプラットフォーム固有の要件は、「重要事項」を参照してください。
OPSSにはサポートされているすべてのプラットフォームで資格証明の管理に使用できる次のスクリプトが用意されています(特に指定がないかぎりこのスクリプトはすべてオンラインです)。
スクリプトlistCred
では、資格証明ストア内の、指定したマップ名とキー名を持つ資格証明の属性値のリストが返されます。このスクリプトでは、パスワード・タイプの資格証明にカプセル化されたデータのみがリストされます。
スクリプト・モード構文
listCred.py -map mapName -key keyName
インタラクティブ・モード構文
listCred(map="mapName", key="keyName")
引数(すべて必須)の意味は、次のとおりです。
map
では、マップ名(フォルダ)を指定します。
key
では、キー名を指定します。
使用例
次の呼出しでは、マップ名myMap
およびキー名myKey
を持つ資格証明内のすべての情報(ユーザー名、パスワード、説明など)が返されます。
listCred.py -map myMap -key myKey
スクリプトupdateCred
では、資格証明ストア内の、指定したマップ名およびキー名を持つ資格証明のタイプ、ユーザー名およびパスワードが変更されます。このスクリプトでは、パスワード・タイプの資格証明にカプセル化されたデータのみが更新されます。インタラクティブ・モードのみがサポートされています。
インタラクティブ・モード構文
updateCred(map="mapName", key="keyName", user="userName", password="passW", [desc="description"])
引数(オプションの引数は、大カッコで囲んであります)の意味は、次のとおりです。
map
では、資格証明ストアのマップ名(フォルダ)を指定します。
key
では、キー名を指定します。
user
では、資格証明のユーザー名を指定します。
password
では、資格証明のパスワードを指定します。
desc
では、資格証明を説明する文字列を指定します。
使用例
次の呼出しでは、マップ名myMap
およびキー名myKey
を持つパスワード資格証明のユーザー名、パスワードおよび説明が更新されます。
updateCred(map="myMap", key="myKey", user="myUsr", password="myPassw")
スクリプトcreateCred
では、資格証明ストア内に、指定したマップ名、キー名、ユーザー名およびパスワードの資格証明が作成されます。このスクリプトで作成できるのは、パスワード・タイプの資格証明に限られます。インタラクティブ・モードのみがサポートされます。
createCred(map="mapName", key="keyName", user="userName", password="passW", [desc="description"])
引数(オプションの引数は、大カッコで囲んであります)の意味は、次のとおりです。
map
では、資格証明のマップ名(フォルダ)を指定します。
key
では、資格証明のキー名を指定します。
user
では、資格証明のユーザー名を指定します。
password
では、資格証明のパスワードを指定します。
desc
では、資格証明を説明する文字列を指定します。
使用例
次の呼出しでは、指定したデータでパスワード資格証明が作成されます。
createCred(map="myMap", key="myKey", user="myUsr", password="myPassw")
スクリプトdeleteCred
では、指定したマップ名およびキー名を持つ資格証明が、資格証明ストアから削除されます。
スクリプト・モード構文
deleteCred.py -map mapName -key keyName
インタラクティブ・モード構文
deleteCred(map="mapName",key="keyName")
引数(すべて必須)の意味は、次のとおりです。
map
では、マップ名(フォルダ)を指定します。
key
では、キー名を指定します。
使用例
次の呼出しでは、マップ名myMap
およびキー名myKey
を持つ資格証明が削除されます。
deleteCred.py -map myMap -key myKey
オフライン・スクリプトmodifyBootStrapCredential
では、デフォルトのjps contextで構成されているブートストラップ資格証明が変更されます。このスクリプトは通常、次のシナリオで使用されます。ポリシー・ストアおよび資格証明ストアがLDAPベースで、LDAPストア(LDAPサーバーに格納)にアクセスするための資格証明が変更されたとします。このような場合にこのスクリプトを使用すると、ブートストラップ資格証明ストアにそれらの変更をシードできます。
このスクリプトは、インタラクティブ・モードでのみ実行できます。
インタラクティブ・モード構文
modifyBootStrapCredential(jpsConfigFile="pathName", username="usrName", password="usrPass")
引数(すべて必須)の意味は、次のとおりです。
jpsConfigFile
では、このスクリプトを実行する場所を基準とした相対パスでファイルjps-config.xml
の場所を指定します。
username
では、LDAPストアでのユーザーの識別名を指定します。
password
では、ユーザーのパスワードを指定します。
使用例
LDAPストアで、cn=orcladmin
という識別名のユーザーのパスワードがwelcome1
に変更されたとします。また、構成ファイルjps-config.xml
は現在のディレクトリにあるとします。この場合、次の呼出しでは、ブートストラップ資格証明ストアにあるパスワードがwelcome1
に変更されます。
modifyBootStrapCredential(jpsConfigFile='./jps-config.xml', username='cn=orcladmin', password='welcome1')
監査サービスに関する出力は無視してかまいません。
オフライン・スクリプトaddBootStrapCredential
では、jps 構成ファイルのデフォルトのjps contextで構成されているブートストラップ資格証明に指定のマップ、キー、ユーザー名、ユーザー・パスワードを持つパスワード資格証明が追加されます。
このスクリプトは、インタラクティブ・モードでのみ実行できます。
インタラクティブ・モード構文
addBootStrapCredential(jpsConfigFile="pathName", map="mapName", key="keyName", username="usrName", password="usrPass")
引数(すべて必須)の意味は、次のとおりです。
jpsConfigFile
では、このスクリプトを実行する場所を基準とした相対パスでファイルjps-config.xml
の場所を指定します。
map
では、追加する資格証明のマップを指定します。
key
では、追加する資格証明のキーを指定します。
username
では、追加する資格証明のユーザーの名前を指定します。
password
では、追加する資格証明のユーザーのパスワードを指定します。
使用例
次の呼出しでは、ブートストラップ資格証明ストアに資格証明が追加されます。
addBootStrapCredential(jpsConfigFile='./jps-config.xml', map='myMapName', key='myKeyName', username='myUser', password='myPassword')