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

AlwaysOn可用性グループを使用したTDEの構成

「このブログは、AlwaysOn可用性グループを使用して透過的なデータ暗号化を設定するために必要な詳細な手順を示しています。」

はじめに

SQL Serverは、物理ファイルを暗号化して顧客の機密データを保護するための透過的データ暗号化(TDE)を提供します。 EnterpriseEditionの機能としてSQLServer2008で導入されました。

TDEは、次のSQLServerエディションで使用できます。

•SQLServer2008、2008 R2、2012、2014、2016、2017(評価、開発者、エンタープライズ)

  From SQL version 2019, TDE is available on most of the editions available. 

•SQLServer2019-標準、評価、開発者、エンタープライズ

次のAlwaysOn可用性グループを使用してTDEを構成する方法について説明します。シナリオ。

  1. TDE暗号化データベースをAGグループに追加します。
  2. AGグループにすでに存在するデータベースにTDEを構成します。
  3. 期限切れの証明書のローテーション

シナリオ:TDE暗号化データベースをAGグループに追加します。

2ノードAGを使用してTDEをセットアップしています。次のプロセスでは、手順について詳しく説明します。各セカンダリレプリカのセカンダリ手順に従います(セカンダリが複数ある場合)

•プライマリレプリカ:node1

•セカンダリレプリカ:node2

•AGグループ:TDE_AG

ヒント: TDEを実装する前に、データベースにエラーがないことを確認し、データベースの最新の完全バックアップを取得するために、DBCCCHECKDBを実行することを常にお勧めします。

ステップ1:プライマリインスタンス-マスターキーを作成する

TDEを初めて暗号化する場合は、マスターキーがないはずであり、結果セットが得られない次のSQLを使用できます。

次に、強力なパスワードを使用してマスターデータベースにマスターキーを作成します。

マスターキーを検証します:

ベストプラクティスとして、マスターキーを安全な場所にバックアップします。バックアップのパスワードは、マスターキーのパスワードとは異なる場合があります。

ステップ2:プライマリインスタンス-証明書を作成する

データベース暗号化キーを保護するための証明書を作成します。証明書のデフォルトの有効期限は1年です。ヒント :有効期限を1年で期限切れにするのは適切ではないため、有効期限を5年に設定することをお勧めします。

以下のTSQLを使用して検証し、証明書が作成されたことを確認します。

ステップ3:プライマリインスタンス-データベース暗号化キー(DEK)の作成

実際のデータベースコンテンツを暗号化するための対称鍵であるDEKを作成し、利用可能なAESアルゴリズムを使用して作成できます。

ステップ4:プライマリインスタンス-証明書をバックアップする

良い習慣として、証明書と秘密鍵をバックアップします。これにより、データベースのバックアップファイルを復元したり、データベースのデータファイルを別のSQLServerインスタンスに添付したりできます。

ステップ5:セカンダリインスタンス-マスターキーを作成する

存在しない場合は、すべてのセカンダリレプリカにデータベースマスターキーを作成する必要があります。これは、プライマリインスタンスの手順1と同様です。マスターキーは、手順1で両方のインスタンスにすでに作成されています。

ステップ6:セカンダリインスタンス-セカンダリ証明書を作成する

プライマリレプリカからすべてのセカンダリレプリカに証明書をコピーし、プライマリレプリカ証明書を使用してセカンダリレプリカに証明書を作成します。

プライマリレプリカのバックアップを暗号化するために以前に使用された復号化パスワードを指定する必要があります。

ステップ7:プライマリインスタンス-TDE暗号化の有効化

必要なデータベースでTDEを有効にするための最後のステップとして、次のコマンドをクエリします。

それでは、暗号化プロセスの進行状況を監視し、暗号化が完了したことを表す状態が3であることを確認しましょう。

次のクエリは、データベースでTDEが有効になっているデータベースを一覧表示します。

上記の結果は、TDEがTDE_DBデータベースで有効になっていることを示しており、暗号化状態3は、データベースが完全に暗号化されていることを意味します。デフォルトでは、任意のユーザーデータベースでTDEを使​​用して暗号化すると、tempdbは自動的に暗号化されます。

ステップ8:可用性グループへのデータベースの追加

暗号化されたデータベースをAGグループに追加しましょう。

:TDE暗号化データベースを可用性グループに追加することはSSMSのGUIオプションをサポートしていません。

