0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【SQLServer】ログオントリガーで利用端末を制限する方法

Posted at

背景

SQLserver認証を使ってデータベースの利用者を制限している
IDとパスワードを知っていれば誰でもアクセスできる状態になっている

対策

ログオントリガーを使って利用できる端末IPを制限する

設定手順

以下のようなクエリを作成して実行する
今回の例ではSQLserver認証でtestuserを使ってログオンする場合、127.0.0.0以外からのアクセスを拒否するトリガーを作成する

CREATE TRIGGER [connection_limit_trigger] ON ALL SERVER FOR LOGON AS 
BEGIN 
IF 
    CONNECTIONPROPERTY('auth_scheme') = 'SQL' 
    AND SYSTEM_USER = 'testuser' 
    AND CONVERT(nvarchar(max), CONNECTIONPROPERTY('client_net_address')) <> '127.0.0.1'
    ROLLBACK;
END;
GO

説明

CREATE TRIGGER [connection_limit_trigger] ON ALL SERVER FOR LOGON
サーバーレベルでログイン端末を制限するログオントリガーを作成する

CONNECTIONPROPERTY('auth_scheme') = 'SQL'
認証スキームがSQLserver認証であることを確認する

SYSTEM_USER = 'testuser'
ログオンしようとしているユーザーが"testuser"であることを確認する

CONVERT(nvarchar(max), CONNECTIONPROPERTY('client_net_address')) <> '127.0.0.1'
クライアントのIPアドレスが 127.0.0.1(ローカルホスト)でないことを確認する

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?