Integration Services のロール (SSIS サービス)
SQL Server Integration Services には、パッケージへのアクセスを制御するための、db_ssisadmin
3 つの固定データベース レベルロール、db_ssisltduser、およびdb_ssisoperatorが含まれています。 ロールは、SQL Serverのデータベースにmsdb
保存されているパッケージにのみ実装できます。 パッケージにロールを割り当てるには、 SQL Server Management Studioを使用します。 ロールの割り当てがデータベースに msdb
保存されます。
読み取りアクションと書き込みアクション
次の表で、Windows の読み取りおよび書き込みアクションと、 Integration Servicesでの固定データベース レベル ロールの読み取りおよび書き込みアクションについて説明します。
Role | 読み取りアクション | 書き込みアクション |
---|---|---|
db_ssisadmin または sysadmin |
独自のパッケージを列挙する。 すべてのパッケージを列挙する。 独自のパッケージを表示する。 すべてのパッケージを表示する。 独自のパッケージを実行する。 すべてのパッケージを実行する。 独自のパッケージをエクスポートする。 すべてのパッケージをエクスポートする。 SQL Server エージェント内のすべてのパッケージを実行する。 |
パッケージをインポートする。 独自のパッケージを削除する。 すべてのパッケージを削除する。 独自のパッケージのロールを変更する。 すべてのパッケージのロールを変更する。 **大事な** db_ssisadmin ロールとdc_admin ロールのメンバーは、特権を sysadmin に昇格できる場合があります。 このような特権の昇格が発生するのは、それらのロールが Integration Services パッケージを変更でき、 Integration Services エージェントの sysadmin セキュリティ コンテキストを使用して SQL Server で SQL Server パッケージを実行できるためです。 メンテナンス プラン、データ コレクション セット、およびその他の Integration Services パッケージの実行時にこの特権の昇格を防ぐには、特権が制限されたプロキシ アカウントを使用するようにパッケージを実行する SQL Server エージェント ジョブを構成するか、db_ssisadmin ロールおよび dc_admin ロールには sysadmin メンバーのみを追加するようにします。 |
db_ssisltduser | 独自のパッケージを列挙する。 すべてのパッケージを列挙する。 独自のパッケージを表示する。 独自のパッケージを実行する。 独自のパッケージをエクスポートする。 |
パッケージをインポートする。 独自のパッケージを削除する。 独自のパッケージのロールを変更する。 |
db_ssisoperator | すべてのパッケージを列挙する。 すべてのパッケージを表示する。 すべてのパッケージを実行する。 すべてのパッケージをエクスポートする。 SQL Server エージェント内のすべてのパッケージを実行する。 |
なし |
Windows 管理者 | 実行中のすべてのパッケージの実行時の詳細を表示する。 | 現在実行中のパッケージをすべて停止する。 |
sysssispackages テーブル
の sysssispackages テーブルmsdb
には、SQL Serverに保存されたパッケージが含まれています。 詳細については、「sysssispackages (Transact-SQL)」を参照してください。
sysssispackages テーブルには、パッケージに割り当てられるロールに関する情報が含まれている列があります。
readerrole 列は、パッケージへの読み取りアクセスが可能なロールを指定します。
writerrole 列は、パッケージへの書き込みアクセスが可能なロールを指定します。
ownersid 列には、パッケージを作成したユーザーの一意なセキュリティ識別子が格納されています。 この列により、パッケージの所有者が定義されます。
アクセス許可
既定では、 と db_ssisoperator固定データベース レベルのdb_ssisadmin
ロールのアクセス許可と、パッケージを作成したユーザーの一意のセキュリティ識別子がパッケージの閲覧者ロールに適用され、ロールのアクセス許可とパッケージを作成したユーザーのdb_ssisadmin
一意のセキュリティ識別子がライター ロールに適用されます。 パッケージへの読み取りアクセス権を持つには、ユーザーが 、db_ssisltduser、または db_ssisoperator ロールのメンバーdb_ssisadmin
である必要があります。 書き込みアクセス権を持つには、ユーザーがロールの db_ssisadmin
メンバーである必要があります。
パッケージへのアクセス
固定データベース レベル ロールは、ユーザー定義ロールと組み合わせて使用されます。 ユーザー定義ロールとは、ユーザーが SQL Server Management Studio で作成するロールのことで、権限をパッケージに割り当てるために使用します。 パッケージにアクセスするには、ユーザーは、ユーザー定義ロールおよび関連する Integration Services 固定データベースレベル ロールのメンバーである必要があります。 たとえば、ユーザーがパッケージに割り当てられている AuditUsers ユーザー定義ロールの db_ssisadmin
メンバーである場合、パッケージへの読み取りアクセス権を持つには、 ロール、 db_ssisltduserロール、または db_ssisoperator ロールのメンバーである必要があります。
ユーザー定義ロールをパッケージに割り当てていない場合、パッケージへのアクセスは固定データベース レベル ロールによって決定されます。
ユーザー定義ロールを使用する場合は、パッケージに msdb
割り当てる前に、それらをデータベースに追加する必要があります。 SQL Server Management Studioでは、新しいデータベース ロールを作成できます。
Integration Services データベース レベルのロールは、msdb データベース内の Integration Services システム テーブルに対する権限を付与します。
データベース エンジンに接続してデータベースにアクセスするには、SQL Server (MSSQLSERVER サービス) を開始するmsdb
必要があります。
パッケージにロールを割り当てるには、次のタスクを完了する必要があります。
オブジェクト エクスプローラーを開いて Integration Services に接続する
SQL Server Management Studioを使用してパッケージにロールを割り当てるには、 SQL Server Management Studio のオブジェクト エクスプローラーを開き、 Integration Servicesに接続する必要があります。
Integration Services サービスを起動してから、 Integration Servicesに接続します。
リーダー ロールおよびライター ロールをパッケージに割り当てる
リーダー ロールおよびライター ロールをそれぞれのパッケージに割り当てることができます。