データ コレクタのセキュリティ
データ コレクタは、SQL Server エージェントによって実装されるロールベースのセキュリティ モデルを使用します。このモデルを使用すると、データベース管理者は、データ コレクタのさまざまなタスクをそのタスクの実行に必要な権限だけがあるセキュリティ コンテキスト内で実行できます。この方法は、ストアド プロシージャかビューを使用しないとアクセスできない内部テーブルに関係する操作に対しても使用されます。内部テーブルに対する権限は与えられず、テーブルへのアクセスに使用されるストアド プロシージャやビューのユーザーに対して権限がチェックされます。
重要 |
---|
このセキュリティ モデルのもう 1 つの重要な側面は、同心構造権限です。同心構造権限では、オブジェクト (警告、オペレータ、ジョブ、スケジュール、プロキシなど) に対して、高いレベルの特権を持つロールは、低いレベルの特権を持つロールの権限を継承します。詳細については、「SQL Server エージェントの固定データベース ロール」を参照してください。 |
ここでは、データ コレクションの全般的なセキュリティと、ユーザーがデータ コレクタを構成および使用したり、管理データ ウェアハウスに関連するタスクを実行したりするために必要なロールについて説明します。
全般的なセキュリティ
データ コレクタは、SQL Server 2008 の文書化されている標準に従ってインストールされます。詳細については、「セキュリティで保護された配置 (データベース エンジン)」を参照してください。
ネットワーク セキュリティ
対象のインスタンス、構成サーバーに関連付けられているリレーショナル インスタンス、実行中のコレクション セット、および管理データ ウェアハウスをホストするサーバーの間で、機密情報がやり取りされる可能性があります。
ネットワークで送信されるデータを保護するために、標準のセキュリティ メカニズム (Transact-SQL のプロトコル暗号化など) が実装されています。
データ コレクタの構成および使用のための権限
タスクによっては、ユーザーが、データ コレクタのために用意されている 1 つ以上の固定データベース ロールのメンバである必要があります。特権レベルの高いロールから順に、次に示します。
dc_admin
dc_operator
dc_proxy
上記のロールは、msdb データベースに格納されています。既定では、これらのデータベース ロールのメンバであるユーザーはいません。これらのロールのユーザー メンバシップは、明示的に許可する必要があります。
固定サーバー ロール sysadmin のメンバであるユーザーは、SQL Server エージェント オブジェクトとデータ コレクタ ビューへのフル アクセスを許可されています。しかし、これらのユーザーも、データ コレクタのロールに明示的に追加する必要があります。
重要 |
---|
db_ssisadmin ロールおよび dc_admin ロールのメンバは、特権を sysadmin に昇格できる可能性があります。このような特権の昇格が発生するのは、それらのロールが Integration Services パッケージを変更でき、SQL Server エージェントの sysadmin セキュリティ コンテキストを使用して SQL Server で Integration Services パッケージを実行できるためです。メンテナンス プラン、データ コレクション セット、およびその他の Integration Services パッケージの実行時にこの特権の昇格を防ぐには、特権が制限されたプロキシ アカウントを使用するようにパッケージを実行する SQL Server エージェント ジョブを構成するか、db_ssisadmin ロールおよび dc_admin ロールには sysadmin メンバのみを追加するようにします。 |
dc_admin ロール
dc_admin ロールに割り当てられたユーザーには、サーバー インスタンス上のデータ コレクタの構成への完全な管理者アクセス権 (作成、読み取り、更新、および削除) が与えられます。このロールのメンバが実行できる操作を以下に示します。
コレクタ レベルのプロパティの設定
新しいコレクション セットの追加
新しいコレクション型のインストール
dc_operator ロールに対して許可されているすべての操作の実行
dc_admin ロールは次のロールのメンバです。
SQLAgentUserRole。スケジュールを作成したりジョブを実行したりするために必要です。
注 データ コレクタのために作成されるプロキシでは、dc_admin にアクセスを許可して、プロキシを必要とするジョブ ステップでプロキシを作成したり使用したりできるようにする必要があります。
dc_operator。dc_admin のメンバは、dc_operator に与えられている権限を継承します。
dc_operator ロール
dc_operator ロールのメンバには、読み取りと更新のアクセス権が与えられます。このロールは、コレクション セットの実行と構成に関連する操作タスクをサポートします。このロールのメンバが実行できる操作を以下に示します。
コレクション セットの開始または停止
既存のコレクション セットの列挙
コレクション セットに関連付けられている詳細情報 (コレクション アイテムや収集頻度など) の表示
既存のコレクション セットのアップロード頻度の変更
既存のコレクション セットに含まれるコレクション アイテムの収集頻度の変更
dc_operator ロールは次のロールのメンバです。
- db_ssisltduser。メンバがデータ コレクタ パッケージを列挙したり表示したりできるようにするためにこのロールのメンバシップが必要です。詳細については、「Integration Services のロールの使用」を参照してください。
dc_proxy ロール
dc_proxy ロールのメンバには、データ コレクタのコレクション セットとコレクタ レベルのプロパティへの読み取りアクセス権が与えられます。自身が所有するジョブを実行したり、既存のプロキシ アカウントとして実行するジョブ ステップを作成したりすることもできます。
このロールのメンバが実行できる操作を以下に示します。
コレクション セットの構成情報 (コレクション アイテムの入力パラメータや収集頻度など) の表示
署名されたストアド プロシージャしかアクセスできない暗号化された内部情報 (データのアップロードに使用されるデータ ウェアハウスの接続情報など) の取得
コレクション セットの実行時イベントのログ記録
dc_proxy ロールは次のロールのメンバです。
- db_ssisltduser。メンバがデータ コレクタ パッケージを列挙したり表示したりできるようにするためにこのロールのメンバシップが必要です。詳細については、「Integration Services のロールの使用」を参照してください。
管理データ ウェアハウスの構成および使用のための権限
タスクによっては、ユーザーが、管理データ ウェアハウスへのアクセスのために用意されている 1 つ以上の固定データベース ロールのメンバである必要があります。特権レベルの高いロールから順に、次に示します。
mdw_admin
mdw_writer
mdw_reader
上記のロールは、msdb データベースに格納されています。既定では、これらのデータベース ロールのメンバであるユーザーはいません。これらのロールのユーザー メンバシップは、明示的に許可する必要があります。
固定サーバー ロール sysadmin のメンバであるユーザーは、データ コレクタ ビューへのフル アクセスを許可されています。しかし、その他の操作を実行するには、明示的にデータベース ロールに追加する必要があります。
mdw_admin ロール
mdw_admin ロールのメンバには、管理データ ウェアハウスへの読み取り、書き込み、更新、および削除のアクセス権が与えられます。
このロールのメンバが実行できる操作を以下に示します。
管理データ ウェアハウスのスキーマを必要に応じて変更する (新しいコレクション型がインストールされたときに新しいテーブルを追加するなど)
注 スキーマ変更が行われる場合は、ユーザーは dc_admin ロールのメンバである必要もあります。これは、新しいコレクタ型をインストールするために、msdb のデータ コレクタの構成を更新する権限が必要になるためです。
管理データ ウェアハウスのメンテナンス ジョブ (アーカイブやクリーンアップなど) を実行する
mdw_writer ロール
mdw_writer ロールのメンバは、管理データ ウェアハウスへのデータのアップロードや書き込みを行うことができます。管理データ ウェアハウスにデータを格納するデータ コレクタはすべてこのロールのメンバである必要があります。
mdw_reader ロール
mdw_reader ロールのメンバには、管理データ ウェアハウスへの読み取りアクセス権が与えられます。このロールの目的は、履歴データへのアクセスを提供してトラブルシューティングをサポートすることであるため、このロールのメンバは、管理データ ウェアハウスのスキーマのその他の要素を表示することはできません。