Azure SQLのTDE更新ポイントまとめ:Transparent Data Encryptionの影響範囲・設定確認・移行時の注意点

Azure SQL の Transparent Data Encryption(TDE)は、データベースのデータファイル、ログファイル、バックアップを保存時に暗号化する機能です。アプリケーションのSQLや接続方式を変えずに使える一方で、通信経路の暗号化や列単位の暗号化を代替するものではありません。

2026年6月25日に更新された Microsoft Learn の「Transparent Data Encryption (TDE) – SQL Server」で管理者がまず確認すべき点は、TDEの適用範囲、証明書・キーのバックアップ、復元や移行時の扱い、Azure SQLでの既定設定の違いです。公式情報上、今回の更新に伴う一律の移行期限や強制的な設定変更は示されていません。ただし、古い Azure SQL Database、復元元が暗号化されていないデータベース、Customer-managed key(CMK)を使う環境では、暗号化状態とキー管理を棚卸ししておく必要があります。(Microsoft Learn)

目次

Azure SQL の TDE とは何か

Transparent Data Encryption(TDE)は、SQL Server、Azure SQL Database、Azure SQL Managed Instance、Azure Synapse Analytics で利用できる保存データ暗号化の仕組みです。データベースのページがディスクへ書き込まれる前に暗号化され、メモリへ読み込まれるときに復号されます。暗号化はデータベースエンジン側で行われるため、通常はアプリケーション側のコード変更を必要としません。(Microsoft Learn)

TDEで暗号化される主な対象は、次のとおりです。

対象TDEで保護されるか管理者が確認すべき点
データファイル対象暗号化状態をDMVで確認する
トランザクションログ対象TDE有効化後のログ暗号化状態を確認する
バックアップ対象復元に必要な証明書・キーを保持する
通信経路対象外TLSなど別の対策が必要
master、model、msdbなどのシステムDB対象外機密情報を保存しない設計にする
tempdb条件付きで暗号化TDE有効DBがある環境では影響を考慮する
FILESTREAMデータ対象外必要に応じて別の暗号化を検討する

特に誤解しやすいのは、TDEが「データベース全体のセキュリティ対策」ではなく、保存されているファイルを盗まれた場合のリスクを下げるための暗号化機能である点です。SQLインジェクション、権限過多、誤った共有、通信傍受、アプリケーションから見える平文データの保護には、別の対策が必要です。Microsoftの公式情報でも、TDEは通信チャネルの暗号化を提供しないと説明されています。(Microsoft Learn)

2026年6月25日更新情報で確認すべきポイント

今回参照対象となる Microsoft Learn の TDE ページは、2026年6月25日に更新されています。内容としては、SQL Serverを中心にTDEの仕組み、制限事項、証明書管理、バックアップ、可用性構成、トランザクションログ、tempdb、レプリケーションなどの注意点が整理されています。(Microsoft Learn)

Azure SQL 管理者の視点では、次の4点を優先して確認すると実務に落とし込みやすくなります。

確認ポイント重要な理由取るべき行動
TDEの適用範囲通信やアプリ層の暗号化とは役割が違う保存データ暗号化、通信暗号化、列暗号化を分けて設計する
暗号化状態古いDBや復元元によって状態が異なる可能性があるsys.dm_database_encryption_keys で確認する
証明書・キー管理復元時に証明書やキーがないとDBを開けない場合があるバックアップ、保管先、復旧手順を確認する
移行・復元時の扱いコピー、復元、geo-replicationで暗号化状態が変わる場合がある移行前後で暗号化状態をチェックする

重要なのは、「TDEが有効かどうか」だけを確認して終わらせないことです。実運用では、誰がキーを管理するのか、復元時に必要なキーへアクセスできるのか、監査で証明できるのかまで確認して初めて、TDEを安全に運用できていると言えます。

Azure SQL での影響範囲

Azure SQL Databaseでは、新しく作成されるSQLデータベースは既定でサービス管理TDEにより暗号化されます。一方で、2017年5月より前に作成された既存のAzure SQL Databaseや、2019年2月より前に作成された既存のAzure SQL Managed Instanceデータベースは、既定で暗号化されていない場合があると公式情報に記載されています。(Microsoft Learn)

そのため、特に長く運用しているAzure環境では、「Azure SQLだからTDEは有効なはず」と決めつけないことが重要です。次のようなデータベースは、優先的に棚卸ししてください。

