行条件を使用したデータの暗号化

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:5分
  • 複数のフィールド暗号化モジュールでフィールドを暗号化し、行条件を使用して暗号化するデータと関連する暗号化キーを定義します。行条件を使用して、条件ビルダーを使用してアクセス権を持つユーザーを定義することもできます。

    始める前に

    必要なロール:sn_kmf.cryptographic_manager または sn_kmf.admin

    このタスクについて

    注:
    行条件を使用する場合は、次のガイドラインが適用されます。
    • 行条件は、暗号化された列と添付ファイルでのみサポートされます。
    • 複数の暗号化モジュールメソッドを使用する場合は、一括暗号化を使用できません。
    • 複数の暗号化モジュールを使用してフィールドを変更し、単一の暗号化モジュールを使用することはできません。
    • 行条件を使用すると、メインレコードでデータを暗号化できます。条件ビルダーではドット連結はサポートされていません。
    • 行条件は、次のサービスカタログテーブルではサポートされていません。
      • オプション [sc_item_option]
      • 質問と回答 [question_answer]
      • 複数行の質問と回答 [sc_multi_row_question_answer]

    このフィールドは、最初にデータを入力するユーザーの暗号化モジュールで暗号化されます。暗号化モジュールはレコードごとに設定されるため、リストのフィールドにはさまざまな暗号化モジュールが含まれる可能性があります。1 つのレコード内では、フィールドは 1 つのモジュールでのみ暗号化できます。

    手順

    1. 複数の暗号化モジュールとそれぞれのアクセスポリシーを作成します。

      アクセスポリシーを通じて、さまざまな暗号化モジュールにさまざまなロールを付与するようにします。

    2. 移動先 システムセキュリティ > フィールド暗号化 > 暗号化フィールドの設定 > 新規.

      暗号化フィールドの設定の詳細については、「暗号化フィールド構成を設定する」を参照してください。

    3. 暗号化するテーブルの [テーブル][列] を選択します。
    4. 定義された行の条件を満たさない保存済みレコードを暗号化するには、[ デフォルトで暗号化 ] を選択します。

      このオプションを選択する場合は、デフォルトの暗号化モジュールとして使用する 暗号化モジュール を選択してください。

      このボックスが選択されておらず、追加されたレコードが行の条件を満たさない場合、レコードは暗号化されません。

      たとえば、レコードを暗号化する行条件を定義して、レコードの「部門」フィールドが「IT」と等しいことを宣言できます。その場合、[部門] フィールドが [IT] と等しくないレコードは、[ デフォルトで暗号化 ] が選択されていない限り暗号化されません。

      デフォルトで暗号化し、関連する暗号化モジュールが選択されています。
    5. [Submit (送信)] を選択します。
    6. 条件ビルダーに移動します すべて > システムセキュリティ > フィールド暗号化 > 暗号化フィールドの設定 をクリックし、新しい暗号化フィールド構成 (EFC) を選択します。
    7. [New (新規)] を選択します。
    8. 必須フィールドに入力して、行条件を定義します。
    9. [Submit (送信)] を選択します。

    タスクの結果

    注:
    必要に応じてこのプロセスを繰り返し、行条件の数が必要な暗号化暗号化モジュール (ECM) を満たしていることを確認します。ECM セットアップで [デフォルトで暗号化] を選択した場合は、行条件も設定して、選択されているデフォルトの ECM を定義する必要があります。

    指定されたフィールドの新しく作成されたデータは、関連するモジュールのキーで暗号化されます。モジュール A のアクセスポリシーで指定されたロールを持つユーザーが、指定されたテーブルに書き込むと、データはモジュール A のキーで暗号化されます。同じロールを持つユーザーのみがデータを読み込むことができます。

    この例では、インシデントテーブルの [簡単な説明] フィールドを暗号化する方法について説明します。この例は、テーブル内の別のフィールドを暗号化する場合にも同様に機能します。
    [簡単な説明] を暗号化するには、次の操作を行います。
    1. 2 つのフィールド暗号化モジュール A と B を作成します。
    2. モジュールごとにモジュールアクセスポリシー (MAP) を作成し、次のようにアクセスを定義します。
      1. モジュール A – HR ロールを持つユーザー向け。
      2. モジュール B – 営業ロールを持つユーザー向け
    3. 暗号化フィールド構成 (EFC) レコードを作成します。
      1. 移動先 システムセキュリティ > フィールド暗号化 > 暗号化フィールドの設定 > 新規.
      2. [テーブル] フィールドで [インシデント ] を選択します。
      3. [列] フィールドで [簡単な説明 ] を選択します。
      4. 条件ビルダーの基準に当てはまらないレコードが、デフォルトのフィールド暗号化モジュールで暗号化されていることを検証する必要がある場合は、[ デフォルトで暗号化 ] ボックスを選択します。このオプションを選択しないと、条件ビルダー基準にないレコードは暗号化されません。

        関連する 暗号化モジュール フィールドにデフォルトの暗号化モジュールを入力します。

      5. [Submit (送信)] を選択します。
    4. 行条件を作成します。
    5. 適切な暗号化ジョブを実行します。
      • 一括暗号化:新しい行条件が作成されたときにこのジョブを実行します。
      • 一括リキー:既存の行条件が変更されたときにこのジョブを実行します。

      一括暗号化、復号化、およびリキーのジョブをスケジュールする」を参照してください。

    6. モジュール A のユーザーとモジュール B のユーザーに、簡単な説明を記載したインシデントを作成します。両方のユーザーにインシデントのリストを表示してもらいます。

    HR ロールを持つユーザーが作成したインシデントの簡単な説明は、モジュール A のキーで暗号化されます。営業ロールを持つユーザーが作成したインシデントの簡単な説明は、モジュール B のキーによって暗号化されます。

    HR ロールと営業ロールを持つすべてのユーザーに、インシデントへのアクセス権があります。ただし、HR ロールを持つ別のユーザーによって作成されたインシデントの簡単な説明を復号化して表示できるのは、HR ロールを持つユーザーのみです。同様に、営業ロールを持っていたユーザー B が作成したインシデントの簡単な説明を復号化して表示できるのは、営業ロールを持つユーザーのみです。

    行条件の例で表示可能なフィールドを示す図

    次のタスク

    次のいずれかの操作を実行します。
    • 条件フィールドの暗号化を更新する 一括暗号化 ジョブをスケジュールします。
    • 既存の行条件を変更する場合は、 一括リキー ジョブを実行して、更新された暗号化モジュールで必要なデータを暗号化します。

    一括暗号化、復号化、およびリキーのジョブをスケジュールする」を参照してください。