CREATE DATABASE ENCRYPTION KEY (Transact-SQL)

データベースを透過的に暗号化するために使用する暗号化キーを作成します。透過的なデータベースの暗号化の詳細については、「透過的なデータ暗号化 (TDE) について」を参照してください。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

CREATE DATABASE ENCRYPTION KEY
       WITH ALGORITHM = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY }
   ENCRYPTION BY SERVER 
    {
        CERTIFICATE Encryptor_Name |
        ASYMMETRIC KEY Encryptor_Name
    }
[ ; ]

引数

  • WITH ALGORITHM = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY }
    暗号化キーに使用する暗号化アルゴリズムを指定します。

  • ENCRYPTION BY SERVER CERTIFICATE Encryptor_Name
    データベース暗号化キーを暗号化するために使用する暗号化処理方法の名前を指定します。

  • ENCRYPTION BY SERVER ASYMMETRIC KEY Encryptor_Name
    データベース暗号化キーを暗号化するために使用する非対称キーの名前を指定します。非対称キーでデータベース暗号化キーを暗号化するには、拡張キー管理プロバイダーに非対称キーが存在する必要があります。

説明

透過的なデータベースの暗号化 (TDE: Transparent Database Encryption) を使用してデータベースを暗号化するには、事前にデータベース暗号化キーが必要です。データベースを透過的に暗号化すると、特別にコードを変更することなく、データベース全体がファイル レベルで暗号化されます。データベース暗号化キーの暗号化に使用する証明書または非対称キーは、master システム データベースに配置されている必要があります。

データベース暗号化ステートメントは、ユーザー データベースでのみ使用できます。

データベース暗号化キーは、データベースからエクスポートできません。このキーを使用できるのは、システム、サーバーでのデバッグ権限を持つユーザー、およびデータベース暗号化キーを暗号化および暗号化解除する証明書へのアクセス権を持つユーザーに限られています。

データベース所有者 (dbo) が変わっても、データベース暗号化キーを再生成する必要はありません。

権限

データベースに対する CONTROL 権限と、データベース暗号化キーの暗号化に使用する証明書または非対称キーに対する VIEW DEFINITION 権限が必要です。

TDE を使用したその他の例については、「透過的なデータ暗号化 (TDE) について」および「EKM を使用して TDE を有効にする方法」を参照してください。

次の例では、AES_256 アルゴリズムを使用してデータベース暗号化キーを作成し、MyServerCert という証明書で秘密キーを保護します。

USE AdventureWorks2008R2;
GO
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_256
ENCRYPTION BY SERVER CERTIFICATE MyServerCert;
GO