私は、セキュリティを標準とは少し異なる方法で実装するシステムを検討し始めたところです。
システムのユーザーごとに新しいSQLユーザーを作成します(現在約32Kあります)。各クエリは、最初にSAアカウントを使用している接続を介して送信され(これにとらわれないようにします)、ユーザーが誰であるかがわかった後、各クエリでEXECUTEASUSERが使用されます。
ユーザー数が非常に多い現在、新規ユーザーの作成と切り替えはパフォーマンスに大きな打撃を与えており、同社は状況の改善を検討しています。
いくつかのポイント:-SQLコードは動的SQL(ストアドプロシージャではありません)-元のアイデアは、会社の開発者がアクセス許可について心配するSQLの記述について心配する必要性を軽減し、別のレイヤーにそれについて心配させることでした。
クエリの実行時間を改善し、EXECUTE AS USERコードを回避し、それでも同じセキュリティ監視を取得するにはどうすればよいでしょうか。
SQL Serverは、ユーザーアカウントを格納するためのセッション変数をサポートしていますか?