sql >> データベース >  >> RDS >> Sqlserver

特定のプログラムからSQLServerへのアクセスを拒否することは可能ですか?

    ない 可能であり、反対の主張はすべてスネークオイルです。

    アプリケーション名を確認し、このプロパティに基づいてログインを拒否するログイントリガーを作成できることは事実ですが、アプリケーション名は安全なプロパティではなく、誰でも簡単に偽造できます。 セキュリティのためのそれへの依存 (つまり、ログイン拒否)は#failです。

    バーを下げて、質問から「アクセスを拒否する」という用語を削除する限り、ログオントリガー セッションのprogram_nameを検査します sys.dm_exec_sessions

    CREATE TRIGGER application_limit_trigger
    ON ALL SERVER WITH EXECUTE AS '...'
    FOR LOGON
    AS
    BEGIN
    IF EXISTS (SELECT *
       FROM sys.dm_exec_sessions
       WHERE session_id = @@SPID
       AND program_name IN (N'Bad Program', N'Worse Program', N'Unmentionable')
        ROLLBACK;
    END;
    

    program_nameは一部のアプリケーションによって設定されますが、Officeスイートがこのプロパティを便利なものに設定するか、デフォルトのままにするかはわかりません。そして、これは誰でも回避できることを理解する必要があります ApplicationName を変更するだけです。 接続文字列のプロパティ。



    1. Play Scalaコントローラーからjsonを返す方法は?

    2. ループ内でphpmail()関数を使用して+-200通のメールを送信する

    3. Oracleは現在の日付を自動追加します

    4. SQLServerに複数の列がある動的ピボットテーブル