SQL Database、SQL Managed Instance および Azure Synapse Analytics の透過的なデータ暗号化Transparent data encryption for SQL Database, SQL Managed Instance, and Azure Synapse Analytics

適用対象: Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics

Transparent Data Encryption (TDE) は、保存データを暗号化することによって、Azure SQL Database、Azure SQL Managed Instance、Azure Synapse Analytics を悪意のあるオフライン アクティビティの脅威から保護するために役立ちます。Transparent data encryption (TDE) helps protect Azure SQL Database, Azure SQL Managed Instance, and Azure Synapse Analytics against the threat of malicious offline activity by encrypting data at rest. データベース、関連付けられているバックアップ、保管されているトランザクション ログ ファイルの暗号化と暗号化解除をリアルタイムで実行することにより、アプリケーションに変更を加えずに暗号化を行うことができます。It performs real-time encryption and decryption of the database, associated backups, and transaction log files at rest without requiring changes to the application. 新しくデプロイされるすべての SQL Database では、TDE は既定で有効になっています。Azure SQL Database や Azure SQL Managed Instance の古いデータベースでは手動で有効にする必要があります。By default, TDE is enabled for all newly deployed SQL Databases and must be manually enabled for older databases of Azure SQL Database, Azure SQL Managed Instance. Azure Synapse Analytics には、TDE を手動で有効にする必要があります。TDE must be manually enabled for Azure Synapse Analytics.

TDE では、ページ レベルでデータのリアルタイム I/O 暗号化と暗号化解除が実行されます。TDE performs real-time I/O encryption and decryption of the data at the page level. 各ページは、メモリに読み込まれるときに暗号化解除され、ディスクに書き込まれる前に暗号化されます。Each page is decrypted when it's read into memory and then encrypted before being written to disk. TDE では、データベース暗号化キー (DEK) という対称キーを使用してデータベース全体のストレージが暗号化されます。TDE encrypts the storage of an entire database by using a symmetric key called the Database Encryption Key (DEK). データベースの起動時に、DEK の暗号化は解除され、SQL Server データベース エンジン プロセスでデータベース ファイルの暗号化解除と再暗号化を行うために使用されます。On database startup, the encrypted DEK is decrypted and then used for decryption and re-encryption of the database files in the SQL Server database engine process. DEK は TDE 保護機能によって保護されます。DEK is protected by the TDE protector. TDE 保護機能は、サービスによって管理される証明書 (サービスによって管理される透過的なデータ暗号化) または Azure Key Vault に格納される非対称キー (顧客によって管理される透過的なデータ暗号化) のどちらかです。TDE protector is either a service-managed certificate (service-managed transparent data encryption) or an asymmetric key stored in Azure Key Vault (customer-managed transparent data encryption).

Azure SQL Database と Azure Synapse の場合、TDE 保護機能はサーバー レベルで設定され、そのサーバーに関連付けられているすべてのデータベースによって継承されます。For Azure SQL Database and Azure Synapse, the TDE protector is set at the server level and is inherited by all databases associated with that server. Azure SQL Managed Instance の場合、TDE 保護機能はインスタンス レベルで設定され、そのインスタンス上のすべての暗号化されたデータベースによって継承されます。For Azure SQL Managed Instance, the TDE protector is set at the instance level and it is inherited by all encrypted databases on that instance. サーバー という言葉は、別途明記されていない限り、このドキュメントではサーバーとインスタンスの両方を指します。The term server refers both to server and instance throughout this document, unless stated differently.

重要

SQL Database で新しく作成されたすべてのデータベースは、サービスによって管理される透過的なデータ暗号化を使用して既定で暗号化されます。All newly created databases in SQL Database are encrypted by default by using service-managed transparent data encryption. 2017 年 5 月より前に作成された既存の SQL データベースと、復元、geo レプリケーション、データベース コピーによって作成された SQL データベースは、既定では暗号化されません。Existing SQL databases created before May 2017 and SQL databases created through restore, geo-replication, and database copy are not encrypted by default. 2019 年 2 月より前に作成された既存の SQL Managed Instance データベースは、既定では暗号化されません。Existing SQL Managed Instance databases created before February 2019 are not encrypted by default. 復元によって作成された SQL Managed Instance データベースでは、ソースから暗号化の状態が継承されます。SQL Managed Instance databases created through restore inherit encryption status from the source.

注意

TDE を使用して、Azure SQL Database および Azure SQL Managed Instance の マスター データベースなどのシステム データベースを暗号化することはできません。TDE cannot be used to encrypt system databases, such as the master database, in Azure SQL Database and Azure SQL Managed Instance. master データベースには、ユーザー データベースで TDE 操作を実行するために必要なオブジェクトが含まれています。The master database contains objects that are needed to perform the TDE operations on the user databases. 機密データをシステム データベースに保存しないようにしてください。It is recommended to not store any sensitive data in the system databases. 現在、マスターを含むシステム データベースを暗号化するインフラストラクチャ暗号化がロールアウトされています。Infrastructure encryption is now being rolled out which encrypts the system databases including master.

