データベース
 Computer >> コンピューター >  >> プログラミング >> データベース

MSSQL SERVER – CLEを使用したデータベースの移行(セルレベルの暗号化)

このブログでは、CLE(セルレベル暗号化)が実装されている場合にデータベースを復元し、暗号化されたデータを取得するために必要な手順について説明しました。

データセキュリティは、データベース管理の重要な側面の1つです。機密データを暗号化する場合、CLE、TDE、Always Encryptedなど、MSSQLServerでこれを実現する方法はたくさんあります。証明書またはキーを使用してセル内のデータを暗号化する場合、これはCLE(セルレベル暗号化)と呼ばれます。

問題:

  1. エラー:-発生する可能性のある問題の1つは、アプリケーションまたはデータを復号化するTSQLコードの一部が次のエラーを出し始めることです。
  1. DecryptByKey関数はデータを復号化できません。これによってエラーが発生することはありませんが、暗号化キーがないために機能が影響を受けます。
ソリューション

データベースマスターキーを開かなかったため、データの復号化ができず、DMKも現在のインスタンスサービスマスターキーで暗号化されていないため、このような問題が発生します。これを解決するための解決策はたくさんあります。それらについて1つずつ説明します。 。

ケース1-データベースマスターキーの暗号化パスワードがわかっている場合。

手順1:-パスワードを使用してデータベースマスターキーを開き、データを復号化します。

ステップ2:-頭に浮かぶ質問の1つは、すべてのセッションでパスワードを使用してキーを開く可能性です。それとも、これをハードコーディングできますか?答えはノーです。そのような場合は、データベースマスターキーを現在のインスタンスサービスマスターキーで再暗号化し、スナップショットに示されているように次のコマンドを実行します。

ステップ3:-パスワードでキーを開かなくてもデータを復号化できるかどうかを確認し、キーも現在のサービスマスターキーによって暗号化されているため、答えは「はい」です。

ステップ4:-データベースマスターキー暗号化パスワードを変更する場合は、次のステップを完了する必要があります

ケース2:データベースマスターキーの暗号化パスワードが不明な場合。

パスワードを知らない場合は、ソースにアクセスできます。 case1のステップ4を使用してパスワードを変更し、ステップ1の手順に従います。それ以外の場合は、別の方法として次のステップを使用します。
これは、データベースが復元されているインスタンスが他のキーを使用していない場合にのみ可能です。これは、ここに含まれる手順がインスタンスサービスのマスターキーを復元しているためです。

例:-インスタンスサービスマスターキーのバックアップを取る方法。

–サービスマスターキーのバックアップを取りますBACKUP SERVICE MASTER KEY TO FILE = 'C:\Shared\service_master_key.key' ENCRYPTION BY PASSWORD = 'key_P@ssw0rdGqw0956565’

注:-主要なバックアップファイルはセキュリティの観点から非常に機密性が高いため、[セキュリティ]タブにSQLサービスアカウントを追加して、SQLサーバーがファイルにアクセスできるようにします。そうしないと、復元プロセス中に次のエラーが発生する可能性があります。

Msg 15317, Level 16, State 2, Line 53 The master key file does not exist or has invalid format

手順1:-データベースを復元する前に、サービスマスターキーを復元します。

ステップ2:-データベースを復元します。

ステップ3:-パスワードでキーを開かなくてもデータを復号化できるかどうかを確認し、キーがインスタンスサービスキーとそれによって暗号化されたデータベースの両方を復元するのと同じサービスマスターキーを使用しているため、答えは「はい」です。

結論

暗号化に使用されるMSSQLServerの各オブジェクトは、インスタンスレベルのサービスマスターキーによって保護されています。暗号化を管理するには、暗号化に関係するオブジェクトがパスワード、キー、または証明書によってさらに暗号化されることを理解することが重要です。
セルレベルのデータ暗号化を使用してデータベースを移行するたびに、キーを復号化して宛先インスタンスサービスマスターキーで再暗号化するか、ソースインスタンスマスターキーを復元する必要があります。

コメントや質問をするには、[フィードバック]タブを使用します。私たちと会話を始めることもできます。


  1. MS Access から SQL Server データベースにデータを移行する

    最近、データベースが大きくなりすぎて Access で処理できなくなったため、Access データベースから SQL Server 2014 にデータを移行する必要がありました。プロセスはかなり単純ですが、段階的な手順を記載した記事を書こうと思いました. まず、コンピューターに SQL Server または SQL Server Express がインストールされていることを確認する必要があります。 PC に SQL Server Express をダウンロードする場合は、必ず Advanced Services を含むバージョンをダウンロードしてください。 .そうしないと、データベース エ

  2. 認証用のカスタム事前共有キーを使用して L2TP VPN Server 2016 をセットアップする方法。

    このチュートリアルでは、Windows Server 2016 で L2TP VPN アクセス サーバーをセットアップする手順について説明します。仮想プライベート ネットワーク (VPN) を使用すると、インターネットの場所からプライベート ネットワークに安全に接続でき、インターネットの攻撃やデータから保護されます。傍受。Server 2016 に L2TP/IPSec VPN アクセスをインストールして構成するには、VPN 操作を成功させるために VPN サーバー側でいくつかの設定を構成する必要があるため、多段階のプロセスです。 L2TP/IPSec VPN サーバー 2016 をカスタム事