Always Encrypted を使用したデータベースのエクスポートとインポート
適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance
この記事では、Always Encrypted で保護された列を含むデータベースをエクスポートおよびインポートする方法について説明します。
データベースをエクスポートすると、暗号化された列に格納されているすべてのデータが暗号化された形式 (ciphertext) でデータベースから取得され、結果として生成された BACPAC に入れられます。 生成された BACPAC には、Always Encrypted キーのメタデータも含まれます。
BACPAC をデータベースにインポートすると、BACPAC からの暗号化されたデータがデータベースに読み込まれ、Always Encrypted キーのメタデータが再び作成されます。
ソース データベース (エクスポートしたデータベース) に格納されている暗号化された列にクエリを実行するように構成されたアプリケーションがある場合、特別なことをしなくても、そのアプリケーションでターゲット データベース内の暗号化されたデータに対してクエリを実行することができます。これは両方のデータベースのキーが同じであるためです。
データベースのエクスポートおよびインポート方法の詳細については、以下をご覧ください。
- データ層アプリケーションのエクスポート
- BACPAC ファイルのインポートによる新しいユーザー データベースの作成
- Azure SQL データベースを BACPAC ファイルにエクスポートする
- BACPAC ファイルを Azure SQL Database のデータベースにインポートする
- SqlPackage
暗号化された列を含むデータベースを移行するためのアクセス許可
ソース データベースに対して ALTER ANY COLUMN MASTER KEY および ALTER ANY COLUMN ENCRYPTION KEY 権限が必要です。 ターゲット データベースに対して ALTER ANY COLUMN MASTER KEY、ALTER ANY COLUMN ENCRYPTION KEY、VIEW ANY COLUMN MASTER KEY DEFINITION、および VIEW ANY COLUMN ENCRYPTION が必要です。
暗号化された列に対して構成されている列マスター キーへのアクセス権は必要ありません。エクスポートおよびインポート操作中にデータが暗号化された状態になるためです。
次のステップ
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示