Microsoft SQL Azure上のアプリケーションの1つのデータベースをホストしています。クライアントの1人は、TDEがSQL Azureでサポートされていない(そしてデータベースが保存されていない場合は暗号化されない)ことに不満を抱いていました。彼らの懸念は主に以下の線に沿っていました:
VMにアクセスできるデータセンターの従業員は、データベースにもアクセスできます。 TDEを使用して、データベースから顧客データにアクセスできないようにする必要があります。
私の考えは、データセンターの従業員がSQL ServerをホストするVMへの管理者ログインアクセス権を持っている場合、TDEに使用されるキーへのアクセス権を自動的に取得することです。これにより、TDEの目的が損なわれます。 TDEの唯一の真の利点は、データベースのバックアップを保護することです。
私はそう考えるのが間違っていますか?そして、データベース全体を比較的簡単に保護するための代替手段はありますか?
いいえ、TDEの理解は間違っていません。 SQL Serverインスタンスに対する適切な権限を持つユーザーは、データベース内のデータにアクセスできます。SQLAzureを使用すると、TDEが有効になっていても、インスタンスを担当するDBAはデータへのフルアクセスを確実に保持できます。
あなたは何ができますか?データベースに送信する前に、アプリケーションのデータを暗号化できます。ただし、これにより、データのクエリ方法と使用方法にさまざまな追加の制約が作成されます。これは、非常に限られたユースケースでのみ適切です。
理想的には、これが許容可能なリスクであることをクライアントに納得させることができます。クラウドプロバイダーのビジネスモデルは、クライアントのデータを盗むのではなく、保護することを中心に構築されています。彼らの信頼の立場をそのように乱用することは彼らの最善の利益にはなりません。
私には、これはおそらく、解決する必要のない問題の技術的な解決策を探すことのように聞こえます。私は懸念を理解していますが、私の意見では、懸念はリスクに比例していません。