データベースをバックアップし、データベースマスターキーをまったく同じフォルダーにバックアップしました。すべてのユーザーがこのフォルダにフルアクセスできますが、データベースのバックアップのみがフォルダの権限を継承しますが、キーのバックアップは継承しません。
マスターキーバックアップファイルのセキュリティを表示するには、管理者権限を使用する必要があります。
なぜこれがそうなのかを誰かが示唆できますか?どちらもT-SQLのバックアップコマンドを介して同じアカウントで作成されました。
を実行するときはいつでもBACKUP CERTIFICATE
またはBACKUP MASTER KEY
、SQL Serverは Access Control List(ACL) を変更して、作成された各ファイルシステムファイルを変更します。1 そのため、次のWindowsプリンシパル以外の誰もファイルにアクセスできません。
S-1-3-4
オブジェクトの現在の所有者を表します。このSIDを含むアクセス制御エントリがオブジェクトに適用されると、システムはオブジェクト所有者の暗黙的なREAD_CONTROLおよびWRITE_DAC権限を無視します。NT SERVICE\MSSQLSERVER
。名前付きインスタンスの場合、アカウントの名前はNT SERVICE\MSSQL$INSTANCE_NAME
。この動作は仕様によるものであり、結果の証明書とその秘密キーへのアクセスを制限する試みです。 「全員」が証明書と秘密鍵ファイルにアクセスすることを許可すると、everyoneがTDE暗号化データベースのバックアップを任意のサーバーに復元できるようになります。暗号化されていないかのようにすべての暗号化データを表示できます。あなたが提案しようとしていることは、暗号化を本質的に回避するので、私には非常に悪い考えのようです。
詳細とコード例については、私の ブログ投稿 を参照してください。
1-SQL Serverサービスが、バックアップステートメントのターゲットフォルダーに対する「フルコントロール」権限を持っていると想定します。