0

2を除くすべてのテーブルで選択、更新、挿入、および削除の権限を持つapp_userという名前のデータベースロールがあります。この2つのテーブルでは、app_userロールには選択権限しかありません。

ただし、一部のユーザーはデータベース ユーザーを作成する権限を持っています (create login、sp_adduser、sp_addrolemember を使用)。この手順を実行するには、sysadmin サーバー ロールが必要です。この場合、sysadmin ロールはデータベース ロール app_user を超えており、この 2 つのテーブルを更新できます。現在、securityadmin ロールを付与していますが、db ユーザーの作成中は create login しか実行できません。

要約すると、sysadmin アカウントを除くすべてのユーザーに対して 2 つのテーブルの更新を保護し、一部のユーザーがデータベース ユーザーを作成できるようにしたい (私のアプリは、その種類のユーザーに db 権限を付与する sp を実行します)。

4

1 に答える 1

0

DBA サイトでより適切な回答が得られる可能性がありますが、ユーザーがCREATE LOGINCREATE USERおよびの 3 つのコマンドを実行できるようにする必要があるようです ( SQL Server 2008 ではロールにメンバーを追加できないsp_addrolememberため)。ALTER ROLE

ドキュメントによると、必要な最小限の権限は次のとおりです。

  • CREATE LOGIN-ALTER (ANY) LOGIN
  • CREATE USER-ALTER ANY USER
  • sp_addrolemember-ALTERロールに対する権限

したがって、上記のアクセス許可を付与する場合、sysadminまたはアクセス許可は必要ありません。db_owner

于 2013-03-21T16:39:16.363 に答える