Oracle Database Appliance上のAdaptive Classification and Redaction (ACR)
Oracle Database Appliance上のACRに関するFAQです。
ACRではどのタイプのファイルが処理されますか。
ACRでは、トレース・ファイル、アラート・ログ、AWR、ASHおよびADDMレポート、ExaChkおよびORAChkレポート、その他のシステム生成ログなど、TFAコレクション内の様々なファイルが処理されます。また、ACRでは、zip、gzip、tar、tar.gz、bzip2、tar.xzなどの様々な圧縮ファイルが処理されます。
ACRによってリダクションされないファイルは何ですか。
ACRでは、バイナリ、共有ライブラリ、コンパイル済ファイル、コア・ダンプ、jarファイルがTFA収集の一部であってもスキップされます。これにより、問題の診断可能性に影響が出なくなります。
ACRではSQL文のリテラル値をリダクションしますか。
はい。ACRは、AWR、ASHおよびADDMレポートに存在するSQL文のSQLリテラルをリダクションします。
ACRを実行するための追加の領域要件はありますか。
ACRは、インプレースとアウトオブプレースという2つのモードで実行されます。アウトオブプレース・リダクションでは、リダクションされたファイルが別のディレクトリに作成されるため、入力ファイルのサイズに等しい余分な領域が必要です。インプレース・リダクションでは、収集内の最大ファイルのサイズに等しい余分な領域が必要です。この場合、各入力ファイルはリダクションされたファイルに置き換えられます。生成される複数のACRプロセスの場合、追加の領域要件は、入力ファイルのN個の最大ファイルのサイズの合計です(NはパラレルACRプロセスの数)。ACRは、高可用性環境で両方のノードで生成されたTFA収集をリダクションしますか。
高可用性環境では、TFAは両方のノードに別々の収集を作成します。ACRは、これらの収集の各ノードで個別に実行され、2つのリダクション済収集が作成されます。リダクション後、リモート・ノードからリダクションされた収集がローカル・ノード(つまり、TFAコマンドを開始したノード)にコピーされます。ACRはトレース・ファイルを生成しますか。
/opt/oracle/dcs/oracle.ahf/
の場所にあるoracle.ahf/
ディレクトリにトレース・ファイルおよびログを生成します。トレース・ファイルは次のとおりです:
oracle.ahf/data/HOSTNAME/diag/acr/HOSTNAME/acrctl/trace/
ディレクトリに生成されたacrctl_*.trc
ファイル。これらのトレース・ファイルは、リダクション中に様々なステップを取得するACRの実行中に生成されます。oracle.ahf/common/acr/acr_repo/
ディレクトリに生成されたacr_info.json
ファイル。このファイルには、ACRの実行中に識別されたすべてのエンティティ・インスタンスのサニタイズされたバージョンのリストが含まれています。oracle.ahf/common/acr/acr_repo/
ディレクトリに生成されたacr_stats_*.txt
ファイル。これらのファイルは、リダクションされる収集のサイズ、パラレルACRプロセスの数、リダクション時間、収集の最大ファイル・サイズなど、ACR実行中に様々な統計を取得します。oracle.ahf/common/acr/acr_repo/
ディレクトリに生成されたacrmap
ファイル。このファイルには、リダクションされたエンティティ・インスタンスから元のインスタンスへのマッピングが含まれています。rmap
コマンドの実行中に元のエンティティ・インスタンスを返すために使用されます。
リダクション・モードとして「mask」を指定しましたが、引き続きファイル名およびディレクトリ名がサニタイズされます。これは想定されていますか。
はい、これは正しいACR動作です。ACRでは、リダクション・モードに関係なく、ファイル名やディレクトリ名の一部として表示される機密エンティティ・インスタンスがサニタイズされます。これは、ファイル名およびディレクトリ名を「***」に変更すると、収集がナビゲーションに適さなくなるためです。
リダクション・モードとして「sanitize」を指定しましたが、トレース・ファイルの一部が「***」に変換されます。これは想定されていますか。
はい、想定されます。リダクション・モードに関係なく、ACRはトレース・ファイル内の機密データをブロック・ダンプおよびREDOログ・ダンプの一部として「***」に変換します。
ACRでは、リダクション中にエンティティ・インスタンスの機能は保持されますか。
はい。ACRでは、エンティティ・インスタンスの機能を次の方法で保持します:- ACRでは、エンティティの単語の形式が保持されます。つまり、文字の大文字が保持され、後続の数字が保持されます。
HRDB1 => ONVL1 hrdb1 => onvl1 Hrdb1 => Onvl1 HRDB1_host2_svc3 => ONVL1_ygmi2_wrj3 myhost007 => ppspao007 myhost008 => ppspao008
- IPv4: 各オクテットの数値を255未満に制限します。255、127、0などの特殊オクテットはリダクションされません。
- MACアドレスとIPv6: 数値を16進数パターンに従うように制限します。
既存の未リダクションTFA収集、またはTFA収集に含まれない他のファイルをリダクションできますか。
input.zip
など)を含むzipファイルを作成し、次のコマンドを実行します:
odacli redact-acr -i input.zip -m sanitize
このコマンドは、ファイルをリダクションします。リダクションされたファイルは、ACR_REPO/acr_runs/TIMESTAMP/outdir/input.zip
にあります。
TFA収集がリダクションされているかどうかを確認するにはどうすればよいですか。
TFA.txt
があります。圧縮されたTFA収集で次のコマンドを実行します:
zipinfo TFA_COLLECTION | grep "ACR.txt"
前述のコマンドでエントリが返された場合、収集はリダクションされます。
リダクションが実行されると、複数のACRプロセスがシステム上に生成されます。これは想定されていますか。
はい。ACRは、マシンで使用可能な複数の空きコアを利用して、複数のプロセスを生成し、全体的なリダクション時間を短縮します。システムに10コアある場合、ACRは10コアをすべて使用しますか。
ACRによって生成されたパラレル・プロセスの数は、コアの合計数の20%を超えることはありません。そのため、この場合は2つのパラレルACRプロセスのみが作成されます。
各ACRプロセスのCPU使用率はほぼ100%です。これは問題ですか。
いいえ、問題ではありません。ACRはCPU負荷が高いタスクであるため、想定される動作です。ACRプロセスは、CPUでスケジュールされると常にCPUを完全に利用します。ただし、ACRは高い優先度で実行されないため、システム上の他のプロセスは停止しません。
odaadmcliコマンドはodacli ACRコマンドとどのように異なりますか。
odaadmcli manage diagcollect
コマンドは、診断データをTFA収集として収集する機能を提供します。次のオプションを使用してリダクションできます:odaadmcli manage diagcollect [–dataMask|–dataSanitize]
odaadmcli
コマンドは、オプションが明示的に指定されていない場合でも常にマスクまたはサニタイズします。tfactl set redact=[sanitize | mask]
odacli enable-acr
odacli disable-acr
これらのコマンドは、高可用性環境の両方のノードでACRを有効または無効にし、BUIから呼び出すことができます。odaadmcli manage diagcollect
およびodacli
コマンドは、内部でtfactl
コマンドを使用して収集を作成およびリダクションします。
監査証跡に表示されるバインド変数をリダクションするにはどうすればよいですか。
監査証跡に表示されるバインド変数は、透過的機密データ保護(TSDP)を有効にすることで'*'にリダクションできます。これを実現するには、機密とみなされる表の列で機密列保護を有効にする必要があります。詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。
本番環境外でACRのステージング・サーバーを設定するにはどうすればよいですか。
ACRのステージング・サーバーの設定の詳細は、My Oracle Supportノート2882798.1 (https://support.oracle.com/rs?type=doc&id=2882798.1)を参照してください。