サービスマスターキーのバックアップ

適用対象:SQL Server

この記事では、Transact-SQLを使ってSQL Serverでサービスマスターキーをバックアップする方法を説明しています。 サービスマスターキーは暗号化階層のルートであり、サーバー上の他のすべての鍵や秘密を直接的または間接的に保護します。

もし鍵が削除されたり破損した場合、SQL Serverはそれらの鍵を復号できなくなり、それらで暗号化されたデータは事実上失われてしまうことがあります。 そのため、サービスマスターキーをバックアップし、バックアップは安全なオフサイトに保管してください。

Remarks

SQL Serverがサービスマスターキーを生成したらすぐにバックアップし、バックアップは安全なオフサイトに保存してください。

このバックアップの作成は、サーバー管理操作の最初の段階で実行します。

アクセス許可

サーバーに対する CONTROL SERVER 権限が必要です。

サービスマスターキーをバックアップしてください

  1. バックアップしたいサービスマスターキーを含むSQL Serverインスタンスに接続します。 SQLcmd、SQL Server Management Studio (SSMS)Visual Studio Code 用の MSSQL 拡張機能など、使い慣れた SQL Server クライアント ツールを使用して、SQL Server のインスタンスに接続できます。

  2. バックアップ媒体上でサービスマスターキーを暗号化するための固有のパスワードを選択してください。 パスワードは SQL Server の既定のパスワード ポリシーに従う必要があります。 既定では、パスワードの長さは少なくとも 8 文字で、大文字、小文字、10 進数の数字、記号の 4 種類のうち 3 種類を含んでいる必要があります。 パスワードには最大 128 文字まで使用できます。 可能な限り長く複雑なパスワードを使用してください。

  3. バックアップキーのコピーを保存するための取り外し可能なバックアップメディアを用意しましょう。

  4. キーのバックアップを作成するNTFSディレクトリを特定してください。 このディレクトリは次のステップでファイルを作成します。 ディレクトリは厳格なアクセス制御リスト(ACL)で保護します。

  5. 以下の Transact-SQL スクリプトを確認して実行します。

    この例では、サービスマスターキーを C:\Backups\Keys\service_master_keyにバックアップします。 これらの設定を環境に合わせて変更してください。

    Caution

    サービスマスターキーを復元するにはパスワードが必要です。 このパスワードは安全かつ確実に保存してください。

    USE master;
    GO
    
    BACKUP SERVICE MASTER KEY TO FILE = 'C:\Backups\Keys\service_master_key' ENCRYPTION BY PASSWORD = '<password>';
    GO
    
  6. バックアップ済みファイルをバックアップ媒体にコピーし、コピーの内容を確認しましょう。

  7. バックアップを安全な場所に保存します。