APEXを利用していると、いつの間にかパスワードを変えてくださいと言われて、そのたびにほかのユーザーに連係したりとプロトタイプ制作などをしているときには煩わしいときがあります。
社内デモ環境やプロトタイプ等であまりセキュリティ要件が高くない場合に、パスワード期限をなくしてしまう方法を紹介します。
APEXはデータベースユーザと考えがちょっと違うので、せっかくなので両方紹介します。
APEXの管理画面から、SQL WorkshopでSQL Commandを選択します。
SQL Commandを実行できますので、まずはユーザーのパスワード期限を以下のSQLで確認
ちなみにデータベースユーザはこんな感じです。
SELECT resource_name, limit
FROM dba_profiles
WHERE profile = 'DEFAULT'
AND resource_type = 'PASSWORD';
以下のような出力結果が確認できます。
RESOURCE_NAME | LIMIT |
---|---|
FAILED_LOGIN_ATTEMPTS | 10 |
PASSWORD_LIFE_TIME | 180 |
PASSWORD_REUSE_TIME | UNLIMITED |
PASSWORD_REUSE_MAX | UNLIMITED |
PASSWORD_VERIFY_FUNCTION | NULL |
PASSWORD_LOCK_TIME | 1 |
PASSWORD_GRACE_TIME | 7 |
PASSWORD_LIFE_TIMEが180になっているので、6か月ごとにリセットされる設定ですね。
ではさっそく以下のSQLで設定を変えてしまいましょう。
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
Auto Commitにチェックが入っていると自動commitされてしまうので、rollbackでしても戻らなくなるので、ご注意ください。
実行するとPASSWORD_LIFE_TIMEがUNLIMITEDになります。
RESOURCE_NAME | LIMIT |
---|---|
FAILED_LOGIN_ATTEMPTS | 10 |
PASSWORD_LIFE_TIME | UNLIMITED |
PASSWORD_REUSE_TIME | UNLIMITED |
PASSWORD_REUSE_MAX | UNLIMITED |
PASSWORD_VERIFY_FUNCTION | NULL |
PASSWORD_LOCK_TIME | 1 |
PASSWORD_GRACE_TIME | 7 |
ではAPEXもやっていきます。
ワークスペースを初期ワークスペースでログインします。
Workspace : Internal
Username : admin
Password : the admin password<-DBCS作成時のパスワードですね。
Manage Password Complexityに飛んでいき、Workspace Login Controlの設定を変えます。
Require User Account Expiration and Locking to No
Account Password Lifetime (days) : 99999
と設定します。
設定上無限は無理ですが、100年後以上にすることはできます。
100年以上動くものはプロトタイプではないと思いますので、今回の方法はあくまでデモとかプロトタイプ向けですね。
これで後はまったりAPEXで遊べそうです。