列レベル暗号化エンタープライズ

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:11分
  • 列レベル暗号化エンタープライズ では キー管理フレームワーク (KMF) を使用して、インスタンスでのフィールドと添付ファイルの暗号化方法と復号化方法をカスタマイズおよび管理できます。列レベル暗号化エンタープライズを使用するには、サブスクリプションが必要です。

    重要:

    Zurich リリース以降、列レベル暗号化 (CLE) および 列レベル暗号化エンタープライズ (CLEE) は将来の廃止に向けて準備されています。これらは非表示になり、新しいインスタンスではアクティブ化されなくなりますが、引き続きサポートされます。 フィールド暗号化フィールド暗号化エンタープライズ は、この機能の最新のエクスペリエンスを提供します。

    詳細については、Now Support ナレッジベースの「Deprecation Process (廃止プロセス) [KB0867184]」の記事を参照してください。

    列レベル暗号化エンタープライズ列レベル暗号化 を前提としており、 キー管理フレームワーク とそのキー管理機能の完全なサポートを使用します。 列レベル暗号化エンタープライズ は、アプリケーションレベルのフィールド暗号化のためのキー保護とキーライフサイクル管理を提供します。すべてのキーは、最終的に FIPS (連邦情報処理標準) 140-2-L3 ハードウェアセキュリティモジュール (HSM) に基づくキーラッピング階層で保護されます。

    重要:
    このトピックでは、列レベル暗号化のエンタープライズバージョンについて説明します。列レベル暗号化の標準バージョンの詳細、または 2 つのバージョンの違いについては、「フィールド暗号化 の探索」を参照してください 。

    フィールド暗号化エンタープライズ を使用すると、サポートされているフィールドを NIST 800-57 プラクティスに従って暗号化および復号化する方法を管理できます。また、適切なキーの保護と管理のための統合を含む、最新バージョンのフィールドレベルの暗号化を使用します。

    具体的には、 列レベル暗号化エンタープライズKMF 暗号化モジュールを使用して、サーバー側の暗号化をより詳細に制御できます。 KMF 、キー階層とエンベロープ暗号化を使用して、適切なデータ暗号化キーの保護を検証します。インスタンスは、設定した暗号化モジュールでデータを暗号化します。各モジュールのアクセスポリシーを作成してから、暗号化仕様とアクセスポリシーを設定し、キーライフサイクル管理コントロールを制御できます。

    列レベル暗号化エンタープライズ は、以下に基づくモジュールアクセスポリシーをサポートしています。

    • スコープ
    • ロール
    • スクリプト
    • リソース交換
    • システムユーザー
    詳細については、「モジュールアクセスポリシーを作成する」を参照してください。
    注:
    列レベル暗号化のサポートされている機能と、アップグレードして 列レベル暗号化エンタープライズ エンタイトルメントに登録する方法の詳細については、「暗号化とキー管理のサブスクリプションバンドル」を参照してください。

    暗号化の用語

    用語 説明
    図 : 1. キー管理
    キー管理
    キー管理のサポート

    列レベル暗号化エンタープライズ の基礎は Key Management Framework (KMF) です。

    次の機能が得られます。
    • キーのライフサイクル管理
    • キーロテーション詳細については、「キーのローテーション」を参照してください。
    • FIPS 140-2-L3 ハードウェアセキュリティモジュール (HSM) によるキーの保護と生成
    • ロールと職務の分離
    • 本番インスタンスと非本番インスタンスなどのインスタンス間でデータ暗号化キーを安全に転送します。
    • キーラッピングを使用した顧客指定のキー (CSK)
    • 非決定的暗号化
    • 一括暗号化/復号化
    • キーのアクセス/使用の監査

    詳細については、「キー管理フレームワークの参照」を参照してください。

    図 : 2. 顧客指定のキー
    顧客指定のキー
    顧客指定のキーのサポート

    列レベル暗号化エンタープライズ の最大のメリットの 1 つは、暗号化に独自のキーを使用できることです。アドミニストレーターは、ServiceNow 指定のキーまたは独自の顧客指定のキー (CSK) を ServiceNow AI Platform® の暗号化に使用できます。

    キーのライフサイクルを管理し、キーの取り消し、ローテーション、および無効化のタイミングを決定することもできます。顧客指定のキーを有効にして暗号化モジュールを作成した後、トークンと短期公開キーをダウンロードします。トークンと公開鍵を使用してキーをラップし、インスタンスにアップロードします。顧客指定のキーを使用するには、「キータイプを選択するためにフィールド暗号化を設定する」および「フィールド暗号化エンタープライズでの顧客指定のキーの使用」を参照してください。

    図 : 3. 列レベル暗号化
    フィールド暗号化と添付ファイルの暗号化の両方をサポート

    フィールド暗号化と添付ファイルの暗号化はどちらも、暗号化フィールド構成を介して暗号化モジュールとアクセスポリシーを使用します。暗号化フィールド構成フォームを使用して、の暗号化タイプまたは添付ファイルの暗号化を選択します。詳細とサポートされているフィールドタイプについては、「暗号化フィールド構成を設定する」を参照してください。

    図 : 4. 非決定的暗号化
    非決定的暗号化
    非決定的暗号化のサポート

    列レベル暗号化エンタープライズ は、セキュリティ強化のために非決定的暗号化をサポートしています。システムが同じデータを複数回暗号化する場合、暗号化テキストは毎回異なります。非決定的暗号化は、暗号ブロックチェーン (CBC) を使用した Advanced Encryption Standard (AES) 暗号化で使用できます。

    この機能は、暗号化仕様のアルゴリズム定義ステージの等価性保存オプションで有効にできます。暗号化モジュールの暗号化仕様を作成し、キーを暗号化し生成するためのアルゴリズムを定義します。

    暗号化操作に使用するメカニズムを定義し、非決定的暗号化を有効にする方法の詳細については、「暗号化モジュールを作成する」を参照してください。

    図 : 5. リソース交換

    リソース交換 列レベル暗号化エンタープライズKMF 暗号化 API を使用してインスタンス間を保護し、機密性、完全性、認証、および否認防止を提供します。リソース交換 は、安全な方法でインスタンス間でリソースを交換する機能を提供する KMF 機能です。詳細は、「キー管理フレームワークリソース交換」を参照してください。

    注:
    フィールド暗号化エンタープライズ を有効にしない場合でも、フィールド暗号化 を使用できます。詳細については、「列レベル暗号化 の探索」を参照してください。

    フィールド暗号化エンタープライズ はオンプレミスの顧客をサポートしています。ドメインセパレーションはサポートされていません。

    追加の暗号化フィールドのサポート

    列レベル暗号化 の標準バージョンでは、暗号化された列は 5 つに制限されています。列レベル暗号化 は、無制限の数の暗号化列をサポートしています。

    サポートされるフィールド情報

    次のフィールドタイプを暗号化できます。
    • 添付ファイル
    • 日付
    • 日付/時刻
    • メール
    • HTML
    • ジャーナル
    • ジャーナル入力
    • ジャーナルリスト
    • 電話
    • 文字列テキスト
    • 翻訳 (変換) 済みフィールド
    • 翻訳された HTML
    • 翻訳されたテキスト
    • URL

    添付ファイルの暗号化

    デフォルトでの添付ファイルの暗号化

    列レベル暗号化を使用しているお客様の場合、アクティブな暗号化フィールドの構成 (EFC) タイプ Attachment のテーブルの添付ファイルはデフォルトで暗号化されています。

    EFC 構成で定義されているこのデフォルトの暗号化は、アドミニストレーターがこれらのテーブルのアップロード時に添付ファイルを暗号化することを手動で宣言する必要がないことを意味します。

    アドミニストレーターは、ユーザーが暗号化されていないファイルを添付することを禁止できます。
    詳細については、「ユーザーが暗号化されていないファイルを添付できないようにする」を参照してください。
    デフォルトの暗号化のオプトアウト

    EFC 構成に基づいてデフォルトで添付ファイルを暗号化したくない場合は、ServiceNow サポートに連絡してこのオプションをオプトアウトできます。

    この機能をオプトアウトするには、ServiceNow サポートでサポートケースを作成し、ケースレコードのコメントに次のステートメントを含めます。

    「I [顧客名], understand that I am asking ServiceNow to turn off a recommended security best practice for attachments, and that [customer company] assumes any additional risk related to their configuration and use of unencrypted attachments in the ServiceNow application.」

    API サポート

    列レベル暗号化 は、次の API を有効にします。

    注:
    次の表で説明されている API 動作は、最新のベースシステムパッケージのデフォルト構成を表しています。古いバージョンのパッケージを使用している場合は、異なる機能を体験する可能性があります。
    表 : 1. フィールド暗号化 API
    API 説明 パラメーター 戻り値の型
    changeEncryptionContext() 添付ファイルの暗号化に使用するアクティブな暗号化コンテキスト (EC) を更新します。

    KMF 暗号化モジュール (CM) を使用して CLE スタータープラグインで CLE を有効にすると、API は EC の CM を検索し、それを使用して添付ファイルを暗号化します。

    注:
    この API は、グローバルスコープでのみ使用できます。
    • sourceTable:添付ファイルがあるテーブルの名前
    • sourceID:テーブルレコードのシステム ID。
    • attachmentID:sys_attachmentレコードのシステム ID。
    • newEncryptionContextID:新しいコンテキストのシステム ID。
    ブール
    changeCryptoModule() 添付ファイルの暗号化に使用されるアクティブな暗号化モジュールを更新します。
    注:
    この API は、グローバルスコープでのみ使用できます。
    • sourceTable:添付ファイルがあるテーブルの名前。
    • sourceID:テーブルレコードのシステム ID。
    • attachmentID:sys_attachmentレコードのシステム ID。
    • newCryptoModuleId:添付ファイルを暗号化する新しい暗号化モジュールのシステム ID。
    ブール
    disableEncryption() 添付ファイルのアクティブな暗号化を無効にします。
    • sourceTable:添付ファイルを含むテーブルの名前。
    • sourceID:テーブルレコードのシステム ID。
    • attachmentID:sys_attachmentレコードのシステム ID。
    ブール
    getDisplayValue() 暗号化フィールドのクリアテキスト表示値を返します。 文字列
    getValue() glide_encryption.set_value_support_cle.disabled が false の場合 (モジュールアクセスポリシー (MAP) が必要) 暗号化フィールドのクリアテキスト値を返します。

    glide_encryption.set_value_support_cle.disabled が true の場合に暗号化フィールドの暗号化された値を返します。

    文字列
    setDisplayValue() 表示のために暗号化されたデータを暗号化フィールドに挿入します。
    • name:フィールド名。
    • 値:フィールド値。
    ブール
    setValue() システムプロパティによって制御される暗号化フィールドに、暗号化されたデータを挿入します。

    glide_encryption.set_value_support_cle.disabled が false の場合 (MAP が必要) にデータを暗号化します。[set_value_support_cle.disabled] が true に設定されている場合 (MAP は不要)、glide_encryption.set_value_support_cle.disabled が true の場合、暗号化されていないデータを書き込みます。

    • name:フィールド名。
    • 値:フィールド値。
    ブール

    次のスクリプトは、インシデントの簡単な説明が暗号化されている場合の API の変更を示しています。

    
    var gr = new GlideRecord('incident'); //creates a new incident
    gr.setValue('short_description','test123'); //sets the value to test123
    var sys_ID = gr.insert(); //inserts the record in the Incident table.
    gs.info(gr.getValue('short_description')); //displays the unencrypted value
    

    フィールド暗号化プラグインがインストールされている場合、 glide_encryption.set_value_support_cle.disabled はデフォルトで false に設定されます。

    暗号化されたテキストフィールドで getValue() を呼び出すと、暗号化モジュールにアクセスできる場合はプレーンテキストが返されます。それ以外の場合は、暗号テキストまたは null のいずれかを返します。