0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Oracle AI Database 26ai でサポート対象外となったセキュリティ関連機能

Posted at

 Oracle ACE Pro 篠田です。本記事は JPOUG Advent Calendar 2025 20日目の記事です。本記事では Oracle Database 19c では利用できた機能のうち Oracle AI Database 26ai でサポート対象外になったセキュリティ関連機能について検証しています。

Oracle AI Database 26ai の標準監査

 標準監査機能は Oracle Database 19c でも非推奨でしたが、Oracle AI Database 26ai では明確にサポート対象外となりました。基本的には統合監査が推奨ですが、ファイングレイン監査機能は引き続き利用できます。

データベースオプションの確認
SQL> SELECT parameter, value FROM V$OPTION WHERE PARAMETER LIKE '%Audit%';

PARAMETER                      VALUE
------------------------------ ------------------------------
Fine-grained Auditing          TRUE
Unified Auditing               TRUE

監査設定

Oracle AI Database 26ai で標準監査設定を実行してみます。

標準監査設定
SQL> AUDIT CREATE SESSION;
AUDIT CREATE SESSION
      *
ERROR at line 1:
ORA-46401: No new traditional AUDIT configuration is allowed. Traditional
auditing is desupported, and you should use unified auditing in its place.
Help: https://docs.oracle.com/error-help/db/ora-46401/

上記のように AUDIT 文がエラー(ORA-46401)となり、サポート対象外であるというメッセージが出力されます。AUDIT 文の実行自体ができなくなっています。このため「サポート対象外だが使う」という選択肢は無くなりました。監査証跡を参照する DBA_AUDIT_TRAIL ビューは残っています。

DBA_AUDIT_TRAIL ビュー
SQL> DESCRIBE DBA_AUDIT_TRAIL
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 OS_USERNAME                                        VARCHAR2(255)
 USERNAME                                           VARCHAR2(128)
 USERHOST                                           VARCHAR2(128)
 TERMINAL                                           VARCHAR2(255)
 TIMESTAMP                                          DATE
 OWNER                                              VARCHAR2(128)
 OBJ_NAME                                           VARCHAR2(128)
 ACTION                                    NOT NULL NUMBER
 ACTION_NAME                                        VARCHAR2(28)
 NEW_OWNER                                          VARCHAR2(128)
 NEW_NAME                                           VARCHAR2(128)
 OBJ_PRIVILEGE                                      VARCHAR2(34)
 SYS_PRIVILEGE                                      VARCHAR2(40)
 ADMIN_OPTION                                       VARCHAR2(1)
 GRANTEE                                            VARCHAR2(128)
 AUDIT_OPTION                                       VARCHAR2(40)
 SES_ACTIONS                                        VARCHAR2(19)
 LOGOFF_TIME                                        DATE
 LOGOFF_LREAD                                       NUMBER
 LOGOFF_PREAD                                       NUMBER
 LOGOFF_LWRITE                                      NUMBER
 LOGOFF_DLOCK                                       VARCHAR2(40)
 COMMENT_TEXT                                       VARCHAR2(4000)
 SESSIONID                                 NOT NULL NUMBER
 ENTRYID                                   NOT NULL NUMBER
 STATEMENTID                               NOT NULL NUMBER
 RETURNCODE                                NOT NULL NUMBER
 PRIV_USED                                          VARCHAR2(40)
 CLIENT_ID                                          VARCHAR2(128)
 ECONTEXT_ID                                        VARCHAR2(64)
 SESSION_CPU                                        NUMBER
 EXTENDED_TIMESTAMP                                 TIMESTAMP(6) WITH TIME ZONE
 PROXY_SESSIONID                                    NUMBER
 GLOBAL_UID                                         VARCHAR2(32)
 INSTANCE_NUMBER                                    NUMBER
 OS_PROCESS                                         VARCHAR2(16)
 TRANSACTIONID                                      RAW(8)
 SCN                                                NUMBER
 SQL_BIND                                           NVARCHAR2(2000)
 SQL_TEXT                                           NVARCHAR2(2000)
 OBJ_EDITION_NAME                                   VARCHAR2(128)
 DBID                                               NUMBER
 RLS_INFO                                           CLOB
 CURRENT_USER                                       VARCHAR2(128)

統合監査への移行

 標準監査では AUDIT 文で監査を設定していましたが、統合監査では監査ポリシーを設定します。標準で有効になっている監査ポリシーを確認します。

標準で有効になっている監査ポリシー
SQL> SELECT policy_name FROM audit_unified_enabled_policies;

