2

SQL Server 2005 では、LimitedUser という名前のユーザーが 1 つのプロシージャしか実行できないようにしたい: GRANT EXEC ON [usp_RunETL] TO [LimitedUser]

ただし、その proc は、UPDATE、DELETE、INSERT、EXEC など、すべてを実行できる必要があります。これらすべての権限を LimitedUser に付与することなく、どうすればそれを行うことができますか?

4

2 に答える 2

3

LimitedUser は、sproc を実行する権限のみが必要です。他の権限は必要ありません。

于 2008-10-24T13:33:53.297 に答える
0

限定されたユーザーに GRANT EXEC を実行するだけで済みます。ユーザーがストアド プロシージャへのアクセス許可を持っている限り、プロシージャ内の操作に対するアクセス許可は無視または上書きされます。

ただし、これを行うには非常に注意が必要ですが、これは大きな潜在的なセキュリティ ホールのように思えます。通常、複数の手順を使用して、必要に応じて権限を柔軟に調整できます。スーパープロシージャが 1 つしかないことを決定するのではなく、プロシージャ、または基になるテーブルとビューにアクセス許可を割り当てることをお勧めします。

于 2008-10-24T14:29:54.900 に答える