SQL Server では、Windows アカウントに基づくアカウント、または個別の特定の SQL アカウントのいずれかを持つことができます。どちらのバリエーションでも、ユーザーごとに 1 つのアカウントが必要です データベースを使用する必要があります。
唯一の例外は、Windows セキュリティ グループ の SQL Server ログインを作成する機能です。 、例えばMyAppUsers
、そのログインのデータベース内のユーザー。これにより、そのセキュリティ グループ (Windows/AD 内) のメンバーである Windows アカウントにも、データベースを表示/使用する権限が付与されます。
このアプローチでは、実際には Windows セキュリティ グループのメンバーシップのみに依存するため、データベースを使用できるユーザーの管理を SQL Server から移動することにもなります。
1 つのログイン、1 つのユーザー - これでアクセス許可を取得する複数の Windows アカウント。私には勝者のようです!
更新:
Windows AD グループのログインを作成します:
CREATE LOGIN [DOMAIN\GroupName] FROM WINDOWS
そのログインに基づいてデータベースにユーザーを作成します:
USE (your database)
CREATE USER GroupNameUser
FOR LOGIN [DOMAIN\GroupName]
SQL Server 接続の接続文字列:
server=(your server);database=(your database);integrated security=SSPI;
他に何が言えますか?
更新 #2: コードではない Windows アカウントを使用する方法は次のとおりです:
それぞれのログインを作成します アプリケーションを使用する必要があるユーザー
CREATE LOGIN (some login name) WITH PASSWORD = 'Top$ecret'
そのログインに基づいてデータベースにユーザーを作成します - 繰り返しますが、各ユーザーに 1 回 あなたのアプリの:
USE (your database)
CREATE USER UserName
FOR LOGIN (some login name)
SQL Server 接続の接続文字列:
server=(your server);database=(your database);
user id=UserName;Password=Top$ecret
ただし、これには パスワードを含む 1 回のログインと各データベースに 1 人のユーザーが必要です データベースアプリから「パスワードのリセット」操作などを追跡し、おそらく実行する必要があります。管理オーバーヘッドに関しては、さらに多くのことができます!