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 AdventureWorks2012;
GO
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_256
ENCRYPTION BY SERVER CERTIFICATE MyServerCert;
GO

関連項目

参照

ALTER DATABASE の SET オプション (Transact-SQL)

ALTER DATABASE ENCRYPTION KEY (Transact-SQL)

DROP DATABASE ENCRYPTION KEY (Transact-SQL)

sys.dm_database_encryption_keys (Transact-SQL)

概念

透過的なデータ暗号化 (TDE)

SQL Server の暗号化

SQL Server とデータベースの暗号化キー (データベース エンジン)

暗号化階層