GroupDocs.Redaction .NET を使用した Redaction Policy の作成方法

モダンなアプリケーションでは、ドキュメント内の機密データを保護することは必須のセキュリティ対策です。契約書、財務諸表、患者記録などを扱う場合、create redaction policy を使用して機密情報を自動的にマスクまたは削除する必要が頻繁にあります。このガイドでは、ライブラリのインストール、赤字(Redaction)の定義、適用、そして最終的に XML ファイルとしてポリシーを保存し、プロジェクト間で再利用できるようにするまでの全プロセスを順を追って説明します。

クイック回答

  • “create redaction policy” とは何ですか? それは、GroupDocs.Redaction に対して機密コンテンツを隠すまたは置換する方法を指示するルール(テキスト、正規表現、画像など)を定義するプロセスです。
  • どのライブラリが必要ですか? GroupDocs.Redaction for .NET(NuGet 経由で入手可能)。
  • ライセンスは必要ですか? 開発には無料トライアルで十分です。製品環境では永続ライセンスが必要です。
  • ポリシーは再利用できますか? はい—XML として保存すれば、後でロードして任意のドキュメントに適用できます。
  • サポートされている .NET バージョンは? .NET Framework 4.5 以上、.NET Core 3.1 以上、.NET 5/6/7。

Redaction Policy とは何か?

Redaction Policy は、何を 削除または置換すべきか、そして 置換はどのように 表示すべきかを指定するルールの集合です。ポリシーを一度作成すれば、アプリケーションが処理するすべてのドキュメントに対して一貫したセキュリティ基準を適用できます。

Redaction Policy を作成するために GroupDocs.Redaction を使用する理由

  • フルドキュメント形式サポート – Word、PDF、Excel、PowerPoint など多数。
  • プログラム制御 – 正確なフレーズ、正規表現、あるいはカスタムロジックを定義可能。
  • 再利用可能な XML ポリシー – ルールを一度エクスポートすれば、チームやサービス間で共有できる。
  • パフォーマンス最適化エンジン – 大容量ファイルも効率的に処理し、ワークロードに合わせてスケール。

前提条件

  • GroupDocs.Redaction ライブラリ(使用している .NET ランタイムに対応)。
  • Visual Studio、VS Code、または C# をサポートする任意の IDE。
  • C# と .NET プロジェクト構造に関する基本的な知識。

GroupDocs.Redaction for .NET の設定

まず、プロジェクトにライブラリを追加します。

Using .NET CLI

dotnet add package GroupDocs.Redaction

Using Package Manager

Install-Package GroupDocs.Redaction

または NuGet パッケージマネージャ UI で “GroupDocs.Redaction” を検索し、そこからインストールします。

ライセンス取得

  • 機能を試すには 無料トライアル から開始。
  • 拡張テスト用に 一時ライセンス をリクエストし、製品環境ではフルライセンスを購入。

基本的な初期化

ソースファイルに名前空間を追加します:

using GroupDocs.Redaction;

GroupDocs.Redaction .NET を使用した Redaction Policy の作成方法

以下は、Redaction Policy を構築し永続化するまでのステップバイステップの手順です。

手順 1: ドキュメントディレクトリの準備

string sourceFile = Utils.PrepareOutputDirectory("YOUR_DOCUMENT_DIRECTORY");

"YOUR_DOCUMENT_DIRECTORY" を、保護したいドキュメントが格納されているフォルダーに置き換えてください。

手順 2: ドキュメントの読み込み

using (Redactor redactor = new Redactor(sourceFile))
{
    // Further code will go here
}

Redactor オブジェクトがファイルを開き、ライフサイクルを管理します。

手順 3: 赤字(Redaction)の定義

var redactions = new List<Redaction>
{
    new ExactPhraseRedaction("Sensitive Phrase", new ReplacementOptions("[REDACTED]")),
    new RegexRedaction(@"\d{4}-\d{2}-\d{2}", new ReplacementOptions("[DATE REDACTED]"))
};

ここでは 2 つのルールを作成します:

  1. ExactPhraseRedaction – 既知のフレーズを “[REDACTED]” に置換。
  2. RegexRedactionYYYY‑MM‑DD 形式の日付を検出し、 “[DATE REDACTED]” に置換。

手順 4: 赤字(Redaction)の適用

redactor.Apply(redactions);

定義されたすべてのルールが、開かれたドキュメントに対して一括で実行されます。

手順 5: ポリシーを XML ファイルとして保存

string policyFile = "policy.xml";
redactor.SavePolicy(policyFile, new SaveOptions());

XML ファイルに赤字定義を保存することで、コードを書き直すことなく同じポリシーを再利用できます。

実用的な適用例

  • 法律事務所 は、ドラフト共有前に事件番号や顧客名を赤字化できます。
  • 財務部門 は、レポート内の口座番号や取引日をマスクします。
  • 医療機関 は、HIPAA 準拠のために患者識別子を除去します。

パフォーマンスのヒント

  • 同時に開くドキュメントは 1 件に してメモリ使用量を抑える。
  • 効率的な正規表現 を記述し、過度に広いパターンで処理時間が増大するのを防ぐ。
  • ライブラリは常に最新 に保ち、パフォーマンス向上や新しい赤字タイプの追加を活用。

よくある問題と解決策

問題発生理由解決策
ディレクトリの準備時に IO 例外が発生パスが間違っている、または書き込み権限がないフォルダーが存在し、アプリケーションに読み書き権限があることを確認
正規表現が期待通りにマッチしないパターンが厳しすぎる、またはエスケープが不足オンラインテスターで正規表現をテストし、量指定子やエスケープ文字を調整
ポリシーファイルが作成されないSavePolicy を赤字適用前に呼び出す、またはパスが無効出力ディレクトリが書き込み可能であることを確認し、Apply 後に SavePolicy を呼び出す

よくある質問

Q: プログラムでポリシーを作成せずに既存の XML ポリシーをロードできますか?
A: はい—redactor.LoadPolicy("policy.xml") を使用して、以前に保存したポリシーをインポートできます。

Q: GroupDocs.Redaction はパスワード保護された PDF をサポートしていますか?
A: もちろんです。パスワードは Redactor コンストラクタに渡します:new Redactor(sourceFile, "password")

Q: 画像やメタデータの赤字化は可能ですか?
A: ライブラリは ImageRedactionMetadataRedaction クラスを提供しており、これらのシナリオに対応できます。

Q: 数百 MB の大容量ドキュメントはどう処理すべきですか?
A: チャンク単位で処理するか、ストリーミング API を使用してメモリフットプリントを削減してください。また、OutOfMemory エラーが出た場合は JVM ヒープ(※.NET ではプロセスメモリ)を増やすことも検討してください。

Q: 商用利用にはどのライセンス形態が必要ですか?
A: 本番環境でのデプロイには有料ライセンスが必要です。開発・テスト段階ではトライアルライセンスで問題ありません。

結論

これで、GroupDocs.Redaction for .NET を使用して任意のドキュメントに適用できる完全な再利用可能 Redaction Policy が完成しました。ポリシーを XML にエクスポートすれば、将来の更新が容易になり、組織全体で一貫したデータ保護が実現できます。

次のステップ

  • ImageRedactionMetadataRedaction など、追加の赤字タイプを試す。
  • ポリシーローディングロジックをドキュメント管理ワークフローに組み込み、赤字処理を自動化。
  • GroupDocs.Redaction API リファレンスを参照し、上級カスタマイズに挑戦。

Last Updated: 2026-03-30
Tested With: GroupDocs.Redaction 5.8 for .NET
Author: GroupDocs

リソース