3

上司からのユニークなリクエストがあります。社内でソフトウェア開発者は私1人なので、初期設計からデータベース設計まで全てを行っています。私は定期的にデータベースを設計および保守しており、フロントエンドについても同様です。データベース管理者はいません。私のユニークな要求は、単一の列 (私は給与計算アプリケーションを設計および開発しています) を表示しないようにすることです。その列は、給与レートと給与の合計です。多くの企業には、開発サーバーで必要に応じてそのデータを切り取ったり、それらの列に誤ったデータを入れたりする DBA があることを知っています。それらの列へのアクセスを自分自身で拒否する以外に、DBA が実行できる必要があるすべてのことを実行できます。私はそれができるとは思わない。SQL でこれらの列へのアクセスを拒否しようとしましたが、できませんでした。アプリケーション内で何も照会しないでください。この問題を解決する方法について何か提案はありますか? 私は調査しましたが、カラムソリューション以外は空になりました。ありがとう。

4

2 に答える 2

0

複数のデータベース アカウントを使用できます:
- これらの列
にアクセスできないアカウント - 列にアクセスする権利を持つアプリケーション用の別のアカウント

于 2014-03-03T13:53:02.610 に答える
0

ここでは、暗号化が唯一の手段です。最も簡単なのは、クライアントでデータを暗号化/復号化することです。それができない場合は、さまざまな T-SQL 暗号化オプション (DECRYPTBYKEY、DECRYPTBYASYMKEY など) を調べてください。いずれにせよ、キーを制御できないようにして、「バックアップを自分のサーバーに復元してアクセス許可を変更することはできます」とさえ言えないようにします。

于 2014-03-03T17:22:52.377 に答える