Oracle Databaseセキュリティ・ガイドのこのリリースの変更
この章の内容は次のとおりです。
Oracle Database Security 23aiでの変更点
Oracle Database 23aiの『Oracle Databaseセキュリティ・ガイド』には、新しいセキュリティ機能が記載されています。
- Oracle DatabaseでサポートされるようになったTransport Layer Security 1.3プロトコル
Oracle Database 23ai以降、Oracle Databaseでは、Transport Layer Security (TLS)バージョン1.3がサポートされており、転送中のデータの機密性を向上させる、より安全で新しい暗号スイートを使用しています。 - 簡略化されたTransport Layer Security構成
Oracle Database 23ai以降、データベース・クライアントとサーバー間のTransport Layer Security (TLS)構成が簡略化され、さらに安全性が向上しました。 - アクセス制御を簡略化するスキーマ権限
Oracle Database 23ai以降、Oracle Databaseでは、既存のオブジェクト、システムおよび管理権限に加えてスキーマ権限がサポートされています。 - Oracle SQL FirewallがOracle Databaseに組み込まれました
Oracle Database 23ai以降、Oracle SQL Firewallは、すべての受信SQL文を検査し、明示的に認可されたSQLのみが実行されるようにします。 - 最大パスワード長の増加
Oracle Database 23ai以降、Oracle Databaseでは最大1024バイトの長さのパスワードがサポートされています。 - 読取り専用ユーザーおよびセッション
Oracle Database 23ai以降、データベースに接続しているユーザーの権限に関係なく、ユーザーまたはセッションに読取り/書込み操作を可能にするかどうかを制御できます。 - アプリケーション開発者用の新しいデータベース・ロール
Oracle Database 23ai以降、アプリケーション開発者専用の新しいロールDB_DEVELOPER_ROLE
が導入されました。これは、最小権限の原則を使用して、セキュリティを強化するためのものです。 - 職務分離保護による、SYS以外のOracleスキーマまで拡張されたOracleデータ・ディクショナリ保護
Oracle Database 23ai以降、Oracle Databaseスキーマは、SYSBACKUP
、SYSKM
、SYSRAC
およびSYSDG
スキーマの追加の職務分離保護により、データ・ディクショナリ保護を実現できるようになりました。 - リスナー証明書とサーバー証明書の両方との厳密なDN一致
Oracle Databaseリリース23ai以降、SSL_SERVER_DN_MATCH
パラメータの動作が変更されました。 - クライアント・ウォレットを使用しないTransport Layer Security接続を構成する機能
Oracle Database 23ai以降、Linuxプラットフォーム、Linux以外のプラットフォームおよびMicrosoft Windowsプラットフォームでは、ローカル・システムで既知のCAルート証明書が使用可能な場合に、Oracle Databaseクライアントは、その証明書を保持するためのウォレットを提供する必要がなくなりました。 - Kerberosライブラリの更新とその他の改善点
Oracle Database 23ai以降、Oracle DatabaseはMIT Kerberosライブラリ・バージョン1.21.2をサポートし、他のドメイン内のリソースにアクセスするためのクロスドメイン・サポートを提供します。 - ローカル自動ログイン・ウォレットの改善および保護の強化
Oracle Database 23ai以降、新規作成されたローカル自動ログイン・ウォレット(またはリリース23ai用に更新されたリリース23aiより前のウォレット)は、より安全です。 - 非推奨の暗号の使用を防止する新しいsqlnet.oraパラメータ
Oracle Database 23ai以降、SSL_ENABLE_WEAK_CIPHERS
sqlnet.ora
パラメータをFALSE
に設定することで、非推奨の暗号の使用をブロックできます。 - RADIUS構成の拡張
Oracle Database 23ai以降、Oracle Databaseでは、Request for Comments (RFC) 6613および6614のガイドラインと、最新の標準によるRADIUSセキュリティの更新がサポートされています。 - DBMS_CRYPTO PL/SQLパッケージの拡張機能
Oracle Database 23ai以降、DBMS_CRYPTO
PL/SQLパッケージには、楕円曲線Diffie-Hellman (ECDH)操作、更新された署名および検証アルゴリズム、その他の拡張機能など、複数の顧客のニーズをサポートするAPIがあります。 - Oracle Autonomous Database on Dedicated Exadata Infrastructureに対するIAMユーザーの認証と認可
Oracle Database 23ai以降、Oracle Autonomous Database on Dedicated Exadata Infrastructureに対してIAMユーザーを認証および認可できます。 - AzureユーザーがAzure AD OAAuth2アクセス・トークンを使用してOracle Databaseにログインする機能
この機能は当初、2022年6月にOracle Autonomous Databaseで使用できましたが、Microsoft Azure Active Directory (Azure AD)ユーザーは、オンプレミスおよびクラウドでOracle Databaseにログインできるようになりました。 - 表およびビューの列レベルでオブジェクト・アクションを監査する機能
Oracle Database 23ai以降、統合監査ポリシーを作成して、表およびビューの個々の列を監査できます。 - FIPS_140パラメータの統合
Oracle Database 23ai以降、FIPS_140
パラメータを使用すると、複数のOracle Databaseの環境と機能に統一された方法でFIPSを構成できます。 - 大/小文字を区別しないパスワードのサポート
Oracle Database 23ai以降では、大/小文字を区別しないパスワードはサポートされなくなりました。 - 従来の監査のサポート終了
Oracle Database 23ai以降、従来の監査はサポートされなくなりました。
Oracle DatabaseでサポートされるようになったTransport Layer Security 1.3プロトコル
Oracle Database 23ai以降、Oracle Databaseでは、Transport Layer Security (TLS)バージョン1.3がサポートされており、転送中のデータの機密性を向上させる、より安全で新しい暗号スイートを使用しています。
TLS 1.3では初期セッション設定の方が以前のTLSバージョンよりも効率的に処理されるため、TLS 1.3に移行するユーザーはTLSパフォーマンスの向上を体感できます。TLS 1.3では、転送中のデータの機密性を向上させる、より安全で新しい暗号スイートも実装されています。サポートされていないTLSプロトコル・バージョン(1.0および1.1)からバージョン1.3に、すぐに移行することをお薦めします。バージョン1.2は引き続きサポートされます。
簡略化されたTransport Layer Security構成
Oracle Database 23ai以降、データベース・クライアントとサーバー間のTransport Layer Security (TLS)構成が簡略化され、さらに安全性が向上しました。
変更内容は次のとおりです。
- クライアント
WALLET_LOCATION
パラメータのデフォルトを更新して、設定されていない場合はかわりにTNS_ADMIN
パラメータの値が使用されるようになりました。 (TLSv1.3, TLSv1.2)
などの文字列のカンマ区切りリストを受け入れることができるように、SSL_VERSION
パラメータを更新します。- 以前の証明書署名アルゴリズムを引き続き使用する必要がある環境のユーザーのために
ALLOWED_WEAK_CERT_ALGORITHMS
パラメータが導入されました。このパラメータは、ALLOW_MD5_CERTS
およびALLOW_SHA1_CERTS
パラメータに代わるものです。ALLOWED_WEAK_CERT_ALGORITHMS
が設定されていると、Oracle DatabaseはALLOW_MD5_CERTS
とALLOW_SHA1_CERTS
を無視します。ただし、ALLOWED_WEAK_CERT_ALGORITHMS
が設定されていない場合、Oracle DatabaseはALLOW_MD5_CERTS
とALLOW_SHA1_CERTS
の設定をチェックして使用します。デフォルトでは、SHA1証明書が許可され、MD5証明書は許可されません。 - 次のパラメータが非推奨となりました。
ADD_SSLV3_TO_DEFAULT
ALLOW_MD5_CERTS
ALLOW_SHA1_CERTS
- ウォレットのロード方法が変更されました
- サーバー側のウォレット: サーバー側のウォレット用の
WALLET_LOCATION
パラメータは非推奨です。かわりに、init.ora
ファイルでWALLET_ROOT
初期化パラメータを使用します。 - クライアント側のウォレット:
WALLET_LOCATION
パラメータは引き続き、クライアント側のウォレットに使用できます。
- サーバー側のウォレット: サーバー側のウォレット用の
- ウォレットの処理のパフォーマンスが改善されました
- ユーザーがデータベース・クライアントとデータベース・サーバー間でTLSを有効にするために必要な最小構成は、クライアント側の
TNS_ADMIN
ディレクトリとサーバー側のWALLET_ROOT
ディレクトリにウォレットのペアを配置する構成です。
アクセス制御を簡略化するスキーマ権限
Oracle Database 23ai以降、Oracle Databaseでは、既存のオブジェクト、システムおよび管理権限に加えてスキーマ権限がサポートされています。
行レベル・セキュリティ、ファイングレイン監査またはOracle Data Redactionのセキュリティ・ポリシーを管理する場合は、次の新しいシステム権限が必要です。これらは、データベース内のSYS
以外のすべてのスキーマでセキュリティ・ポリシーを有効にしたり、セキュリティ・ポリシーを1つのスキーマに制限するために付与できます。
ADMINISTER ROW LEVEL SECURITY POLICY
:DBMS_RLS
パッケージが行レベルのセキュリティ・ポリシーに使用される場合ADMINISTER FINE GRAINED AUDIT POLICY
:DBMS_FGA
パッケージがファイングレイン監査ポリシーに使用される場合ADMINISTER REDACT POLICY
:DBMS_REDACT
パッケージがデータ・リダクション・ポリシーに使用される場合
この新機能の一部として、次のビューが導入されました。
DBA_SCHEMA_PRIVS
ROLE_SCHEMA_PRIVS
USER_SCHEMA_PRIVS
SESSION_SCHEMA_PRIVS
V$ENABLEDSCHEMAPRIVS
以前のリリースでは、オブジェクト権限により、HR.EMPLOYEES
表などの個々のオブジェクトへのアクセスがきめ細かく制御されていました。システム権限は、特定のタイプのデータベース内のすべてのオブジェクトに同様のアクセス権(SELECT ANY TABLE
システム権限など)を管理者が付与するように設計されていました。ユーザーがアプリケーション・オブジェクトに対して十分な権限のみを提供する(最小権限の原則)必要があるアプリケーションの場合、すべてのオブジェクトに対するあらゆる権限を付与および追跡する必要がありました。したがって、同じスキーマ内の新しいオブジェクトに、新しいオブジェクト権限が必要でした。新しいスキーマ権限を使用すると、スキーマ全体に対する権限を付与できるため、アプリケーション認可が簡略化され、セキュリティが向上します。例:
GRANT SELECT ANY TABLE ON SCHEMA HR TO SCOTT;
関連トピック
Oracle SQL FirewallがOracle Databaseに組み込まれました
Oracle Database 23ai以降、Oracle SQL Firewallは、すべての受信SQL文を検査し、明示的に認可されたSQLのみが実行されるようにします。
SQLファイアウォールを使用して、データベースで処理できるSQL文を制御できます。データベース接続およびSQL文に関連付けられた接続パスを制限できます。認可されていないSQLを記録してブロックできます。
SQLファイアウォールはOracleデータベースに組み込まれているため、バイパスできません。ローカル・テキストかネットワーク・テキストか、暗号化テキストかクリア・テキストかに関係なく、すべてのSQL文が検査されます。最上位のSQL、ストアド・プロシージャおよび関連するデータベース・オブジェクトが調査されます。
SQLファイアウォールは、承認されたSQL文または接続にのみデータベース・アクセスを制限することで、一般的なデータベース攻撃に対するリアルタイムの保護を提供します。SQLインジェクション攻撃、異常なアクセス、資格証明の盗難または不正使用によるリスクを軽減します。
SQLファイアウォールは、IPアドレス、オペレーティング・システムのユーザー名、オペレーティング・システム・プログラム名などのセッション・コンテキスト・データを使用して、データベース・アカウントがデータベースに接続する方法を制限します。これにより、アプリケーション・サービス・アカウント資格証明の盗難または誤用のリスクを軽減できます。SQLファイアウォールの一般的なユースケースは、アプリケーションのワークロードに関するものです。
SQLファイアウォールは、ルートとプラガブル・データベース(PDB)の両方で使用できます。
最大パスワード長の増加
Oracle Database 23ai以降、Oracle Databaseでは最大1024バイトの長さのパスワードがサポートされています。
以前のリリースでは、Oracle Databaseのパスワードの長さおよび安全性の高いロールのパスワードの長さは最大30バイトでした。パスワードの最大長が1024バイトに増えたことで、次の利点があります。
- Oracle Identity Cloud Service (IDCS)およびIdentity Access Management (IAM)で使用されるパスワードに対応します。1024バイトに増えたことで、すべてのクラウド・デプロイメントで同一のパスワード・ルールが使用できるようになります。
- NLS構成でパスワードのマルチバイト文字が1バイト超を使用した場合、30バイトの制限は厳しすぎました。
関連トピック
読取り専用のユーザーおよびセッション
Oracle Database 23ai以降、データベースに接続しているユーザーの権限に関係なく、ユーザーまたはセッションに読取り/書込み操作を可能にするかどうかを制御できます。
READ_ONLY
セッションは、どのタイプのコンテナの、どのタイプのユーザーにも適用されます。READ_ONLY
ユーザーはローカル・ユーザーにのみ適用されます。
権限の取消しや再付与なしで任意のユーザーまたはセッションの読取り/書込み機能を無効化し再有効化できるようにすると、テスト、管理またはアプリケーション開発の目的でユーザーまたはセッションの権限を一時的に制御することがより容易になります。また、同じユーザーまたはセッションによって使用される、アプリケーションの様々な部分で、読取り/書込み動作を簡単に制御できるようになります。
アプリケーション開発者用の新しいデータベース・ロール
Oracle Database 23ai以降、アプリケーション開発者専用の新しいロールDB_DEVELOPER_ROLE
が導入されました。これは、最小権限の原則を使用して、セキュリティを強化するためのものです。
Oracle Databaseには、スキーマ・ユーザーまたはロールに付与できる多数の個別の権限の他、実行可能な多数のストアドPL/SQLパッケージまたは組込みPL/SQLパッケージがあります。アプリケーションを設計、開発およびデプロイする開発者には、これらのサブセットが必要です。アプリケーション開発者または所有者は、アプリケーション開発者が必要とするすべての権限を認識または把握していないことがあるため、データベース管理者が開発者に包括的な権限を付与する可能性があります。必要以上の権限を開発者に提供すると、潜在的なセキュリティ・リスクが発生する可能性があります。包括的な権限を付与するかわりに、アプリケーション開発者が現在付与されていない必要な権限を特定したときに、必要に応じて権限を選択的に付与します。
DB_DEVELOPER_ROLE
ロールの利点は、Oracleデータベースのアプリケーションを設計、実装およびデプロイするために必要な権限のみをアプリケーション開発者に素早く簡単に付与できることです。
職務分離保護による、SYS以外のOracleスキーマまで拡張されたOracleデータ・ディクショナリ保護
Oracle Database 23ai以降、Oracle Databaseスキーマは、SYSBACKUP
、SYSKM
、SYSRAC
およびSYSDG
スキーマの追加の職務分離保護により、データ・ディクショナリ保護を実現できるようになりました。
ディクショナリ保護は、AUDSYS
やLBACSYS
などのOracleスキーマに適用されています。ディクショナリ保護されたOracleスキーマの全リストを確認するには、次の問合せを実行します。
SELECT USERNAME, DICTIONARY_PROTECTED FROM DBA_USERS WHERE DICTIONARY_PROTECTED='YES';
ディクショナリ保護には、SYSDBA
、SYSBACKUP
、SYSKM
、SYSRAC
およびSYSDG
管理権限の基礎となるスキーマが含まれます。これらには、追加の職務分離保護があります。直接ログインとプロキシ・ログインはブロックされ、パスワードの変更はユーザーのみに制限されます。
Oracleスキーマには、Oracle Databaseの機能に不可欠な機能があります。これらのスキーマがディクショナリ保護を受けることができるようになると、Oracle Databaseの機能を危険にさらす可能性のあるこれらのスキーマ内での不注意な変更や悪意のある変更を防ぐことができます。
関連トピック
リスナー証明書とサーバー証明書の両方との厳密なDN一致
Oracle Databaseリリース23ai以降、SSL_SERVER_DN_MATCH
パラメータの動作が変更されました。
以前は、Oracle Databaseはデータベース・サーバー証明書でのみDNチェックを実行しており、接続文字列のHOSTNAME
とSERVICE_NAME
の両方の設定を部分DN一致に使用できました。
Oracle Database 23aiでは、Oracle Databaseはリスナー証明書とサーバー証明書の両方をチェックします。また、接続文字列のSERVICE_NAME
設定は、部分DN一致時のチェックに使用されません。HOSTNAME
設定は引き続き、リスナーとサーバーの両方の証明書で、証明書DNおよびサブジェクト代替名(SAN)との部分DN一致に使用できます。
TRUE
に設定すると、SSL_ALLOW_WEAK_DN_MATCH
パラメータはSSL_SERVER_DN_MATCH
をリリース23aiより前の動作に戻し、DN一致ではデータベース・サーバーの証明書のみをチェックし(ただし、リスナーはチェックしません)、サービス名を部分DN一致に使用できるようにします。
リスナーとサーバーの両方の証明書によるDN一致により、セキュリティが向上し、クライアントが正しいデータベース・サーバーに接続していることをが保証されます。セキュリティの向上のため、サービス名の設定もSSL_SERVER_DN_MATCH
から削除されますが、部分DN一致は引き続き、HOSTNAME
接続文字列パラメータと証明書のDNおよびサブジェクト代替名(SAN)との一致で実行できます。
SSL_ALLOW_WEAK_DN_MATCH
は、このリリースでは新しいパラメータですが、23aiより前のリリースとの相互運用性を有効にする一時的なメカニズムであるため、非推奨としてマークされています。
関連トピック
クライアント・ウォレットを使用しないTransport Layer Security接続を構成する機能
Oracle Database 23ai以降、Linuxプラットフォーム、Linux以外のプラットフォームおよびMicrosoft Windowsプラットフォームでは、ローカル・システムで既知のCAルート証明書が使用可能な場合に、Oracle Databaseクライアントは、その証明書を保持するためのウォレットを提供する必要がなくなりました。
Oracle Databaseウォレットの検索順序により、ローカル・システム内のこれらの証明書の場所(Windows (Microsoft証明書ストア)またはLinux)が決まります。
Transport Layer Security (TLS)には、一方向認証または双方向認証のいずれかが必要です。HTTPS接続で一般的に使用される一方向TLS認証では、サーバーのCA証明書を保持するクライアント・ウォレットがローカル・システムですでに使用可能であれば、クライアント・ウォレットをインストールして構成する必要がなくなりました。サーバーのCA証明書がローカル・システムにインストールされていない場合でも、クライアント・ウォレットは引き続き必要です。
この拡張により、Oracle Databaseクライアントのインストールと、Oracle Databaseクライアント/サーバー通信を暗号化するTLSプロトコルの使用が大幅に簡略化されます。
Kerberosライブラリの更新とその他の改善点
Oracle Database 23ai以降、Oracle DatabaseはMIT Kerberosライブラリ・バージョン1.21.2をサポートし、他のドメイン内のリソースにアクセスするためのクロスドメイン・サポートを提供します。
このKerberosの改善により、セキュリティが向上し、Kerberosをより多くのOracle Database環境で使用できるようになります。
関連トピック
ローカル自動ログイン・ウォレットの機能と安全性の向上
Oracle Database 23ai以降、新規作成されたローカル自動ログイン・ウォレット(またはリリース23ai用に更新されたリリース23aiより前のウォレット)は、よりセキュアです。
ローカル自動ログイン・ウォレットは、作成または変更されたホストとさらに緊密に結び付けられています。ローカル自動ログイン・プロセスもより安全になり、追加のデプロイメント要件を必要とせず、rootアクセスを必要としません。
ローカル自動ログイン・ウォレットはより安全になり、ベア・メタル環境と仮想環境の両方をサポートしています。
この機能強化は、透過的データ暗号化(TDE)のローカル自動ログイン・キーストアにも適用されます。
非推奨の暗号の使用を防止する新しいsqlnet.oraパラメータ
Oracle Database 23ai以降、SSL_ENABLE_WEAK_CIPHERS
sqlnet.ora
パラメータをFALSE
に設定することで、非推奨の暗号の使用をブロックできます。
Oracleデータベースでは、最新の暗号より安全性の低い非推奨の暗号に依存していない場合、それらの使用を防ぐことができます。これにより、コンプライアンス監査を通過しやすくなり、データベースの全体的なセキュリティが向上します。
RADIUS構成の拡張
Oracle Database 23ai以降、Oracle Databaseでは、Request for Comments (RFC) 6613および6614のガイドラインと、最新の標準によるRADIUSセキュリティの更新がサポートされています。
この拡張により、次の新しいRADIUS関連のsqlnet.ora
パラメータが導入されました。
SQLNET.RADIUS_ALTERNATE_TLS_HOST
SQLNET.RADIUS_ALTERNATE_TLS_PORT
SQLNET.RADIUS_AUTHENTICATION_TLS_HOST
SQLNET.RADIUS_AUTHENTICATION_TLS_PORT
SQLNET.RADIUS_TRANSPORT_PROTOCOL
次の既存のRADIUS sqlnet.ora
パラメータが更新されました。
SQLNET.RADIUS_ALTERNATE_PORT
SQLNET.RADIUS_AUTHENTICATION_PORT
SQLNET.RADIUS_SECRET
Oracle Database 23aiでは、古いRADIUS標準がデフォルトでブロックされます。リリース23aiより前のクライアントで古いプロトコルを使用して接続できるようにする必要がある場合は、sqlnet.ora
ファイルで、リリース23aiの新しい次のパラメータの一方または両方を設定します。
SQLNET.RADIUS_ALLOW_WEAK_CLIENTS
は、リリース23aiより前のデータベース・クライアントで古い標準を使用してRADIUSユーザーに接続できるようにします。SQLNET.RADIUS_ALLOW_WEAK_PROTOCOL
は、リリース23aiより前のデータベース・サーバーで古い標準を使用してRADIUSサーバーに接続できるようにします。
この拡張は、Oracle Database RADIUS APIがTCP over Transport Layer Security (TLS)を実装し、AES256やSHA512のサポートなど、その他のセキュリティの改善を実現するのに役立ちます。
DBMS_CRYPTO PL/SQLパッケージの拡張
Oracle Database 23ai以降、DBMS_CRYPTO
PL/SQLパッケージには、楕円曲線Diffie–Hellman (ECDH)操作、更新された署名および検証アルゴリズム、その他の拡張機能など、複数の顧客のニーズをサポートするAPIがあります。
これらの機能強化は次のとおりです。
- 楕円曲線Diffie-Hellman (ECDH)操作用の新しいAPI
ECDH_GENKEYPAIR
: この関数は、EC公開/秘密キーのペアを生成しますECDHDERIVE_SHAREDSECRET
: この関数は、ローカル・アプリケーションの秘密キーとリモート・アプリケーションの公開キーを使用して共有シークレットを導出します。
- 新しい
PKENCRYPT
/PKDECRYPT
アルゴリズム:PKENCRYPT_RSA_PKCS1_OAEP_SHA2
- 新しいチェーン・モード
GCM
、CCM
およびXTS
- 新しい
DBMS_CRYPTO
ブロック暗号スイートAES_CCM_NONE
およびAES_GCM_NONE
- 新しい署名および検証アルゴリズム:
SIGN_SHA224_ECDSA
SIGN_SHA256_ECDSA
SIGN_SHA384_ECDSA
SIGN_SHA512_ECDSA
SIGN_ECDSA
Oracle Autonomous Database on Dedicated Exadata Infrastructureに対するIAMユーザーの認証と認可
Oracle Database 23ai以降、Oracle Autonomous Database on Dedicated Exadata Infrastructureに対してIAMユーザーを認証および認可できます。
追加の機能強化は次のとおりです。
- アプリケーションは、エンド・ユーザー、インスタンスおよびリソース・プリンシパルを使用してAutonomous Databaseインスタンスに接続できるようになりました。
- IAMユーザーは、データベース・ユーザー・スキーマを使用してAutonomous Databaseにプロキシできるようになりました。
- データベース・リンクがIAM接続でサポートされます。
AzureユーザーがAzure AD OAAuth2アクセス・トークンを使用してOracle Databaseにログインする機能
この機能は当初、2022年6月にOracle Autonomous Databaseで使用できましたが、Microsoft Azure Active Directory (Azure AD)ユーザーは、オンプレミスおよびクラウドでOracle Databaseにログインできるようになりました。
Azure AD OAuth2
トークンを使用してデータベースにアクセスできます。Azure ADユーザーはAzure ADトークンを使用してデータベースに直接アクセスでき、アプリケーションはサービス・トークンを使用してデータベースにアクセスできます。
表およびビューの列レベルでオブジェクト・アクションを監査する機能
Oracle Database 23ai以降、統合監査ポリシーを作成して、表およびビューの個々の列を監査できます。
CREATE AUDIT POLICY
およびALTER AUDIT POLICY
プロシージャのACTIONS
句を使用すると、アクセスを監査する列のリストを指定できます。たとえば、表のSALARY
列でUPDATE
文を監査するには、ACTIONS UPDATE(SALARY)
と指定します。
この機能を使用すると、より詳細で焦点を絞った監査ポリシーを構成でき、不要な監査レコードの作成を減らすのに十分選択的であり、コンプライアンス要件を満たすのに十分効果的な監査が保証されます。
FIPS_140パラメータの統合
Oracle Database 23ai以降、FIPS_140
パラメータを使用すると、複数のOracle Databaseの環境と機能に統一された方法でFIPSを構成できます。
これに該当する環境と機能は次のとおりです。
- 透過的データ暗号化(TDE)
DBMS_CRYPTO
PL/SQLパッケージ- Transport Layer Security(TLS)
- ネットワーク・ネイティブ暗号化
こうした環境ではFIPS 140-2レガシー構成を引き続き使用できますが、統合されたFIPS_140
パラメータの使用をお薦めします。
大/小文字を区別しないパスワードのサポート解除
Oracle Database 23ai以降、大/小文字を区別しないパスワードはサポートされなくなりました。
パスワードの大/小文字が区別されないユーザーは、Oracle Database 23aiへのアップグレード後にデータベースにログインできません。アップグレードする前に、管理者は次の問合せを使用して、パスワードの大/小文字が区別されないユーザーを検索し、それらのユーザーにパスワードの変更を通知する必要があります。
SELECT USERNAME FROM DBA_USERS
WHERE (PASSWORD_VERSIONS = '10G '
OR PASSWORD_VERSIONS = '10G HTTP ')
AND USERNAME <> 'ANONYMOUS';
パスワードを変更すると、より新しいセキュアなパスワード・バージョンを使用できるようになります。リリース23aiにすでにアップグレード済で、パスワードの大/小文字が区別されないユーザーがいる場合、これらのユーザーはログインできません。管理者はこれらのユーザーのパスワードを変更する必要があります。10G
パスワード・バージョンのみを持つユーザーのパスワードは、変更されるまで大/小文字が区別されず、変更後に大/小文字が区別されます。
Oracle Database Security 23aiの更新
Oracle Database 23aiの『Oracle Databaseセキュリティ・ガイド』には、更新内容が記載されています。
- Oracle SQL Firewall DBMS_SQL_FIREWALL PL/SQLパッケージの新しいプロシージャ
Oracle SQL FirewallのパッケージDBMS_SQL_FIREWALL
には、DBMS_SQL_FIREWALL.APPEND_ALLOW_LIST_SINGLE_SQL
というプロシージャが追加されました。 - SM2、SM3、SM4およびSHA-3暗号化アルゴリズムに対するDBMS_CRYPTOのサポート
DBMS_CRYPTO
PL/SQLパッケージでは、SM2、SM3、SM4およびSHA-3暗号化アルゴリズムの使用がサポートされるようになりました。 - orapkiの拡張機能
orapki
コマンドライン・ユーティリティが拡張され、mkstore
機能とウォレット証明書およびキーを指定する新しいコマンド・パラメータが含まれるようになりました。 - Microsoft Entra ID (Azure AD)統合の拡張機能
Oarcle Cloud Infrastructure (OCI)およびOracle Database Instant Clientは、Microsoft Entra ID (Azure AD)のOAuth2
トークンを直接取得できるようになりました。また、AIX、SolarisおよびHPUXプラットフォーム上のOracle Databaseサーバーは、Entra ID統合をサポートしています。
Oracle SQL Firewall DBMS_SQL_FIREWALL PL/SQLパッケージの新しいプロシージャ
Oracle SQL FirewallのパッケージDBMS_SQL_FIREWALL
に、プロシージャDBMS_SQL_FIREWALL.APPEND_ALLOW_LIST_SINGLE_SQL
が追加されました。
このプロシージャを使用すると、取得ログまたは違反ログから特定のSQLレコードを既存の許可リストに個別に追加できます。DBMS_SQL_FIREWALL.APPEND_ALLOW_LIST
は、違反ログまたは取得ログ全体を許可リストに追加できる柔軟性を備えていますが、ほとんどの一般的なシナリオでは、リスト全体ではなく、いずれか1つのみを追加できる柔軟性も必要になる場合があります。以前のリリースでは、許可リストに特定のSQLコマンドを追加する場合、DBMS_SQL_FIREWALL.APPEND_ALLOW_LIST
を使用して違反ログまたは取得ログ全体を許可リストに追加し、DBMS_SQL_FIREWALL.DELETE_ALLOWED_LIST
を使用して不要なエントリを手動で削除する必要がありました。この機能強化により、追加する特定のレコードを使用して許可リストを柔軟に調整できるようになります。
SM2、SM3、SM4およびSHA-3暗号化アルゴリズムに対するDBMS_CRYPTOのサポート
DBMS_CRYPTO
PL/SQLパッケージでは、SM2、SM3、SM4およびSHA-3暗号化アルゴリズムの使用がサポートされるようになりました。
- SM2は非対称暗号化アルゴリズムです。これは、デジタル署名、キー交換および暗号化用にデプロイされます。
- SM3は256ビットのハッシュ・アルゴリズムです。これは、デジタル署名、メッセージ認証コードおよび疑似乱数ジェネレータ用に使用されます。
- SM4はブロック対称型暗号化アルゴリズムです。
- SHA-3 (Secure Hash Algorithm 3)は、固定長ハッシュ、可変長ハッシュ、符号、検証、HMAC (Hash-based Message Authentication Code)、およびKMAC (KECCAK Message Authentication Code)機能をサポートする新しい暗号化ハッシュ・アルゴリズムです。
次のDBMS_CRYPTO
関数は、新しいアルゴリズム定数をサポートできるよう拡張されています:
DBMS_CRYPTO.ENCRYPT
DBMS_CRYPTO.DECRYPT
DBMS_CRYPTO.HASH
DBMS_CRYPTO.MAC
DBMS_CRYPTO.PKENCRYPT
DBMS_CRYPTO.PKDECRYPT
DBMS_CRYPTO.SIGN
DBMS_CRYPTO.VERIFY
一部のSHA-3機能の新しいアルゴリズム定数をサポートするために、次のDBMS_CRYPTO
関数が追加されました:
DBMS_CRYPTO.HASH_LEN
(既存のDBMS_CRYPTO.HASH
関数と同様ですが、追加の入力長が含まれています)DBMS_CRYPTO.KMACXOF
(既存のDBMS_CRYPTO.MAC
関数と同様ですが、追加の入力長とカスタム文字列が含まれています)
次の新しいハッシュ・タイプは、DBMS_CRYPTO.ENCRYPT
およびDBMS_CRYPTO.DECRYPT
とともに使用できます:
ENCRYPT_SM4
次の新しいハッシュ・タイプは、DBMS_CRYPTO.HASH
とともに使用できます:
HASH_SHA3_224
HASH_SHA3_256
HASH_SHA3_384
HASH_SHA3_512
HASH_SM3
次の新しいMACタイプは、DBMS_CRYPTO.MAC
関数とともに使用できます:
HMAC_SHA3_224
HMAC_SHA3_256
HMAC_SHA3_384
HMAC_SHA3_512
次の新しい暗号化タイプは、DBMS_CRYPTO.PKENCRYPT
およびDBMS_CRYPTO.PKDECRYPT
とともに使用できます:
PKENCRYPT_SM2
KEY_TYPE_SM2
次の新しいアルゴリズムは、DBMS_CRYPTO.SIGN
およびDBMS_CRYPTO.VERIFY
とともに使用できます:
SIGN_SHA3_224_RSA
SIGN_SHA3_256_RSA
SIGN_SHA3_384_RSA
SIGN_SHA3_512_RSA
SIGN_SHA3_224_ECDSA
SIGN_SHA3_256_ECDSA
SIGN_SHA3_384_ECDSA
SIGN_SHA3_512_ECDSA
SIGN_SM3_SM2
SHA-3は、可変長ハッシュ関数を提供し、任意の長さのハッシュ値を可能にします。
次の新しい可変長ハッシュ・タイプは、新しいDBMS_CRYPTO.HASH_LEN
関数とともに使用できます:
HASH_SHAKE128
HASH_SHAKE256
次の新しい可変長MACタイプは、新しいDBMS_CRYPTO.KMACXOF
関数とともに使用できます:
KMACXOF_128
KMACXOF_256
orapkiの拡張機能
orapki
コマンドライン・ユーティリティが拡張され、mkstore
機能とウォレット証明書およびキーを指定する新しいコマンド・パラメータが含まれるようになりました。
- orapkiに含まれるmkstore機能: Oracle Databaseウォレット、証明書およびシークレットの管理を簡素化するために、
mkstore
機能がorapki
コマンドライン・ユーティリティに組み込まれました。orapki
の新しいコマンドは、mkstore
の次の機能をサポートしています:- シークレット・ストアの資格証明およびエントリを作成、変更および削除する機能
- 特定のシークレット・ストアの資格証明およびエントリをリストする機能
これらの機能は、
orapki secretstore
コマンドでサポートされています。mkstore
ユーティリティは非推奨になりました。かわりにorapki
の使用をお薦めします。 - ウォレット証明書およびキーを指定するための新しいコマンド・パラメータ:
orapki
コマンドライン・ユーティリティでは、Oracleウォレットに別名を格納したり、Oracleウォレットで証明書のサムプリント署名を表示および参照したりできるようになりました。これらの機能強化により、ユーザーは次のことを実行できるようになります:- TLS接続の接続文字列でサムプリントまたは別名を使用して証明書を選択する。
- TLS接続用のMicrosoft証明書ストア(MCS)でサムプリントまたは別名を使用して証明書を選択する。
- 証明書の指定や証明書の削除を簡素化するために、証明書をシリアル番号とともに格納する。
この拡張は、
orapki
wallet add
、orapki wallet display
およびorapki wallet remove
コマンドに影響します。この機能のメリットは、ウォレットの管理と、新しいサムプリント、別名およびシリアル番号パラメータによる証明書の選択を簡素化できることです。
関連トピック
Microsoft Entra ID (Azure AD)統合の拡張機能
Oarcle Cloud Infrastructure (OCI)およびOracle Database Instant Clientは、Microsoft Entra ID (Azure AD)のOAuth2
トークンを直接取得できるようになりました。また、AIX、SolarisおよびHPUXプラットフォーム上のOracle Databaseサーバーは、Entra ID統合をサポートしています。
MicrosoftはAzure ADの名前をEntra IDに変更しました。この用語は、Oracle Database 23ai以降のリリースで使用されます。
-
OCIおよびInstant Clientは、Entra ID OAuth2トークンを直接取得できるようになりました。Oracle Call Interface (OCI)およびOracle Database Instant Clientは、トークンを最初に取得するために別のスクリプトまたはプロセスを使用するのではなく、Entra IDからMicrosoft Entra ID
OAuth2
トークンを直接取得できます。この設計により、ユーザーが(SQL*Plusなどを使用して)データベースに接続する際のデータベース・サーバーとクライアント間の対話型フローが向上します。この機能強化により、エンドユーザーがトークンを取得するために実行する必要がある構成が簡略化されます。以前のリリースでは、エンド・ユーザーは、SQL*Plusまたはその他のOCIユーティリティを起動する前に、Entra IDからトークンを取得するスクリプトを実行する必要がありました。トークンの取得はOCIの一部になりました。この拡張機能は、JDBC Thin、ODP.NET CoreおよびManagedクライアントの最近の拡張機能に似ています。 -
AIX、SolarisおよびHPUXプラットフォームで実行されているOracle DatabaseサーバーでEntra ID統合がサポートされるようになりました。サポートされているすべてのオペレーティング・システム・プラットフォームで、Oracle Databaseサーバーに対してEntra ID統合を使用できるようになりました。新しくサポートされるAIX、SolarisおよびHPUXプラットフォームに加えて、LinuxおよびWindowsも引き続きサポートされます。Oracle Database用のEntra ID統合機能は、完全な(シック)クライアントとインスタント・クライアントを使用する場合のみWindowsおよびLinuxでサポートされます。