プログラム内に記述するパスワードの秘匿化
[OS] ALL
[リリース] 9.1以降
[キーワード] Base, ACCESS, password, hide, encoding
[質問]RDBMSやSAS Server(SAS Metadata Serverなど)にアクセスするSASプログラムを作成する際、 パスワードをそのまま目で確認できる状態(平文:プレーンテキスト形式)で記述しない方法はありますか?
[回答]SAS9.1から新たに提供されたPWENCODEプロシジャを使用すると、 パスワードをSASだけが解釈できる形式に変換できます。 また、OUT=オプションにファイル参照名を指定することで、 変換されたパスワードが保存されたテキストファイルを作成することもできます。
/* パスワードの変換 */
PROC PWENCODE IN="mypass";
RUN;
上記のサンプルプログラムを実行すると、ログウィンドウに下記のログが出力されます。
1 PROC PWENCODE IN="mypass";
2 RUN;
{sas001}bXlwYXNz
NOTE: PROCEDURE PWENCODE 処理 (合計処理時間):
処理時間 0.00 秒
CPU 時間 0.01 秒
以下は、上記サンプルプログラムで変換されたパスワードを使って、ORACLEデータベースに接続する例です。
/** ORACLEデータベースへの接続 **/
LIBNAME oralib oracle user=demo password="{sas001}bXlwYXNz";
ログウィンドウでは、パスワードが「XXXX・・・・」と表示されます。
3 LIBNAME oralib oracle user=demo password=XXXXXXXXXXXXXXXXXX;
NOTE: ライブラリ参照名 ORALIB を次のように割り当てました。
エンジン : ORACLE
物理名 :
|
|