Column Level Encryption
Column Level Encryption (CLE) (以前の暗号化のサポート) は、ユーザーロールに基づいて暗号化データへのアクセスを許可および拒否します。Column Level Encryption は、追加料金なしで暗号化モジュールを使用する基本的なキー管理を含むように拡張されています。
Column Level Encryption について
列レベルの暗号化の実装は、Now Platformのインスタンスで 1 つ以上の暗号化モジュールを定義することから始まります。このプロセスには、暗号化アルゴリズムの選択と適切な秘密キーの提供が含まれます。機能を使用して後で暗号化されたデータへのアクセスはロールベースで行われ、モジュールはロールに関連付けられています。適切なロールを持たないユーザーには、このフィールドは表示されません。図 1 は、ロールベースの暗号化がどのように機能するかを示しています。
- ユーザー 1 は、暗号化モジュール 1 へのアクセスを提供するロール 1 のメンバーです。ユーザー 1 は、フィールド A とフィールド B の内容を表示できます。
- ユーザー 2 とユーザー 3 はグループ 1 のメンバーです。グループ 1 はロール 1 のメンバーであるため、グループ 1 の全員が暗号化モジュール 1 にアクセスでき、ユーザー 2 とユーザー 3 がフィールド A とフィールド B の内容を表示できます。
- ユーザー 4 はグループまたはロールのメンバーではないため、暗号化モジュール 1 にアクセスできません。ユーザー 4 はフィールド A またはフィールド B にアクセスできないだけでなく、フォーム上でこれらのフィールドを表示することもできません。リストビューでは、値は空です。
かなり複雑なロールベースの暗号化も実装できます。
ロールベースのアクセスは、ロールを介して暗号化モジュールを割り当てられたユーザーがそのフィールドにアクセスできるように適切に実装する必要があります。
列レベルの暗号化で使用するすべての顧客暗号化キーは、顧客によって暗号化されたデータが格納されるのと同じ一意のインスタンスデータベースに格納されます。追加のセキュリティ対策として、顧客暗号化キーはそのインスタンスに対して一意のセカンダリキーで再暗号化されます。これにより、インスタンス管理者または ServiceNow による暗号化モジュールの暗号化キーへの直接アクセスが緩和されます。
列レベルの暗号化データはフィルタリングできません。
- 暗号化されたデータへのアクセスは、ユーザーロールによって決まります。
- 暗号化アルゴリズムの強度は、AES-128 または AES-256 から選択できます。
- 文字列テキスト、日付フィールドと日付/時刻フィールド、添付ファイル、および URL を暗号化できます。
- 暗号化モジュールは等価性保存暗号化を提供します。
- 顧客指定のキー
- キーアクセスにより、モジュールやキーへのアクセス権を持つユーザーセッションが、他のバックエンドプロセスやシステムユーザープロセスにアクセスできるようになります。
- スクリプト、Resource Exchange、およびアプリのアクセス
- 高度な添付ファイルのサポート。
- アプリケーションプログラミングインターフェイス (API) によるアクセスを利用できます。
- 順序保存の暗号化または標準の非決定的暗号化はサポートされていません。
Standard および Enterprise エディション
列レベルの暗号化は、Standard バージョンおよび Enterprise バージョンで使用できます。Column Level Encryption Enterprise は、多数のモジュールとモジュールアクセスポリシーに加えて、追加機能を提供する有料プラグインです。
| Column Level Encryption | Column Level Encryption Enterprise |
|---|---|
|
左にリストされている機能に加えて、Column Level Encryption Enterprise は次の追加機能をサポートしています。
|
暗号化方法
Column Level Encryption を使用するフィールドは次のとおりです。
- 新規または既存の [暗号化テキスト] フィールド。
- 暗号化されたフィールド設定レコードに含まれる文字列、日付、日付/時刻、または URL フィールド。
[暗号化フィールドの構成] テーブル [sys_platform_encryption_configuration] には、Column Level Encryption で暗号化された各フィールドのレコードが含まれています。このテーブルにより、セキュリティ管理者は Column Level Encryption を使用するインスタンス内のすべてのフィールドを監視できます。
暗号化フィールドの構成では、次のいずれかの方法を使用してフィールドを暗号化できます。
| メソッド | 説明 |
|---|---|
| 単一暗号化モジュール | フィールドは [暗号化モジュール] フィールドで定義された暗号化方法で暗号化されます。暗号化モジュールへのアクセス権がないユーザーは、フィールド値を表示または更新できません。 |
| 複数暗号化モジュール | フィールドは、そのフィールドにデータを入力する最初のユーザーの暗号化モジュールで暗号化されます。ユーザーが 2 つ以上の暗号化モジュールを持っている場合、暗号化モジュールセレクターで定義されたモジュールが使用されます。暗号化モジュールはレコードごとに設定されるため、リストのフィールドにはさまざまな暗号化モジュールが含まれる可能性があります。ただし、1 つのレコード内では、フィールドは 1 つのモジュールでのみ暗号化できます。 [暗号化テキスト] フィールドが作成されると、複数暗号化モジュール方式で暗号化フィールドの構成が作成されます。[暗号化テキスト] フィールドと複数暗号化モジュールメソッドで暗号化されたフィールドは、同じように動作します。 注: 複数の暗号化モジュールメソッドを使用する場合は、一括暗号化は利用できません。 |
暗号化されたデータへのアクセス
暗号化モジュールは、暗号化されたデータへのアクセスを決定します。Security_admin ユーザーは、関連するロールをユーザーに付与することで、ユーザーに暗号化モジュールのアクセスポリシーを付与できます。
ロールの割り当てを監視するために、顧客またはプロフェッショナルサービスはセキュリティ対策を設定できます。たとえば、暗号化モジュールに関連付けられたロールがユーザーに付与されるたびに、指定された暗号化マネージャーにメールを送信できます。
| アクセスレベル | 単一暗号化モジュールメソッドを使用したフィールドへのデータアクセス | 複数暗号化モジュールメソッドを使用したフィールドへのデータアクセス |
|---|---|---|
| 暗号化モジュールを持たないユーザー | フォームでは暗号化フィールドが非表示にされます。リストビューでは、フィールドのデータが復号化されていても、フィールドは空白で表示され、編集できません。 | フォームでは暗号化フィールドが非表示にされます。リストビューでは、フィールドのデータが復号化されていても、フィールドは空白で表示され、編集できません。 |
| 1 つの暗号化モジュールを持つユーザー | フィールドを使用するには、暗号化フィールドの構成で定義された暗号化モジュールにアクセスする必要があります。ユーザーが暗号化モジュールにアクセスできない場合、フォームではフィールドが非表示にされます。リストビューでは、フィールドは空白で表示され、編集できません。
|
ユーザーは、暗号化フィールドで暗号化モジュールを自動的に使用します。
|
| 2 つ以上の暗号化モジュールを持つユーザー | フィールドを使用するには、暗号化フィールドの構成で定義された暗号化モジュールにアクセスする必要があります。ユーザーが暗号化モジュールにアクセスできない場合、フォームではフィールドが非表示にされます。リストビューでは、フィールドは空白で表示され、編集できません。
|
ユーザーは、ようこそバーの暗号化モジュールセレクターから暗号化モジュールを選択できます。
|
サポートされている構成情報
- 次のフィールド タイプを暗号化できます。
- 添付ファイル
- 日付
- 日付/時刻
- 文字列テキスト
- URL
注:エンタープライズでは、さらに多くのフィールドタイプを使用できます。詳細については、「」を参照してください。 - モジュールはロールに関連付けられ、ロールはユーザーに関連付けられているため、ユーザー以外のセッションからキーにアクセスすることはできません。システムユーザーとして実行されているもの、またはユーザーセッションを持たないスケジュール設定済みジョブは、キーにアクセスしてデータを暗号化または復号化することはできません。
- 「値」または「表示値」にアクセスすることができます。
- [値] を選択すると、暗号テキストが返されます。
- 適切なロールを持っている場合は、[表示値] を選択するとクリアテキストが返されます。
アプリケーションレイヤーの多くのスクリプトは、この区別を無視して値を使用するようにスクリプト化されています。表示値を使用するようにスクリプトを変更しないと、データは暗号化も復号化もされません。
添付ファイルの暗号化
- デフォルトでの添付ファイルの暗号化
-
Column Level Encryption を使用しているお客様の場合、アクティブな暗号化フィールドの構成 (EFC) タイプ Attachment のテーブルの添付ファイルはデフォルトで暗号化されています。
EFC 構成で定義されているこのデフォルトの暗号化は、管理者がこれらのテーブルのアップロード時に添付ファイルを暗号化する必要があることを手動で宣言する必要がないことを意味します。
- デフォルトの暗号化のオプトアウト
EFC構成に基づいてデフォルトで添付ファイルを暗号化したくない場合は、サポートに連絡してこのオプションをオプトアウトできます。
この機能をオプトアウトするには、サポートを含むサポートケースを作成し、ケースレコードのコメントに次のステートメントを含めます。
「私[顧客名]は、添付ファイルの推奨されるセキュリティのベストプラクティスをオフにするように求めていること、および[顧客の会社]がアプリケーションでの暗号化されていない添付ファイルの構成と使用に関連する追加のリスクを負うことを理解しています。」
暗号化フィールドのフィルタリングと検索
- 次の値に等しい
- ではない
- は、空
- は空でない
日付フィールドの場合、日付ピッカーを使用して日付を指定します。
日付/時刻フィールドの場合、日時ピッカーを使用して日時を指定します。
暗号化モジュールを持つユーザーが等価性をフィルタリングするか、リスト内の値を検索した場合:
- ユーザーが使用できる暗号化モジュールで暗号化された値のみが返されます。
- 演算子 [は空] および [は空でない] では、一致するすべてのレコードが返されます。現在のユーザーが使用できない暗号化モジュールで暗号化されたフィールドは空で表示されます。
ユーザーが暗号化モジュールを持っていない場合、レコードは返されません。
リストでは [この値で絞り込み] および [この値を除外] オプションがサポートされています。完全一致のみが返されるか、フィルタリングで除外されます。
暗号化フィールドからのデータのエクスポート
リストまたはフォーム内の暗号化フィールドをファイル形式でエクスポートすると、暗号化モジュールによって暗号化されたフィールドのみが、エクスポートされたドキュメントに表示されます。使用する暗号化モジュールは、現在のユーザーが使用できる必要があります。
リストビューからの暗号化データのエクスポートを無効にするには、glide.encryption.export_encrypted_data.allowed システムプロパティを追加して、値を false に設定します。
システムテーブルの暗号化
Column Level Encryption は現在、システムテーブル (sys_ で始まるテーブル) のフィールドと添付ファイルの暗号化をサポートしていません。