説明
この関数は、アーカイブされた監査ログファイル名に含まれる pwd_id(暗号化キー識別子)に基づいて、対応するアーカイブファイルの暗号化パスワードを返します。これは、制御環境下でのオフライン復号、証拠収集、または外部ツールとの連携に利用されます。
機能の適用範囲
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity Editionは、現在監査機能をサポートしていません。
構文
AUDIT_LOG_ENCRYPTION_PASSWORD_GET(pwd_id);
権限要件
この関数を使用するには、SUPER 権限が必要です。
説明
パラメータの説明
pwd_id:Int型。暗号化されたアーカイブファイル名の.enc.セグメント以降のキー識別子を表します(例:1001)。パラメータを指定しない場合、最新のpwd_idに対応するパスワードが取得されます。
説明
この関数は機密情報を返します。呼び出し権限を厳格に制限し、操作の監査と結果のマスキングを適切に行ってください。アーカイブファイル名の形式については、本文末の「監査ルールの設定と確認」内の「ログ暗号化の設定」にあるアーカイブファイル名形式表を参照してください。
使用上の制限
- 他の監査関数と同様に、この関数も
SELECTステートメントの出力列として直接かつ一意に指定する必要があり、サブクエリ内では使用できません。監査関数の概要 の使用上の制限と注意事項をご確認ください。 - この関数は、監査レコードをディスクファイルに書き込むシナリオ(
audit_trailがLOGの場合)にのみ適用されます。
戻り値
関数の出力は文字列型です。
- クエリが成功した場合、
pwd_idに対応するパスワードを返します。 - クエリが失敗した場合でも、
SELECTステートメント自体は実行される可能性があり、関数の出力結果はエラーメッセージとなります。
例
最新のアーカイブログの暗号化パスワードを取得します:
SELECT AUDIT_LOG_ENCRYPTION_PASSWORD_GET() FROM DUAL;
あるアーカイブファイルの名前が audit.log.20231031080646317.enc.1001 だと仮定すると、1001 を pwd_id として渡すことができます(実際のファイル名から解析された識別子に置き換えてください):
SELECT AUDIT_LOG_ENCRYPTION_PASSWORD_GET(1001) FROM DUAL;
戻り値の例は以下のとおりです(実際のキー内容は省略):
+-------------------------------------------+
| AUDIT_LOG_ENCRYPTION_PASSWORD_GET(1001) |
+-------------------------------------------+
| <パスワード> |
+-------------------------------------------+
1 row in set