SQL Server 2016にAlways Encrypted機能を実装すると、.mdfファイル、.ldfファイル、.bakファイルも暗号化されますか?
データ/ログ/バックアップファイルが暗号化されているかどうかを知りたいです。
documentation は、最初の段落で次のように述べています。
ドライバーは、データをデータベースエンジンに渡す前に機密性の高い列のデータを暗号化し、アプリケーションへのセマンティクスが保持されるように自動的にクエリを書き換えます。同様に、ドライバーは、暗号化されたデータベース列に格納され、クエリ結果に含まれるデータを透過的に復号化します。
暗号化された列のみが暗号化されることを意味します。したがって、データベース、ログ、およびバックアップは完全に暗号化されていません。
Always Encryptedを設定するときは、暗号化する列を指定します。それらの列のデータのみが暗号化されます。データはSQL Serverに送信される前に暗号化されるため、データはデータファイル、ログファイル内、およびデータベースから取得されたすべてのバックアップ内で暗号化されます。 Always Encryptedによってnotが暗号化されている列のデータは、.mdf、.ldf、および(おそらく圧縮された)内部のプレーンテキストで表示されますデータベースのバックアップファイル。
透過的データベース暗号化 はデータベース全体を暗号化します。 .mdf、.ldf、およびデータベースから取得したすべてのバックアップは完全に暗号化されます。 SQL Serverインスタンスには、インスタンスの起動時、またはデータベースの復元時または接続時に、データベースの起動に使用される復号化キーのコピーがあります。
データ/ログファイル全体は暗号化されません。暗号化する特定のフィールドのみが暗号化されます。そうです、それらはデータ、ログ、およびバックアップファイルで暗号化されます。 SQL Serverは暗号化されていない値を見ることはありません。
Always Encryptedのドキュメント では、Microsoftは次のように説明しています。
Always Encryptedを使用すると、クライアントはクライアントアプリケーション内の機密データを暗号化でき、データベースエンジン(SQLデータベースまたはSQLサーバー)に暗号化キーを公開することはできません。
これはすばらしい表現ではありませんが、データが暗号化されているだけでなく、SQL Serverエンジンにはそれを解読するためのキーさえないということです。
したがって、名前-SQL Serverエンジンに関する限り、データは常に暗号化されます。