3. Database Vaultの動作を確認する#
レルムのアクセス制御、SYSユーザーの制限、そしてIPアドレス制限を使用したアクセス制御の動作を確認します。
SYSユーザーのアクセス確認#
Database Vaultが有効化された環境では、SYSユーザーはユーザーを作成できません。 この操作は、C##DVACCTMGR(アカウント管理者)ユーザーに委任されます。
SQL> create user test;
create user test
*
ERROR at line 1:
ORA-01031: insufficient privileges
Help: https://docs.oracle.com/error-help/db/ora-01031/
レルム内のオブジェクトにアクセスできないことを確認します。
SQL> select * from hr.regions;
select * from hr.regions
*
ERROR at line 1:
ORA-01031: insufficient privileges
Help: https://docs.oracle.com/error-help/db/ora-01031/
HRユーザーおよびSALES_APPユーザーのアクセス確認#
レルム認可を行ったHRユーザーまたはSALES_APPユーザーからは、SYSユーザーではアクセスできなかったREGIONS表にアクセスできることを確認します。
HRユーザーまたはSALES_APPユーザー#
SQL> select * from hr.regions;
REGION_ID REGION_NAME
---------- -------------------------
10 Europe
20 Americas
30 Asia
40 Oceania
50 Africa
APPユーザー#
APPユーザーにはIPアドレスによる制限付きで認可が付与されています。 この設定に基づき、許可されたIPアドレスからのみアクセス可能であることを確認します。
許可されたIPアドレスからのアクセスの場合#
APPユーザー#
SQL> set markup csv on
SQL> select SYS_CONTEXT('USERENV','IP_ADDRESS');
"SYS_CONTEXT('USERENV','IP_ADDRESS')"
"xxx.xxx.xxx.xxx"
SQL> select * from hr.regions;
"REGION_ID","REGION_NAME"
10,"Europe"
20,"Americas"
30,"Asia"
40,"Oceania"
50,"Africa"
許可されていないIPアドレスからのアクセスの場合#
APPユーザー#
SQL> set markup csv on
SQL> select SYS_CONTEXT('USERENV','IP_ADDRESS');
"SYS_CONTEXT('USERENV','IP_ADDRESS')"
"yyy.yyy.yyy.yyy"
SQL> select * from hr.regions;
select * from hr.regions
*
ERROR at line 1:
ORA-47306: 20000: DV_Error: Can only be accessed from a specific IP address
Help: https://docs.oracle.com/error-help/db/ora-47306/
エラーメッセージに、レルム認可時に設定したカスタムエラーメッセージが表示されていることも分かります。