エンクレーブ対応キーの交換
適用対象: SQL Server 2019 (15.x) 以降 - Windows のみ Azure SQL データベース
Always Encrypted では、キーの交換は、既存の列マスター キーまたは列暗号化キーを新しいキーに置き換える処理です。 この記事では、初期キーまたはターゲット (新しい) キーのどちらか一方または両方がエンクレーブが有効なキーである場合に、セキュリティで保護されたエンクレーブが設定された Always Encrypted に固有のキー ローテーションのユースケースと考慮事項について説明します。 Always Encrypted キーを管理するための一般的なガイドラインとプロセスについては、「Always Encrypted のキー管理の概要」を参照してください。
セキュリティまたはコンプライアンス上の理由から、キーの交換が必要になる場合があります。 キーが侵害された場合や、組織のポリシーでキーを定期的に交換する必要がある場合などです。 さらに、セキュリティで保護されたエンクレーブが設定された Always Encrypted のキー ローテーションでは、暗号化された列に対してサーバー側のセキュア エンクレーブの機能を有効または無効にすることができます。
- エンクレーブが有効でないキーをエンクレーブが有効なキーで置き換える場合は、キーで保護されている列へのクエリに対するセキュリティで保護されたエンクレーブの機能のロックを解除します。 詳細については、「既存の暗号化された列に対してセキュリティで保護されたエンクレーブが設定された Always Encrypted の有効化」を参照してください。
- エンクレーブが有効なキーをエンクレーブが有効でないキーで置き換える場合は、キーで保護されている列へのクエリに対するセキュリティで保護されたエンクレーブの機能を無効にします。
セキュリティまたはコンプライアンス上の理由だけでキーを交換し、列のエンクレーブ計算を有効または無効にしない場合は、ターゲット キーのエンクレーブに関する構成がソース キーと同じであることを確認してください。 たとえば、ソース キーのエンクレーブが有効な場合、ターゲット キーもエンクレーブが有効になっている必要があります。
以下の手順には、目的の交換シナリオに応じた詳細な記事へのリンクが含まれています。
- 新しいキーを (列マスター キーまたは列暗号化キー) をプロビジョニングします。
- 新しいエンクレーブ対応キーをプロビジョニングするには、「エンクレーブ対応キーをプロビジョニングする」を参照してください。
- エンクレーブが有効でないキーをプロビジョニングするには、「SQL Server Management Studio を使用して Always Encrypted キーをプロビジョニングする」および「PowerShell を使用した Always Encrypted キーのプロビジョニング」を参照してください。
- 既存のキーを新しいキーで置き換えます。
- 列暗号化キーを交換し、ソース キーとターゲット キーの両方のエンクレーブが有効になっている場合は、インプレースで交換を実行できます (データの再暗号化を含む)。 詳細については、「セキュリティで保護されたエンクレーブが設定された Always Encrypted を使用して列の暗号化をインプレースで構成する」を参照してください。
- キーのローテーションの詳細な手順については、「SQL Server Management Studio を使用した Always Encrypted キーの交換」および「PowerShell を使用した Always Encrypted キーの交換」をご覧ください。
次のステップ
- セキュリティで保護されたエンクレーブを使用して Transact-SQL ステートメントを実行する
- セキュリティで保護されたエンクレーブが設定された Always Encrypted を使用して列の暗号化をインプレースで構成する
- 既存の暗号化された列に対してセキュリティで保護されたエンクレーブが設定された Always Encrypted を有効にする
- セキュリティで保護されたエンクレーブが設定された Always Encrypted を使用するアプリケーションを開発する