サービスによって管理された Transparent Data EncryptionService-managed transparent data encryption

Azure では、TDE の既定の設定は、組み込みのサーバー証明書によって保護される DEK です。In Azure, the default setting for TDE is that the DEK is protected by a built-in server certificate. 組み込みのサーバー証明書はサーバーごとに一意であり、使用される暗号化アルゴリズムは AES 256 です。The built-in server certificate is unique for each server and the encryption algorithm used is AES 256. データベースが geo レプリケーションのリレーションシップに含まれている場合、プライマリ データベースと geo セカンダリ データベースの両方が、プライマリ データベースの親サーバー キーによって保護されます。If a database is in a geo-replication relationship, both the primary and geo-secondary databases are protected by the primary database's parent server key. 2 つのデータベースが同じサーバーに接続されている場合は、同じ組み込み証明書も共有されます。If two databases are connected to the same server, they also share the same built-in certificate. Microsoft では社内のセキュリティ ポリシーに準拠してこれらの証明書のローテーションが自動的に行われており、ルート キーは Microsoft 内のシークレット ストアによって保護されています。Microsoft automatically rotates these certificates in compliance with the internal security policy and the root key is protected by a Microsoft internal secret store. お客様は、Microsoft Trust Center で入手可能な独立したサード パーティの監査レポートで、SQL Database および SQL Managed Instance が内部セキュリティ ポリシーに準拠していることを確認できます。Customers can verify SQL Database and SQL Managed Instance compliance with internal security policies in independent third-party audit reports available on the Microsoft Trust Center.

また、geo レプリケーションと復元のために、必要に応じてキーの移動と管理をシームレスに行います。Microsoft also seamlessly moves and manages the keys as needed for geo-replication and restores.

ユーザーが管理する Transparent Data Encryption - Bring Your Own KeyCustomer-managed transparent data encryption - Bring Your Own Key

