この記事はAWSシニアエバンジェリスト Jeff BarのAmazon Web Services Blogの記事、Amazon RDS for Microsoft SQL Server - Transparent Data Encryption (TDE)を渡邉源太 (Facebook, Twitter)が翻訳したものです。
Amazon RDS for Microsoft SQL Serverが透過的なデータ暗号化(TDE)の利用をサポートしました。これを有効にすることによって、データベースインスタンスはデータベースに格納する前にデータを暗号化し、取り出した後に復号化するようになります。
この機能を以前アナウンスされたSQL ServerへのSSL接続と組み合わせて使用することにより、データを保管および転送する時に保護することができます。また、ネットワーク構成を完全にコントロールするためにVirtual Private Cloud内にデータベースインスタンスを作成して接続することもできます。
TDEをAmazon RDS for SQL Serverインスタンスで有効にするためには、そのインスタンスに関連付けられたDatabase Option GroupのTDEオプションを指定します:

Amazon RDSが暗号化プロセスで使用される証明書を生成します。起動中のインタンスがオプショングループを使用すると、証明書がインスタンスにデプロイされます。
それから、証明書の配置と対象となるデータベースの暗号化のためALTER DATABASEコマンドをつかいます。
これがセットアップのやり方になります。はじめに、パターンマッチを使用して証明書を配置します:
-- Find a RDSTDECertificate to use
USE [master]GOSELECT name FROM sys.certificates WHERE name LIKE'RDSTDECertificate%'GO
それからデータベースを切り替え、前のステップの証明書の名前をつかって暗号化キーを作成します:
USE [customerDatabase]GO-- Create DEK using one of the certificates from the previous stepCREATEDATABASE ENCRYPTION KEYWITH ALGORITHM = AES_128
ENCRYPTION BY SERVER CERTIFICATE [RDSTDECertificateName]GO
そして、データベースを暗号化します:
-- Enable encryption on the databaseALTERDATABASE [customerDatabase]SET ENCRYPTION ONGO
このようにして、データベースが暗号化されたことを検証することができます:
-- Verify that the database is encrypted
USE [master]GOSELECT name FROM sys.databases WHERE is_encrypted =1GOSELECT db_name(database_id) as DatabaseName, *FROM sys.dm_database_encryption_keysGO
Amazon RDS for SQL ServerのTDEについてさらに詳しく知るためには、Amazon RDS for SQL Serverの詳細ページとドキュメントを参照してください。
-- Jeff;
追伸 - もしあなたがAmazon RDS for Oracle Databaseをつかっているなら、そちらも透過的なデータ暗号化をサポートしていると知ってハッピーになれるでしょう。
この記事はAWSシニアエバンジェリスト Jeff BarのAmazon Web Services Blogの記事、Amazon RDS for Microsoft SQL Server - Transparent Data Encryption (TDE)を渡邉源太 (Facebook, Twitter)が翻訳したものです。