優先度確認対象理由
高2017年以前から運用している Azure SQL Database既定で暗号化されていない可能性がある
高2019年以前から運用している Azure SQL Managed Instance既定の暗号化状態を確認する必要がある
高オンプレミスSQL Serverから移行したDB証明書、DEK、移行手順の確認が必要
中復元、コピー、geo-replicationで作成したDB元DBの暗号化状態を継承する場合がある
中BACPACでエクスポート・インポートしたDBBACPAC自体はTDEで暗号化されない
中Customer-managed keyを利用するDBKey Vault権限やキーの有効性が可用性に直結する

Azure SQL DatabaseとAzure Synapseでは、TDE保護機能はサーバーレベルで設定され、関連するデータベースへ継承されます。Azure SQL Managed Instanceではインスタンスレベルで設定され、暗号化されたデータベースへ継承されます。(Microsoft Learn)

設定変更は必要か

今回の公式情報から読み取れる範囲では、すべてのAzure SQL利用者に対して直ちに必要な強制的な設定変更は示されていません。したがって、管理者が行うべきことは「急いで設定を変える」ことではなく、現在の暗号化状態とキー管理の健全性を確認することです。

まず確認すべき観点は、次の3つです。

観点確認内容判断基準
暗号化状態対象DBでTDEが有効か本番DB、個人情報、機密情報を含むDBは原則有効
キー管理方式サービス管理キーか、Customer-managed keyか一般用途はサービス管理、厳格な統制が必要ならCMK
復旧可能性証明書・キー・Key Vault権限が復旧時に使えるか復元手順を実際に検証できている状態が望ましい

Azure SQLのサービス管理TDEでは、Microsoftが管理する組み込み証明書によりDEKが保護されます。Azure SQL DatabaseとAzure SQL Managed Instanceでは、Microsoftがこれらの証明書を内部ポリシーに従って管理・ローテーションします。(Microsoft Learn)

一方、Customer-managed keyを使う場合、TDE ProtectorはAzure Key VaultまたはAzure Key Vault Managed HSMに保存される顧客管理の非対称キーになります。キーへのアクセス権が取り消されると、データベースにアクセスできなくなるため、権限設計と監視が非常に重要です。(Microsoft Learn)

移行期限はあるのか

2026年6月25日更新の公式TDEページ、および関連するAzure SQLのTDE概要ページを確認する限り、今回のTDE情報更新に伴う一律の移行期限、廃止期限、強制移行日は示されていません。(Microsoft Learn)

ただし、移行期限がないからといって、何もしなくてよいわけではありません。TDEは移行・復元・バックアップと密接に関係するため、次のタイミングでは必ず確認が必要です。

タイミング確認すべきこと
オンプレミスSQL ServerからAzure SQLへ移行する前TDE証明書、DEK、移行先での復元可否
Azure SQL Managed Instanceへバックアップ復元する前必要なTDE証明書をインポートできるか
Geo-replicationを構成する前プライマリとセカンダリのTDE保護方式
BACPACでエクスポートする前エクスポートファイル自体がTDEで暗号化されない点
Customer-managed keyへ切り替える前Key Vault権限、キーのバックアップ、監査ログ
DR訓練の前障害時にキーへアクセスできるか

特にBACPACは見落とされがちです。TDEで保護されたデータベースをBACPACへエクスポートしても、エクスポートされた内容自体はTDEで暗号化されません。持ち出し、保管、転送を行う場合は、別途ストレージ暗号化やアクセス制御を設計する必要があります。(Microsoft Learn)

TDEの暗号化状態を確認する方法

Azure SQL DatabaseやSQL ServerでTDEの状態を確認するには、sys.dm_database_encryption_keys を使用します。Microsoftの公式情報でも、暗号化状態の確認にこの動的管理ビューを使うことが示されています。(Microsoft Learn)

代表的な確認クエリは次のとおりです。

SELECT
    DB_NAME(database_id) AS database_name,
    encryption_state,
    encryption_state_desc,
    encryptor_type,
    key_algorithm,
    key_length,
    percent_complete
FROM sys.dm_database_encryption_keys;

encryption_state_desc で状態を確認し、暗号化中、暗号化済み、復号中などの状態を把握します。運用監視では、単に「有効か無効か」だけでなく、percent_complete を見て暗号化処理が途中で止まっていないかも確認してください。

SQL Serverで証明書のバックアップ状況を確認する場合は、公式ドキュメントで紹介されている考え方に沿って、TDEで使われている証明書と pvt_key_last_backup_date を確認します。証明書がバックアップされていないと、復元や別サーバーへのアタッチ時にデータベースを開けなくなる可能性があります。(Microsoft Learn)

