複数モジュール機能を使用してデータを暗号化する
複数の暗号化モジュールでデータを暗号化し、暗号化されたデータ内の特定の行に使用するキーをユーザーが判断できるようにします。
始める前に
必要なロール:sn_kmf.cryptographic_manager または sn_kmf.admin
このタスクについて
[複数モジュール] オプションは非決定的と見なされ、特定のレコードに使用するキーをユーザーが決定するため、推奨される方法ではありません。列に複数のモジュールを使用する機能は、行条件に置き換えられます。「複数暗号化モジュールの使用」を参照してください。この非決定論的実装は、最初に作成され、現在も使用されているため、引き続きサポートされていますが、新しい複数モジュールのユースケースには行条件を使用することをお勧めします。
複数の暗号化モジュールを使用してフィールドを変更し、単一の暗号化モジュールを使用することはできません。
このフィールドは、最初にデータを入力するユーザーの暗号化モジュールで暗号化されます。暗号化モジュールはレコードごとに設定されるため、リストのフィールドにはさまざまな暗号化モジュールが含まれる可能性があります。1 つのレコード内では、フィールドは 1 つのモジュールでのみ暗号化できます。
手順
タスクの結果
指定されたフィールドの新しく作成されたデータは、関連するモジュールのキーで暗号化されます。モジュール A のアクセスポリシーで指定されたロールを持つユーザーが、指定されたテーブルに書き込むと、データはモジュール A のキーで暗号化されます。同じロールを持つユーザーのみがデータを読み込むことができます。
例
- 2 つの暗号化モジュール A と B を作成します。
- 各モジュールに、モジュールアクセスポリシーを作成します。
モジュール A の場合、人事ロールアクセス権をユーザーに付与します。モジュール B の場合、営業ロールアクセス権をユーザーに付与します。
- インシデントテーブルの [簡単な説明] 列を指定する暗号化フィールドの設定レコードを作成し、[メソッド] フィールドで [複数のモジュール] を選択していることを確認します。
- 人事ロールのユーザー (ユーザー A) と営業ロールのユーザー (ユーザー B) の 2 人のユーザーに、簡単な説明のあるインシデントを作成させ、両方のユーザーにインシデントのリストを表示させます。
人事ロールのユーザーが作成したインシデントの簡単な説明は、モジュール A のキーで暗号化されます。同様に、営業ロールのユーザーが作成したインシデントの簡単な説明は、モジュール B のキーで暗号化されます。
人事ロールと営業ロールを持つすべてのユーザーがインシデントにアクセスできますが、人事ロールを持つユーザー A が作成したインシデントの簡単な説明を復号化して表示できるのは、人事ロールを持つユーザーのみです。同様に、営業ロールを持っていたユーザー B が作成したインシデントの簡単な説明を復号化して表示できるのは、営業ロールを持つユーザーのみです。