ユーザーによって管理される TDE は、TDE に対する Bring Your Own Key (BYOK) サポートとも呼ばれます。Customer-managed TDE is also referred to as Bring Your Own Key (BYOK) support for TDE. このシナリオでは、DEK を暗号化する TDE 保護機能はユーザーによって管理される非対象キーであり、それはユーザーが所有して管理している Azure Key Vault (Azure のクラウドベースの外部キー管理システム) 内に格納され、そのキー コンテナーから出ることはありません。In this scenario, the TDE Protector that encrypts the DEK is a customer-managed asymmetric key, which is stored in a customer-owned and managed Azure Key Vault (Azure's cloud-based external key management system) and never leaves the key vault. TDE 保護機能はキー コンテナーによって生成するか、キー コンテナーに転送する (オンプレミスのハードウェア セキュリティ モジュール (HSM) デバイスから転送する) ことができます。The TDE Protector can be generated by the key vault or transferred to the key vault from an on-premises hardware security module (HSM) device. SQL Database、SQL Managed Instance、および Azure Synapse には、DEK の暗号化解除と暗号化のために、ユーザーが所有するキー コンテナーへのアクセス許可が付与されている必要があります。SQL Database, SQL Managed Instance, and Azure Synapse need to be granted permissions to the customer-owned key vault to decrypt and encrypt the DEK. サーバーからキー コンテナーへのアクセス許可が取り消されると、データベースはアクセス不可となり、すべてのデータが暗号化されます。If permissions of the server to the key vault are revoked, a database will be inaccessible, and all data is encrypted

TDE と Azure Key Vault の統合により、ユーザーは Azure Key Vault 機能を使用して、キーの交換、キー コンテナーのアクセス許可、キーのバックアップ、すべての TDE 保護機能の監査/レポートの有効化などのキー管理タスクを制御できます。With TDE with Azure Key Vault integration, users can control key management tasks including key rotations, key vault permissions, key backups, and enable auditing/reporting on all TDE protectors using Azure Key Vault functionality. Key Vault ではキーの一元管理が提供され、厳しく監視された HSM を使用してキー管理とデータ管理の職務を分離できるようにすることでセキュリティ ポリシーが順守されるようにサポートします。Key Vault provides central key management, leverages tightly monitored HSMs, and enables separation of duties between management of keys and data to help meet compliance with security policies. Azure SQL Database と Azure Synapse の BYOK の詳細については、Azure Key Vault の統合による透過的なデータ暗号化に関する記事を参照してください。To learn more about BYOK for Azure SQL Database and Azure Synapse, see Transparent data encryption with Azure Key Vault integration.

Azure Key Vault の統合で TDE の使用を開始するには、Key Vault の自分のキーを使用して透過的なデータ暗号化を有効にする方法のガイドを参照してください。To start using TDE with Azure Key Vault integration, see the how-to guide Turn on transparent data encryption by using your own key from Key Vault.

Transparent Data Encryption で保護されたデータベースを移動するMove a transparent data encryption-protected database

Azure 内での操作のためにデータベースを暗号化解除する必要はありません。You don't need to decrypt databases for operations within Azure. ソース データベースまたはプライマリ データベースの TDE の設定は、ターゲットに透過的に継承されます。The TDE settings on the source database or primary database are transparently inherited on the target. 含まれている操作は次のとおりです。Operations that are included involve:

  • geo リストアGeo-restore
  • セルフサービスのポイントインタイム リストアSelf-service point-in-time restore
  • 削除されたデータベースの復元Restoration of a deleted database
  • アクティブな地理的レプリケーションActive geo-replication
  • データベース コピーの作成Creation of a database copy
  • Azure SQL Managed Instance にバックアップ ファイルを復元するRestore of backup file to Azure SQL Managed Instance

重要

サービス マネージド TDE によって暗号化されたデータベースのコピーのみの手動バックアップを取得することは、Azure SQL Managed Instance ではサポートされていません。暗号化に使用される証明書にアクセスできないためです。Taking manual COPY-ONLY backup of a database encrypted by service-managed TDE is not supported in Azure SQL Managed Instance, since the certificate used for encryption is not accessible. ポイントインタイム リストア機能を使用して、この種類のデータベースを別の SQL Managed Instance に移動するか、カスタマー マネージド キーに切り替えてください。Use point-in-time-restore feature to move this type of database to another SQL Managed Instance, or switch to customer-managed key.

TDE で保護されたデータベースをエクスポートする場合、エクスポートされるデータベースのコンテンツは暗号化されません。When you export a TDE-protected database, the exported content of the database isn't encrypted. このエクスポートされたコンテンツは、暗号化されていない BACPAC ファイルに保存されます。This exported content is stored in unencrypted BACPAC files. 新しいデータベースのインポートが完了したら、BACPAC ファイルが適切に保護されていることを確認し、TDE を有効にします。Be sure to protect the BACPAC files appropriately and enable TDE after import of the new database is finished.

たとえば、BACPAC ファイルを SQL Server インスタンスからエクスポートした場合、新しいデータベースのインポートされるコンテンツは自動的には暗号化されません。For example, if the BACPAC file is exported from a SQL Server instance, the imported content of the new database isn't automatically encrypted. 同様に、BACPAC ファイルを SQL Server インスタンスにインポートした場合も、新しいデータベースは自動的には暗号化されません。Likewise, if the BACPAC file is imported to a SQL Server instance, the new database also isn't automatically encrypted.

唯一の例外は、SQL Database との間でデータベースをエクスポートする場合です。The one exception is when you export a database to and from SQL Database. 新しいデータベースでは TDE が有効になりますが、BACPAC ファイル自体はまだ暗号化されていません。TDE is enabled on the new database, but the BACPAC file itself still isn't encrypted.

Transparent Data Encryption の管理Manage transparent data encryption

Azure portal で TDE を管理します。Manage TDE in the Azure portal.

Azure portal で TDE を構成するには、Azure の所有者、共同作成者、または SQL セキュリティ マネージャーとして接続する必要があります。To configure TDE through the Azure portal, you must be connected as the Azure Owner, Contributor, or SQL Security Manager.

データベース レベルで TDE を有効または無効にします。Enable and disable TDE on the database level. Azure SQL Managed Instance の場合、Transact-SQL (T-SQL) を使用してデータベースの TDE のオン/オフを切り替えます。For Azure SQL Managed Instance use Transact-SQL (T-SQL) to turn TDE on and off on a database. Azure SQL Database と Azure Synapse では、Azure 管理者または共同作成者アカウントを使用してサインインした後、Azure portal でデータベースの TDE を管理できます。For Azure SQL Database and Azure Synapse, you can manage TDE for the database in the Azure portal after you've signed in with the Azure Administrator or Contributor account. ユーザー データベース以下の TDE 設定を見つけます。Find the TDE settings under your user database. 既定では、サービスによって管理された Transparent Data Encryption が使用されます。By default, service-managed transparent data encryption is used. データベースを含むサーバー用の TDE 証明書が自動的に生成されます。A TDE certificate is automatically generated for the server that contains the database.

サービスによって管理された Transparent Data Encryption

TDE マスター キー (TDE 保護機能とも呼ばれます) は、サーバーまたはインスタンスのレベルで設定します。You set the TDE master key, known as the TDE protector, at the server or instance level. BYOK のサポートによる TDE を使用しているときに、Key Vault のキーを使用してデータベースを保護するには、お使いのサーバーの TDE 設定を開きます。To use TDE with BYOK support and protect your databases with a key from Key Vault, open the TDE settings under your server.

Bring Your Own Key をサポートする Transparent Data Encryption