SELECT
    c.pvt_key_last_backup_date,
    DB_NAME(dek.database_id) AS encrypted_database,
    c.name AS certificate_name
FROM sys.certificates AS c
INNER JOIN sys.dm_database_encryption_keys AS dek
    ON c.thumbprint = dek.encryptor_thumbprint;

pvt_key_last_backup_date が NULL の場合は、証明書のバックアップが行われていない可能性があります。本番環境では、バックアップファイル、秘密キー、パスワード、保管場所、復旧手順をセットで管理してください。

TDE有効化・変更時に注意すべき制限

TDEはアプリケーション変更が不要な一方で、データベース内部では大きな暗号化処理が行われます。SQL Serverでは、初回暗号化、キー変更、復号処理中に一部の操作が制限されます。たとえば、ファイル削除、データベースのオフライン化、デタッチ、READ ONLYへの変更、バックアップや復元の開始などが制限される場面があります。(Microsoft Learn)

運用で失敗しやすいのは、次のようなケースです。

失敗しやすいケース起きる問題回避策
メンテナンス時間中にTDEを有効化するだけで終わらせる暗号化スキャンが長引き、後続作業に影響する事前にDBサイズと負荷を確認する
証明書バックアップを後回しにする復元時にDBを開けない有効化直後に証明書と秘密キーをバックアップする
読み取り専用ファイルグループを見落とす暗号化処理が失敗するTDE有効化前にファイルグループ状態を確認する
tempdbの影響を考慮しない同一インスタンス上の未暗号化DBにも性能影響が出る可能性がある負荷試験と監視を行う
レプリケーション先を未暗号化のままにする配布DBやサブスクライバーDBが保護されない必要なDBごとにTDEを有効化する
FILESTREAMをTDEで守れると思い込むFILESTREAMデータが暗号化されない別の暗号化手段を検討する

SQL Server 2019以降では、TDE暗号化スキャンを一時停止・再開する構文が導入されています。ただし、このSuspend/Resume TDE scan機能は、Azure SQL Database、Azure SQL Managed Instance、Azure Synapse Analyticsでは現在利用できないと公式情報に記載されています。Azure SQLでは、スキャン制御に過度に依存せず、作業時間帯と負荷監視を前提に計画する必要があります。(Microsoft Learn)

Azure SQLでサービス管理キーとCustomer-managed keyをどう選ぶか

Azure SQLのTDEでは、大きく分けてサービス管理TDEとCustomer-managed TDEがあります。どちらを選ぶべきかは、セキュリティ要件、監査要件、運用体制によって変わります。

方式向いている環境メリット注意点
サービス管理TDE一般的な業務システム、標準的なクラウド運用設定・運用が簡単、Microsoftが証明書を管理キー管理を細かく制御したい要件には合わない場合がある
Customer-managed key金融、医療、公共、厳格な内部統制がある環境キー管理、ローテーション、監査を顧客側で制御しやすいKey Vault権限ミスがDB停止につながる可能性がある

判断に迷う場合は、まずサービス管理TDEを標準とし、次の条件に当てはまる場合にCustomer-managed keyを検討すると現実的です。

  • 暗号化キーの管理主体を明確に分離する必要がある
  • Azure Key VaultまたはManaged HSMで監査ログを一元管理したい
  • キーローテーション手順を自社ポリシーに合わせたい
  • 規制対応や顧客契約で顧客管理キーが求められている
  • データ管理者とキー管理者を分離する必要がある

ただし、Customer-managed keyは「より安全」という単純な話ではありません。Key Vaultの削除、アクセス権の取り消し、ファイアウォール設定、マネージドIDの変更、キーの無効化などが原因で、データベースにアクセスできなくなるリスクがあります。導入前に、通常時の運用手順だけでなく、キーにアクセスできない場合の復旧手順まで決めておくことが重要です。

バックアップと復元で管理者が確認すべきこと

TDEで保護されたデータベースのバックアップは、DEKによって暗号化されます。そのため、復元時にはDEKを保護している証明書やキーが利用可能でなければなりません。証明書が失われると、バックアップがあってもデータベースを復元できない可能性があります。(Microsoft Learn)

特にSQL ServerやAzure SQL Managed InstanceでTDE付きデータベースを移行・復元する場合は、次のチェックリストを使うと抜け漏れを防げます。

