SQL Server 2005で対称キーを作成し、それをsaおよびアプリケーションユーザーアカウントだけに制限しようとしています。他のすべてのアカウントは、開こうとするとエラーになります。2人のユーザーに対称キーアクセスを許可
私はそれをどのように作成しています。私はこの質問の目的のために名前を変更しました。
CREATE CERTIFICATE My_Certificate
WITH SUBJECT = 'My Cert Subject';
GO
CREATE SYMMETRIC KEY My_Key
WITH ALGORITHM = AES_256
ENCRYPTION BY CERTIFICATE My_Certificate;
GO
この時点で、私の許可を与えていないにもかかわらず、私のアプリユーザーがキーを開くことができます。 [公開]グループを拒否した場合は、あとでアプリユーザーに直接許可してもキーを開くことができません。プロダクションにどのユーザーが存在するのかわからないので、各ユーザーを個別に拒否したくありません。私はまた、作成された新しいユーザーがこのキーにアクセスしないようにしたい。私が使用している
DENYとGRANTの行は、次のとおりです。
キーを所有しているDENY VIEW DEFINITION ON SYMMETRIC KEY :: My_Key TO [public]
GRANT VIEW DEFINITION ON SYMMETRIC KEY :: My_Key TO [AppUser]
私は自分のアカウントでキーを作成しました。ストアドプロシージャの開始時にキーを開き、ここに示すように暗号化または復号化を行います。http://msdn.microsoft.com/en-us/library/ms179331.aspx AppUserはパブリックサーバーの役割に属していますデータベース自体のdb_owner、publicです。 fn_my_permissions()は結果を返しません。 – AndyMcKenna
AppUserはdb_ownerですか?それは彼にDBのすべてへのアクセスを許可するでしょうか? –
うん、私は彼にアクセスしてもらいたい。私は他の人をすべてロックアウトする必要があります。 AppUserとしてキーを作成し、自分の個人アカウントにアクセスできるかどうかを確認します。私もdb_ownerではないことを確認します。 – AndyMcKenna