2011-12-08 5 views
0

SQL Serverデータベースにアプリケーションロールを追加し、データベースの1つのテーブルへのアクセスをロールに付与しました。クライアントからは、アプリケーションロールの資格情報で正しくログインできます。SQL Serverのアプリケーションロールを正しく構成する方法

私はWindows認証を使用しています。奇妙なことは、クライアント側でsp_setapproleステートメントがなくても、クライアントが問題なくテーブルを読むことができるということです。しかし、私はこれを避けたい。

私は、この接続文字列を使用しています:

Data Source=.\SQLEXPRESS;Initial Catalog=WTC_Database;Pooling=false;Integrated Security=SSPI; 

問題になる可能性がありますか?アプリケーションロールにログに記録されていない他のユーザーがテーブルにアクセスすることを拒否するには、アプリケーションロールを適切に構成する方法を教えてください。

答えて

2

接続文字列でIntegrated Securityを使用するよう指定されているため、クライアントの資格情報が認証に使用されています。クライアントはdatareaderロールを持っているかもしれませんし、おそらくテーブルがpublic selectであるかもしれません。

アクセス権を持つ必要がある人以外のすべての人にテーブルへのアクセスを取り消す必要があります。ロールは常にアクセスを許可し、アクセスを取り消さない。あなたのシステムは、誰かにロールを与えることなく、データへのアクセスをほとんどまたは全く与えないようにすべきです。

関連する問題