POLICY_NAME
--------------------------------------------------------------------------------
ORA_LOGIN_LOGOUT
ORA$DICTIONARY_SENS_COL_ACCESS
ORA_DV_SCHEMA_CHANGES
ORA_DV_DEFAULT_PROTECTION

 ORA_LOGIN_LOGOUT ポリシーはクライアントの接続、切断を監査し、ORA$DICTIONARY_SENS_COL_ACCESS ポリシーは高機密列に対するアクセスを監査するためのポリシーです。標準で構成されているポリシーは audit_unified_policies ビューを検索します。標準で作成される監査ポリシー名は Oracle Database 19c の頃とは変わっています。

標準で構成されるポリシー
SQL> SELECT DISTINCT policy_name FROM audit_unified_policies ORDER BY 1;

POLICY_NAME
----------------------------------------
ORA$DICTIONARY_SENS_COL_ACCESS
ORA$DICTIONARY_SNET_RPC_ACCESS
ORA_ACCOUNT_MGMT
ORA_ALL_TOPLEVEL_ACTIONS
ORA_CIS_RECOMMENDATIONS
ORA_DATABASE_PARAMETER
ORA_DV_DEFAULT_PROTECTION
ORA_DV_SCHEMA_CHANGES
ORA_LOGIN_LOGOUT
ORA_LOGON_FAILURES
ORA_LOGON_LOGOFF
ORA_OLS_SCHEMA_CHANGES
ORA_RAS_POLICY_MGMT
ORA_RAS_SESSION_MGMT
ORA_SECURECONFIG
ORA_STIG_RECOMMENDATIONS

16 rows selected.

標準監査関連の初期化パラメーター

 標準監査関連の初期化パラメーターを検証します。標準監査に関係する以下の初期化パラメーターは残っていますが、Deprecated 扱いとなります。これらの初期化パラメーターは設定変更できますが機能しません。

初期化パラメーター名 説明 備考
audit_file_dest 監査証跡出力ディレクトリ
audit_sys_operations SYS ユーザー監査
audit_syslog_level 監査情報 SYSLOG 転送 unified_audit_common_systemlog で設定
audit_trail 監査証跡出力方法

これらの初期化パラメーターを変更すると、インスタンス起動時に警告メッセージ「ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance」が出力されます。

標準監査に関する初期化パラメーターの変更
SQL> ALTER SYSTEM SET audit_sys_operations=TRUE SCOPE=SPFILE;

System altered.

SQL> SHUTDOWN IMMEDIATE
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> STARTUP
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
ORACLE instance started.

Total System Global Area 1083278096 bytes
Fixed Size                  5006096 bytes
Variable Size             536870912 bytes
Database Buffers          536870912 bytes
Redo Buffers                4530176 bytes
Database mounted.
Database opened.

セキュリティ関連の初期化パラメーター

Oracle AI Database 26ai では初期化パラメーター sec_case_sensitive_logon が廃止されました。このためパスワードの大文字/小文字を区別せずに接続できなくなっています。それ以外の初期化パラメーターには変化がありません。

初期化パラメーター 19c 26ai デフォルト値
sec_case_sensitive_logon 廃止 TRUE
sec_max_failed_login_attempts 3
sec_protocol_error_further_action (DROP,3)
sec_protocol_error_trace_action TRACE
sec_return_server_release_banner FALSE

 初期化パラメーター sec_case_sensitive_logon は廃止され、SQL*Plus から実行される SHOW PARAMETER コマンドや、V$PARAMETER ビューからは参照できません。しかし ALTER SYSTEM SET 文で変更しようとすると、パラメーターが存在しないエラー(ORA-02065)ではなく、サポート対象外のエラー(ORA-25138)が出力されます。

廃止された初期化パラメーター sec_case_sensitive_logon の変更
SQL> ALTER SYSTEM SET sec_case_sensitive_logon = FALSE;
ALTER SYSTEM SET sec_case_sensitive_logon = FALSE
*
ERROR at line 1:
ORA-25138: SEC_CASE_SENSITIVE_LOGON initialization parameter has been made
obsolete
Help: https://docs.oracle.com/error-help/db/ora-25138/

sqlnet.ora ファイルの設定

 sqlnet.ora ファイルのパラメーター SQLNET.ALLOWED_LOGON_VERSION_SERVER と SQLNET.ALLOWED_LOGON_VERSION_CLIENT は指定できる値が少なくなっています。11 以下の値はサポートされません。ただし設定してもエラーにはなりません。

設定値 19c 26ai 備考
12a
12 デフォルト
11 非サポート
10 非サポート
9 非サポート
8 非サポート

参考資料

Oracle AI Database 26ai Database Upgrade Guide - 10 Oracle Database Changes, Desupports, and Deprecations

Author: Noriyoshi Shinoda / Date: December 20, 2025

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?