SQL Server エージェントのセキュリティ管理

SQL Server エージェントでは msdb データベースの固定データベース ロールである SQLAgentUserRoleSQLAgentReaderRoleSQLAgentOperatorRole を導入しており、sysadmin 固定サーバー ロールのメンバではないユーザーの SQL Server エージェントへのアクセスがこれらの固定データベース ロールによって制御されます。これらの固定データベース ロールに加え、サブシステムとプロキシを使用することで、タスクの実行に最低限必要な権限で各ジョブ ステップを実行できるようになります。

ロール

msdbSQLAgentUserRoleSQLAgentReaderRoleSQLAgentOperatorRole の各固定データベース ロールのメンバと sysadmin 固定サーバー ロールのメンバは、SQL Server エージェントにアクセスできます。どのロールのメンバでもないユーザーは、SQL Server エージェントを使用できません。SQL Server エージェントで使用されるロールの詳細については、「SQL Server エージェントのセキュリティの実装」を参照しくてください。

サブシステム

サブシステムは事前に定義されたオブジェクトで、任意のジョブ ステップで使用できる機能を表します。詳細については、「SQL Server エージェント サブシステム」を参照してください。

プロキシ

SQL Server エージェントは、プロキシを使用してセキュリティ コンテキストを管理します。プロキシは、複数のジョブ ステップで使用できます。固定サーバー ロール sysadmin のメンバは、プロキシを作成できます。

各プロキシは、セキュリティ資格情報に対応しています。各プロキシは、一連のサブシステムや一連のログインに関連付けることができます。プロキシは、そのプロキシに関連付けられているサブシステムを使用するジョブ ステップにのみ使用できます。特定のプロキシを使用するジョブ ステップを作成するには、ジョブの所有者がそのプロキシに関連付けられているログインを使用しているか、プロキシへ制限なしにアクセスできるロールのメンバである必要があります。固定サーバー ロール sysadmin のメンバは、プロキシに制限なしにアクセスできます。SQLAgentUserRoleSQLAgentReaderRole、または SQLAgentOperatorRole のメンバは、特定のアクセスが許可されているプロキシしか使用できません。これらの SQL Server エージェント固定データベース ロールのメンバであるユーザーが特定のプロキシを使用するジョブ ステップを作成するには、ユーザーごとにこれらの特定のプロキシへのアクセスが許可されている必要があります。