プログラム内に記述するパスワードの秘匿化
[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 物理名 : |