SqlColumnEncryptionKeyStoreProvider.ColumnEncryptionKeyCacheTtl プロパティ

定義

キャッシュ内の暗号化解除された列暗号化キーの有効期間を取得または設定します。 期間が経過すると、復号化された列暗号化キーは破棄され、再検証する必要があります。

public:
 virtual property Nullable<TimeSpan> ColumnEncryptionKeyCacheTtl { Nullable<TimeSpan> get(); void set(Nullable<TimeSpan> value); };
public virtual TimeSpan? ColumnEncryptionKeyCacheTtl { get; set; }
member this.ColumnEncryptionKeyCacheTtl : Nullable<TimeSpan> with get, set
Public Overridable Property ColumnEncryptionKeyCacheTtl As Nullable(Of TimeSpan)

プロパティ値

注釈

内部的には、列暗号化キーのキャッシュがあります (暗号化を解除した後)。 これは、複数のデータ値を迅速に復号化する場合に便利です。 既定値は 2 時間です。 この値を 0 に設定すると、キャッシュが無効になります。

接続またはコマンド インスタンスに登録されているカスタム キー ストア プロバイダーによって暗号化解除された列暗号化キーはキャッシュされません。 カスタム キー ストア プロバイダーは、独自のキャッシュ メカニズムを実装する必要があります。

キー ストア プロバイダー インスタンスが を使用して RegisterColumnEncryptionKeyStoreProviders(IDictionary<String,SqlColumnEncryptionKeyStoreProvider>)登録されている場合、カスタム キー ストア プロバイダーによって実装されたキャッシュはドライバーによって無効になります。 キャッシュの実装では、列暗号化キーをキャッシュする前にこのプロパティの値を参照し、値が 0 の場合はキャッシュしないようにする必要があります。 これにより、キャッシュが重複し、ユーザーがキーのキャッシュを構成しようとするときに混乱するのを避けることができます。

適用対象