CREATE DATABASE ENCRYPTION KEY (Transact-SQL)
データベースを透過的に暗号化するために使用する暗号化キーを作成します。透過的なデータベースの暗号化の詳細については、「透過的なデータ暗号化 (TDE) について」を参照してください。
構文
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