レポート用にSQLServerインスタンスを構築しています。私の計画は、サーバーとデータベースのログインにADグループを使用することです。異なる役割(管理者、開発者、ユーザーなど)を持ついくつかのグループがあり、これらの役割をSQL Serverデータベースの役割(db_owner、db_datawriterなど)にマップしたいと思います。ログインにADグループを使用することの長所と短所は何ですか?どんな問題に気づきましたか?
そもそもADを管理しなければならないというオーバーヘッド以外に、短所はないと思います。 SQL ServerのWindowsログイン資格情報を使用することは、特に組織化された役割グループと話し合う方法で、Microsoftからのベストプラクティスの推奨事項です。彼らが道を譲ったら、SQLServer認証のオプションを完全に排除するでしょう。
SQL 2005以降を使用している場合は、次の方法でデフォルトスキーマオプションを使用します(このためのGUIオプションはないと思います)。
ALTER USER userName
WITH <set_item> [ ,...n ]
<set_item> ::=
NAME = newUserName
| DEFAULT_SCHEMA = schemaName
| LOGIN = loginName
すなわち:
ALTER USER DOMAIN\UserName DEFAULT_SCHEMA = dbo;
GO
Active Directoryグループの管理は、Active Directory以外の管理者に委任することもできます。これは、アプリケーション内管理ツール以外の便利な機能です。
私が遭遇した最大の欠点は、AD認証をサポートせず、SQL認証の使用を主張するサードパーティのアプリです。通常はadmin/adminのようなクリエイティブなログインを使用します。それを除けば、他の唯一の問題は、データベースにアクセスできるユーザーをSQLサーバー上で完全に可視化できないこと、グループのみを表示するか、ユーザーがアクティブなとき、またはユーザーがオブジェクトを所有しているかどうかを表示することです。ただし、ユーザーレベルの情報が必要な場合にDBAがActive Directoryにアクセスできる限り、これは非常に小さな問題です。