次の方法で共有


Integration Services のロール (SSIS サービス)

SQL Server Integration Services には、パッケージへのアクセスを制御するための 3 つの固定データベース レベル ロール (db_ssisadmin、db_ssisltduserおよびdb_ssisoperator) が含まれています。 ロールは、SQL Server の msdb データベースに保存されているパッケージにのみ実装できます。 パッケージにロールを割り当てるには、 SQL Server Management Studioを使用します。 ロールの割り当ては、 msdb データベースに保存されます。

読み取りアクションと書き込みアクション

次の表で、Windows の読み取りおよび書き込みアクションと、 Integration Servicesでの固定データベース レベル ロールの読み取りおよび書き込みアクションについて説明します。

役割 読み取りアクション 書き込みアクション
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 テーブル

msdbsysssispackages テーブルには、SQL Server に保存されているパッケージが含まれています。 詳細については、「sysssispackages (Transact-SQL)」を参照してください。

sysssispackages テーブルには、パッケージに割り当てられるロールに関する情報が含まれている列があります。

  • readerrole 列は、パッケージへの読み取りアクセスが可能なロールを指定します。

  • writerrole 列は、パッケージへの書き込みアクセスが可能なロールを指定します。

  • ownersid 列には、パッケージを作成したユーザーの一意なセキュリティ識別子が格納されています。 この列により、パッケージの所有者が定義されます。

権限

既定では、 db_ssisadmindb_ssisoperator 固定データベース レベルのロールのアクセス許可と、パッケージを作成したユーザーの一意のセキュリティ識別子がパッケージの閲覧者ロールに適用され、 db_ssisadmin ロールのアクセス許可と、パッケージを作成したユーザーの一意のセキュリティ識別子がライター ロールに適用されます。 パッケージへの読み取りアクセス権を持つには、ユーザーが db_ssisadmindb_ssisltduser、または db_ssisoperator ロールのメンバーである必要があります。 書き込みアクセス権を持つには、ユーザーが db_ssisadmin ロールのメンバーである必要があります。

パッケージへのアクセス

固定データベース レベル ロールは、ユーザー定義ロールと組み合わせて使用されます。 ユーザー定義ロールとは、ユーザーが SQL Server Management Studio で作成するロールのことで、権限をパッケージに割り当てるために使用します。 パッケージにアクセスするには、ユーザーは、ユーザー定義ロールおよび関連する Integration Services 固定データベースレベル ロールのメンバーである必要があります。 たとえば、ユーザーがパッケージに割り当てられている AuditUsers ユーザー定義ロールのメンバーである場合、パッケージへの読み取りアクセス権を持つには、 db_ssisadmindb_ssisltduser、または db_ssisoperator ロールのメンバーである必要があります。

ユーザー定義ロールをパッケージに割り当てていない場合、パッケージへのアクセスは固定データベース レベル ロールによって決定されます。

ユーザー定義ロールを使用する場合は、パッケージに割り当てる前に、 msdb データベースに追加する必要があります。 SQL Server Management Studioでは、新しいデータベース ロールを作成できます。

Integration Services データベース レベルのロールは、msdb データベース内の Integration Services システム テーブルに対する権限を付与します。

データベース エンジンに接続して msdb データベースにアクセスするには、SQL Server (MSSQLSERVER サービス) を開始する必要があります。

パッケージにロールを割り当てるには、次のタスクを完了する必要があります。

  • オブジェクト エクスプローラーを開いて Integration Services に接続する

    SQL Server Management Studioを使用してパッケージにロールを割り当てるには、 SQL Server Management Studio のオブジェクト エクスプローラーを開き、 Integration Servicesに接続する必要があります。

    Integration Services サービスを起動してから、 Integration Servicesに接続します。

  • リーダー ロールおよびライター ロールをパッケージに割り当てる

    リーダー ロールおよびライター ロールをそれぞれのパッケージに割り当てることができます。