チェック項目確認内容
証明書のバックアップTDE証明書と秘密キーをバックアップしているか
パスワード管理証明書バックアップ時のパスワードを安全に保管しているか
復元先の準備復元先に必要な証明書をインポートできるか
権限復元作業者が必要な権限を持っているか
DR手順障害時にキーへアクセスできるか
復元テスト本番相当の手順で復元検証を行っているか
保管ポリシー証明書、秘密キー、バックアップを同じ場所に置いていないか

「バックアップは成功しているが、復元できない」という状態は、TDE運用で最も避けたい失敗です。バックアップジョブの成功だけでなく、復元可能性を定期的に確認してください。

監査・コンプライアンスでの見落としポイント

TDEは多くのセキュリティ基準や社内統制で有効な対策になりますが、TDEを有効にしただけでコンプライアンス要件をすべて満たせるわけではありません。TDEは主に保存データの暗号化であり、アクセス権限、監査ログ、通信暗号化、データ分類、バックアップ保護、運用者権限の分離と組み合わせて初めて実効性が高まります。

Azure SQLの公式情報では、テーブル名、オブジェクト名、インデックス名など一部の顧客コンテンツに該当する情報が、Microsoftのサポートやトラブルシューティング用ログに送信される可能性があると説明されています。規制業種やグローバル展開している企業では、データ本体だけでなく、メタデータの取り扱いも確認しておくとよいでしょう。(Microsoft Learn)

監査で説明しやすい状態にするには、次の情報を台帳化しておくことをおすすめします。

台帳項目記録する内容
対象データベースサーバー名、DB名、環境、本番・検証の区分
TDE状態有効・無効、確認日、確認方法
キー管理方式サービス管理TDE、Customer-managed key
Key Vault情報使用している場合のVault名、キー名、権限
ローテーション方針自動・手動、頻度、担当者
バックアップ方針DBバックアップ、証明書、秘密キーの保管先
復旧テスト最終実施日、復旧結果、課題
例外管理TDE無効DBの理由、承認者、見直し期限

この台帳があると、監査対応だけでなく、移行、障害対応、担当者変更の際にも役立ちます。

管理者が今すぐ確認すべき実務チェックリスト

Azure SQL環境を管理している場合は、次の順番で確認すると効率的です。

| 順番 | 作業 | 目的 |
| -: | ———————————————— | —————- |
| 1 | 全Azure SQL Database、Managed Instance、Synapseの棚卸し | 対象範囲を明確にする |
| 2 | sys.dm_database_encryption_keys でTDE状態を確認 | 暗号化漏れを見つける |
| 3 | 古いDB、復元DB、コピーDBを重点確認 | 既定設定に頼れないDBを洗い出す |
| 4 | サービス管理キーかCMKかを分類 | 運用責任範囲を明確にする |
| 5 | CMK利用環境のKey Vault権限を確認 | キーアクセス不能による停止を防ぐ |
| 6 | バックアップと復元手順を確認 | 「復元できない」を防ぐ |
| 7 | BACPAC、エクスポート、外部保管の扱いを確認 | TDE対象外のデータ流出を防ぐ |
| 8 | 監査ログと台帳を整備 | 監査・障害対応・引き継ぎに備える |

TDEの確認は、セキュリティ担当だけで完結しません。DBA、クラウド管理者、アプリケーション担当、監査担当が同じ前提を共有しておく必要があります。特にCMKを利用する場合は、Key Vault管理者とDB管理者の役割分担を明文化しておくと、障害時の対応が速くなります。

TDEを正しく運用するための考え方

Azure SQL の TDE は、保存データを保護するうえで基本となる重要な機能です。新規のAzure SQL Databaseでは既定で有効化されるため、普段は意識しにくいかもしれません。しかし、長期運用している古いデータベース、オンプレミスから移行したデータベース、Managed Instanceへの復元、Customer-managed keyの利用、BACPACによるエクスポートでは、管理者の判断と確認が必要になります。

今回の公式情報更新を受けて、まず行うべきことは大きな設定変更ではなく、暗号化状態、キー管理、復元可能性、TDE対象外のデータ経路を確認することです。

実務では、次の3つを最低限の行動として進めてください。

  • すべての対象DBでTDE状態を確認する
  • TDE証明書、キー、Key Vault権限、復元手順を点検する
  • BACPAC、FILESTREAM、通信経路、監査ログなどTDEで守れない部分を別対策で補完する

TDEは「有効にして終わり」の機能ではありません。暗号化されたデータを、必要なときに安全に復元できる状態まで含めて設計することが、Azure SQL管理者に求められる実務上のポイントです。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次