2017-06-06 9 views
0

私たちは新しいインターンを持っており、彼は私たちの開発環境にログインすることができます。しかし、私はどのように把握することはできません。 SQL ServerのログインとしてADセキュリティグループがあります。私たちのサーバーメンバーとの多くの調査の結果、私たちはインターングループが私たちの開発サーバー上のローカル管理グループの一部であることを理解しました。ローカル管理グループにはSQL Serverへのログインがあり、それがどのように入り込むことができたのですか。これによって以下の質問が発生しました。人はどんなログインで認証されましたか?

SQL Serverには、ユーザーがどのようなログインで認証されているかを知る方法がありますか?

シナリオ:

Domain = ACME 

User = Bob 

Bob is in the AD group ACME\IT-Dept 

SQL Server has a login for ACME\IT-Dept 

私はボブはボブがそのグループにあることを知らずにACME \ IT-部門のログイン経由で許可されたことを伝えることができますどのように?

答えて

1

Yuoは、以下の方法でそれを見つけることができます。

  1. をそのログインを偽装して、このようsys.login_token照会することによって:

    execute as login = 'that_login'; 
    
    select distinct name, type 
    from sys.login_token 
    where principal_id > 0 
         and type in ('WINDOWS LOGIN', 'WINDOWS GROUP'); 
    
    revert;  
    
  2. 許可パスを見て:

    exec xp_logininfo 'that_login', 'all'; 
    

私はより信頼できる最初のものを好む

+0

それは甘いです。本当にありがとう。 – SteveB

+0

明確にするために、ユーザーが資格を持つ複数の*グループが存在する可能性があります。彼らの個人的なアクセス許可は、彼らがいるグループに対するすべてのグループアクセス許可の和です。 –

関連する問題