SQL ServerにログインとしてActive Directoryユーザーグループを追加する方法


108

Windows認証を使用してSQL Serverに接続する.netアプリケーションがあります。

アプリケーションでSQL Server認証を使用することはできません。私たちのプロジェクトには多くのActive Directoryユーザーがいます。したがって、ADユーザーごとに個別のログインアカウントを作成するのではなく、SQL Server内のActive Directoryユーザーごとに個別のログインアカウントを作成する必要があります。SQLServerでActive Directoryユーザーグループを使用する方法はありますか?

回答:


162

SQL Server Management Studioで、次の場所に移動しObject Explorer > (your server) > Security > Loginsて右クリックしますNew Login

ここに画像の説明を入力してください

次に、表示されるダイアログボックスで、表示するオブジェクトの種類を選択し(Groupsデフォルトでは無効になっています。オンにしてください)、オブジェクトを検索する場所(例:を使用Entire Directory)を選択し、ADグループを見つけます。 。

ここに画像の説明を入力してください

これで、通常のSQL Serverログインが作成されました-単一のADユーザー用に作成した場合と同じです。その新しいログインに、必要なデータベースへのアクセス許可を与えてください。

そのADグループのメンバーは、SQL Serverにログインしてデータベースを使用できるようになります。


上記のようにmysqlでグループを作成する機会はありますか?
uzay95

2
注釈付きのスクリーンショットで非常に明確な答えをありがとう!私はすべての答えがこのようであったらいいのに...
NickG

1
@NickG:無料のPaint.NETを使用して画像を読み込み、丸みを帯びた赤い長方形を挿入しました
marc_s

7
これは私にはうまくいきません。「UserX」がメンバーであるWindowsグループ「DataAccess」を持っています。DataAccessグループのログインを作成し、ログインのユーザーマッピングを設定して、データベースに対するパブリック、データリーダー、およびデータライターのアクセスを許可しました。ユーザーはログインできません。ユーザーを具体的に追加し、まったく同じマッピング権限を割り当てると、ログインできます。グループの[セキュリティ保護可能なアイテム]> [有効な権限]をクリックすると、「サーバープリンシパルとして実行できませんプリンシパル 'GroupName'が存在しないため、このタイプのプリンシパルは偽装できません。または、権限がありません。」
Triynko

1
@Tim:ユーザーの名前-まだログインしているユーザーです-彼は直接ユーザーとして許可されていません-ユーザーとして-許可を持つグループのメンバーであることによって
marc_s

21

T-SQLを使用できます。

use master
GO
CREATE LOGIN [NT AUTHORITY\LOCALSERVICE] FROM WINDOWS WITH
DEFAULT_DATABASE=yourDbName
GO
CREATE LOGIN [NT AUTHORITY\NETWORKSERVICE] FROM WINDOWS WITH
DEFAULT_DATABASE=yourDbName

これを本番サーバーからテストマシンへの復元の一部として使用します。

USE master
GO
ALTER DATABASE yourDbName SET OFFLINE WITH ROLLBACK IMMEDIATE
RESTORE DATABASE yourDbName FROM DISK = 'd:\DropBox\backup\myDB.bak'
ALTER DATABASE yourDbName SET ONLINE
GO
CREATE LOGIN [NT AUTHORITY\LOCALSERVICE] FROM WINDOWS WITH
DEFAULT_DATABASE=yourDbName
GO
CREATE LOGIN [NT AUTHORITY\NETWORKSERVICE] FROM WINDOWS WITH
DEFAULT_DATABASE=yourDbName
GO

ドイツ語またはフランス語のWindowsの場合、ローカライズされたサービス名を使用する必要があります。英語以外のWindowsでサービスアカウントのSQL Serverログインを作成する方法を参照してください


データベースレベルのログイン/プリンシパルを設定する必要がある場合に備えて、こちらも役立つ別の回答です。dba.stackexchange.com/ a / 2578/60876
Agostino

これを使用して、特定のActive Directoryグループに特定のスキーマへの読み取りアクセス権を付与できますか?疑似SQL CREATE LOGIN ... WITH DEFAULT_SCHEMAでは、ドット ... は特定の広告グループを参照する必要があります。いくつかのグループがあり、Active Directoryグループaccountantsにスキーマ「A」へのアクセスを許可しますが、スキーマ「B」および「C」へのアクセスは許可しません。同様に、グループ「billing」はスキーマ「B」にのみアクセスできる必要があります。フロントエンドとして、msftアクセスを使用しています。
surfmuggle 2017年

0

SQL Server Management Studioに移動し、[セキュリティ]に移動し、[ログイン]に移動して右クリックします。メニューに「新規ログイン」というボタンが表示されます。そこで、Active DirectoryからSQL Serverの「権限」にユーザーやグループを追加できるようになります。お役に立てれば


0

これが私の観察です。私はグループwindows(AD)ユーザーアカウントのログイン(読み取り専用)を作成しましたが、別のSQLサーバーでその動作を無視しました。ユーザーがデータベースを表示できないSQlサーバーでは、ビュー定義を追加してチェックし、エラー229を回避するためにデータベースにマスターデータベースへの実行浸透を与えました。ユーザーのログインを作成した場合、この問題は発生しません。


回答を使用するのではなく、コメントすることができます。しかし、まだコメントすることはできません。だから
ハハ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.