Oracleのセキュリティ標準を満たすために、暗号化アルゴリズムを実行するには、JDK 7、JDK 8以降のバージョンが必要です。
モデルには、WebLogic Serverドメイン構成が含まれます。 特定のタイプのリソースおよびその他の構成にはパスワードが必要です。たとえば、JDBCデータ・ソースでは、データベース接続を確立するユーザーのパスワードが必要です。 パスワードを必要とするリソースを作成または構成する場合は、そのパスワードをモデルに直接または変数ファイルに指定する必要があります。 クリアテキストのパスワードはソースとして構成を格納することには影響しないため、Encrypt Model Toolはモデル作成者にパスフレーズ・ベースの可逆暗号化を使用したモデルおよび変数ファイル内のパスワードを暗号化を提供します。 暗号化されたパスワードを含むモデルでツールを使用する場合、必要なWebLogic Server構成(ドメイン固有のキーに基づく独自の暗号化メカニズムをサポートする)をツールがメモリー内のパスワードを復号化できるように、暗号化パスフレーズを指定する必要があります。 WebLogic Deploy Tooling暗号化メカニズムを使用する必要はありませんが、クリアテキスト・パスワードをディスクに格納することは望ましくありません。
Create Domain、Update DomainおよびDeploy Applications Toolsでは、一連のモデルを使用できます。 Encryptモデルはモデルのセットを暗号化します。 各モデルは、同じパスフレーズを使用して暗号化され、元のロケーションに書き込まれます。
WebLogic Deploy Toolingでは、モデル内でドメインで暗号化されたパスワードを直接使用することもできます。 Encrypt Model Toolは、このメソッドと併用できません。
次のモデル例から始めます:
domainInfo:
AdminUserName: weblogic
AdminPassword: welcome1
ServerStartMode: prod
topology:
Name: DemoDomain
SecurityConfiguration:
NodeManagerUsername: weblogic
NodeManagerPasswordEncrypted: welcome1
Security:
Group:
FriscoGroup:
Description: The WLS Deploy development group
User:
Robert:
Password: welcome1
GroupMemberOf: [ Administrators, FriscoGroup ]
Derek:
Password: welcome1
GroupMemberOf: 'Administrators, FriscoGroup'
Richard:
Password: welcome1
GroupMemberOf: [ FriscoGroup ]
Carolyn:
Password: welcome1
GroupMemberOf: FriscoGroup
Mike:
Password: welcome1
GroupMemberOf: FriscoGroup
Johnny:
Password: welcome1
GroupMemberOf: FriscoGroup
Gopi:
Password: welcome1
GroupMemberOf: FriscoGroup
モデルでEncrypt Model Toolを実行するには、次のコマンドを実行します:
$ weblogic-deploy\bin\encryptModel.cmd -oracle_home c:\wls12213 -model_file UnencryptedDemoDomain.yaml
このツールでは、暗号化パスフレーズを2回入力し、モデル内で検出されたパスワードを暗号化し、変数値を持つパスワード・フィールドをスキップして、次のモデルのような結果を生成します。 標準入力プロンプトは、他の2つのオプションでバイパスできます。 パスフレーズを環境変数に格納し、コマンド行オプション-passphrase_env
で環境変数名を使用します。 もう1つのオプションは、パスフレーズ値を含むファイルを作成することです。 コマンド行オプション-passphrase_file
を使用して、このファイル名を渡します。
domainInfo:
AdminUserName: weblogic
AdminPassword: '{AES}a0dacEQ4Q2JnTmI4VHp5NjIzVHNPRFg5ZjRiVDJ4NzU6T1M0SGYwM2xBeHdRdHFWVTpWZEh6bkd4NzZSQT0='
ServerStartMode: prod
topology:
Name: DemoDomain
SecurityConfiguration:
NodeManagerUsername: weblogic
NodeManagerPasswordEncrypted: '{AES}WndJQWNySWpoY0VEbFpmR2V1RFhvamVFdGwzandtaFU6L1d4V0dPRFpsaXJIUkl2djpQdUdLaTloR1IxTT0='
Security:
Group:
FriscoGroup:
Description: The WebLogic Deploy development group
User:
Robert:
Password: '{AES}VFIzVmdwcWNLeHBPaWhyRy82VER6WFV6aHRPbGcwMjQ6bS90OGVSTnJxWTIvZjkrRjpjSzBQUHlOWWpWTT0='
GroupMemberOf: [ Administrators, FriscoGroup ]
Derek:
Password: '{AES}R1BTM21ZSkxpdTNIZjNqcTlsSC9PeHV4aXJoT3kxazM6M1dLOXBLeCtlc1lsVDUrWjo5VitHZUxCcjZnOD0='
GroupMemberOf: 'Administrators, FriscoGroup'
Richard:
Password: '{AES}Y3FkQmRIRGhjZEtlRjVkVVdLQU1Eb09LWDIzMlhUWVo6MjllVExsMmNmNzJzZDFjaTpNcVNDbUs2cnRFRT0='
GroupMemberOf: [ FriscoGroup ]
Carolyn:
Password: '{AES}cW8wczJqZXJZOHVsTGNOTmlqTGpuZGFoSkY2ME5WbTk6c0VaWGs1ME5pemlKdC9wajpFaTJPRS9ZQlcvND0='
GroupMemberOf: FriscoGroup
Mike:
Password: '{AES}cnF6Z3JOVWcvc0czN3JVb1g5T2FidmRsSU51anJCa0Y6UlBsNVFsOFlXU29xUlY1aDp3VWZWYU5VOVRkMD0='
GroupMemberOf: FriscoGroup
Johnny:
Password: '{AES}UWJ5Y25Ma2RHTkNMVTZ1RnlhRkNaTUxXaXV4SjBjaWg6citwTDQvelN1aUlPdnZaSDpCMEdSWGg2ZlVJUT0='
GroupMemberOf: FriscoGroup
Gopi:
Password: '{AES}MWJGcnhtZlNyWXVrU1VXMVFxZFEvQThoS1hPN2FQdDc6MmRPaUF2Y1FCQ3VIK3MydDpZaFR5clBrN1FjOD0='
GroupMemberOf: FriscoGroup
モデルが次のモデルのように変数ファイルにパスワードを格納する場合:
resources:
JDBCSystemResource:
Generic1:
Target: mycluster
JdbcResource:
JDBCDataSourceParams:
JNDIName: [ jdbc/generic1 ]
GlobalTransactionsProtocol: TwoPhaseCommit
JDBCDriverParams:
DriverName: oracle.jdbc.xa.client.OracleXADataSource
URL: 'jdbc:oracle:thin:@//@@PROP:db.url@@'
PasswordEncrypted: '@@PROP:db.password@@'
Properties:
user:
Value: '@@PROP:db.user@@'
oracle.net.CONNECT_TIMEOUT:
Value: 5000
oracle.jdbc.ReadTimeout:
Value: 30000
JDBCConnectionPoolParams:
InitialCapacity: 3
MaxCapacity: 15
TestTableName: SQL ISVALID
TestConnectionsOnReserve: true
MailSession:
MyMailSession:
JNDIName: mail/MyMailSession
Target: mycluster
SessionUsername: john.smith@example.com
SessionPasswordEncrypted: '@@PROP:mymailsession.password@@'
Properties:
mail.store.protocol: imap
mail.imap.port: 993
mail.imap.ssl.enable: true
mail.imap.starttls.enable: true
mail.imap.host: imap.example.com
mail.impa.auth: true
mail.transport.protocol: smtp
mail.smtp.starttls.enable: true
mail.smtp.port: 465
mail.smtp.ssl.enable: true
mail.smtp.auth: true
mail.smtp.host: smtp.example.com
Encrypt Model Toolを実行し、次のようにモデル・ファイルと変数ファイルの両方を渡します:
$ weblogic-deploy\bin\encryptModel.cmd -oracle_home c:\wls12213 -model_file UnencryptedDemoDomain.yaml -variable_file UnencryptedDemoDomain.properties
変数ファイルは次のようになります:
#Variables updated after encryption
#Thu Feb 01 19:12:57 CST 2018
db.user=rpatrick
db.url=mydb.example.com:1539/PDBORCL
db.password={AES}czFXMkNFWNG9jNTNYd0hRL2R1anBnb0hDUlp4K1liQWFBdVM4UTlvMnE0NU1aMUZ5UVhiK25oaWFBc2lIQ20\=
mymailsession.password={AES}RW9nRnUzcE41WGNMdnEzNDdRQVVNWm1LMGhidkFBVXg6OUN3aXcyci82cmh3cnpNQTpmY2UycUp5YWl4UT0\=
次の環境変数を設定できます。
JAVA_HOME
JDKのロケーション。 これは、WDT暗号化アルゴリズムをサポートする有効なJDKである必要があります。 WLSDEPLOY_PROPERTIES
Javaに渡されるシステム・プロパティ。Encrypt Model ToolではWLSTを使用せずにJythonを直接使用するため、JAVA_HOME
はコマンドの実行に使用されるJDKになります(WLSTを使用する他のツールとは異なり)。
encryptModel
のパラメータ表パラメータ | 定義 | デフォルト |
---|---|---|
-manual |
モデルなしで実行し、単一パスワードの暗号化された値を取得します。 | |
-model_file |
モデル・ファイルまたはモデル・ファイルのセットのロケーション。 | |
-oracle_home |
Oracle WebLogicインストールのホーム・ディレクトリ。 ORACLE_HOME 環境変数が設定されていない場合は必須です。 |
|
-passphrase_env |
プロンプトで暗号化パスフレーズを入力する代替手段。 この値は、WDTがパスフレーズの取得に使用する環境変数名です。 | |
-passphrase_file |
プロンプトで暗号化パスフレーズを入力する代替手段。 この値は、パスフレーズを取得するためにWDTが読み取る文字列値を持つファイルの名前です。 | |
-passphrase_prompt |
WDTが暗号化パスフレーズを要求したり、標準入力から読み取ったりできるようにします。 | |
-variable_file |
モデルで使用されるすべての変数の変数値を含むプロパティ・ファイルのロケーションと名前。 |