sql admin@salesadb_low
azure % sql admin@salesadb_low
SQLcl: 水 8月 20 14:57:53 2025のリリース25.2 Production
Copyright (c) 1982, 2025, Oracle. All rights reserved.
パスワード (**********?) **************
Last Successful login time: 水 8月 20 2025 14:58:01 +09:00
接続先:
Oracle Database 23ai Enterprise Edition Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems
Version 23.9.0.25.08
SQL>
create audit policy mcp_hr_emp
actions
all on hr.employees
when
q'~SYS_CONTEXT('USERENV','AUTHENTICATION_METHOD') = 'TOKEN_GLOBAL'~'
evaluate per statement;
SQL> create audit policy mcp_hr_emp
2 actions
3 all on hr.employees
4 when
5 q'~SYS_CONTEXT('USERENV','AUTHENTICATION_METHOD') = 'TOKEN_GLOBAL'~'
6* evaluate per statement;
Audit POLICYは作成されました。
SQL>
audit context namespace userenv attributes authentication_method, authenticated_identity;
SQL> audit context namespace userenv attributes authentication_method, authenticated_identity;
Auditが正常に実行されました。
SQL>
統合監査ポリシーMCP_HR_EMPを適用します。
audit policy mcp_hr_emp;
SQL> audit policy mcp_hr_emp;
Auditが正常に実行されました。
SQL>
別ターミナルから、Entra IDで認証してデータベースSALESADBに接続します。接続後、表HR.EMPLOYEESの行数をカウントします。
select count(*) from hr.employees;
azure % sql /@salesadb_azcode
SQLcl: 水 8月 20 15:10:28 2025のリリース25.2 Production
Copyright (c) 1982, 2025, Oracle. All rights reserved.
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code OYVQQZYRV to authenticate.
SQL> select count(*) from hr.employees;
COUNT(*)
___________
107
SQL>
上記のSELECT文の監査レコードを確認します。
select event_timestamp, sql_text, application_contexts from unified_audit_trail where object_schema = 'HR' and object_name = 'EMPLOYEES' order by event_timestamp;
SQL> select event_timestamp, sql_text, application_contexts from unified_audit_trail where object_schema = 'HR' and object_name = 'EMPLOYEES' order by event_timestamp;
EVENT_TIMESTAMP SQL_TEXT APPLICATION_CONTEXTS
______________________________ _____________________________________ ____________________________________________________________________________________________________________________________________________________________________________
25-08-20 15:11:35.317798000 select count(*) from hr.employees (USERENV,AUTHENTICATED_IDENTITY=yuji______outlook.com_EXT_@________outlook.onmicrosoft.com); (USERENV,AUTHENTICATION_METHOD=TOKEN_GLOBAL); (USERENV,SESSION_USER=MCPUSER)
SQL>
noaudit policy mcp_hr_emp;
drop audit policy mcp_hr_emp;
begin
dbms_audit_mgmt.clean_audit_trail(
audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_UNIFIED,
use_last_arch_timestamp => false,
container => DBMS_AUDIT_MGMT.CONTAINER_CURRENT
);
end;
/
SQL> noaudit policy mcp_hr_emp;
Noauditが正常に実行されました。
SQL> drop audit policy mcp_hr_emp;
Audit POLICYが削除されました。
SQL> begin
2 dbms_audit_mgmt.clean_audit_trail(
3 audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_UNIFIED,
4 use_last_arch_timestamp => false,
5 container => DBMS_AUDIT_MGMT.CONTAINER_CURRENT);
6 end;
7* /
PL/SQLプロシージャが正常に完了しました。
SQL>
今回の記事は以上になります。