データベースをAGグループに追加するには、TSQLを使用する必要があります。プライマリレプリカで、データベースTDE_Testデータベースの完全バックアップとトランザクションログバックアップを作成し、コピーします。次に、NORECOVERYを使用して復元する必要があります セカンダリで。

バックアップと復元が完了したら、次のコマンドを実行してデータベースを可用性グループに追加します。

ステップ9:AGヘルスの検証

次に、ダッシュボードと手動フェイルオーバーテストを使用してAGヘルスチェックのステータスを検証し、TDEが有効になっているデータベースが正常に機能していることを確認します。

シナリオ:AGグループにすでに存在するデータベースにTDEを構成します。

(最初のシナリオで説明した)手順に従って、データベースがすでにAGグループに追加されているときにTDEを有効にします。

ステップ1:プライマリインスタンス-マスターキーを作成する

ステップ2:プライマリインスタンス-証明書を作成する

ステップ3:プライマリインスタンス-データベース暗号化キー(DEK)の作成

ステップ4:プライマリインスタンス-証明書をバックアップする

ステップ5:セカンダリインスタンス-マスターキーを作成する

ステップ6:セカンダリインスタンス-セカンダリ証明書を作成する

ステップ7:プライマリインスタンス-TDE暗号化の有効化

ステップ9:AGヘルスの検証

前のシナリオで両方のレプリカにマスターキーと証明書をすでに作成しているので、手順1、2、4、5、6、7をスキップできます。手順3と7からDEKを作成し、TDEを有効にする必要があります。

•プライマリレプリカ:node1

•セカンダリレプリカ:node2

•AGグループ:TDE_AG

•AGデータベース:Test_tde

•TDE証明書:TDE_AG2021

ステップ3および7–プライマリインスタンス上

暗号化プロセスの進行状況を監視し、暗号化が完了したことを示す状態が3であることを確認します。

次のクエリでTDE対応データベースを確認してください。

AGヘルスチェックを検証し、フェイルオーバーテストを実行して、すべてが正常に機能していることを確認します。

シナリオ:期限切れの証明書のローテーション

TDE証明書の有効期限が間もなく切れる場合は、有効期限が切れた証明書によってデータベースの通常の操作に問題が発生しない場合でも、ベストプラクティスとして証明書をローテーションする必要があります。

TDE証明書の有効期限を確認し、説明されている手順に従ってSQLTDE証明書をローテーションできます

ステップ1:プライマリインスタンス-新しい証明書を作成する

ステップ2:プライマリインスタンス-証明書をバックアップする

ステップ3:セカンダリインスタンス-セカンダリ証明書を作成する

ステップ4:プライマリインスタンス-SQLTDE証明書をローテーションする

Test_tdeデータベースの有効期限を検証します:

ステップ5:AGヘルスの検証:

古いバックアップを復元するには、期限切れのTDE証明書をしばらく保存します。新しい証明書は、キーローテーション以降にバックアップされたデータベースを復元する場合にのみ使用されます。

結論

SQL Serverは、物理ファイルを暗号化して顧客の機密情報を保護するための透過的データ暗号化(TDE)を提供します。このブログでは、AlwaysOn可用性グループデータベースのTDEを構成するためのさまざまなシナリオについて説明しました。

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


  1. RMANを使用してスタンバイデータベースをロールフォワードする

    フィジカル・スタンバイ・データベースがアーカイブREDOデータを紛失または破損した場合、またはアーカイブ・ログが1次データベースで失われたか、アーカイブが破損した結果として解決できないアーカイブ・ギャップがある場合、リカバリー用の無効なバックアップが存在します。 プライマリデータベースにアーカイブが存在する場合は、問題のトラブルシューティングを行い、アーカイブが破損していない場合は、アーカイブが自動的に転送されます。オペレーティングシステム(OS)レベルでアーカイブが破損していて、バックアップがある場合は、バックアップのアーカイブログを使用してデータベースを復元します。これらのソリューション

  2. Excel でフォームを使用してデータベースを作成する方法

    多くの場合、データベースの作成が必要になることがあります エクセルで。幸いなことに、Excel にはデータ入力 フォーム が用意されています。 そのようなタスクを伝統的に行うのではなく、効率的に達成すること。この有益なセッションでは、 フォーム を使用して Excel でデータベースを作成する方法を順を追って説明します。 フォームに関連するいくつかの重要事項を含む . Excel のデータ入力フォームとは 通常、ユーザーは Excel でセルごとにデータを入力します。このように入力すると、特に大規模なデータベースを作成する場合に問題が発生する可能性があります。このような状況では、デー