Integration Services のロール
更新 : 2006 年 7 月 17 日
SQL Server 2005 Integration Services (SSIS) には、パッケージへのアクセスを制御するための、db_dtsadmin、db_dtsltduser、および db_dtsoperator の 3 つの固定データベース レベル ロールがあります。ロールは、SQL Server の msdb データベースに保存されるパッケージでのみ実装できます。パッケージにロールを割り当てるには、SQL Server Management Studio を使用します。ロールの割り当ては、msdb データベースに保存されます。
次の表で、Windows の読み取りおよび書き込みアクションと、Integration Services での固定データベース レベル ロールの読み取りおよび書き込みアクションについて説明します。
ロール | 読み取りアクション | 書き込みアクション |
---|---|---|
db_dtsadmin または sysadmin |
独自のパッケージを列挙する。 すべてのパッケージを列挙する。 独自のパッケージを表示する。 すべてのパッケージを表示する。 独自のパッケージを実行する。 すべてのパッケージを実行する。 独自のパッケージをエクスポートする。 すべてのパッケージをエクスポートする。 SQL Server エージェント内のすべてのパッケージを実行する。 |
パッケージをインポートする。 独自のパッケージを削除する。 すべてのパッケージを削除する。 独自のパッケージのロールを変更する。 すべてのパッケージのロールを変更する。 |
db_dtsltduser |
独自のパッケージを列挙する。 すべてのパッケージを列挙する。 独自のパッケージを表示する。 独自のパッケージを実行する。 独自のパッケージをエクスポートする。 |
パッケージをインポートする。 独自のパッケージを削除する。 独自のパッケージのロールを変更する。 |
db_dtsoperator |
すべてのパッケージを列挙する。 すべてのパッケージを表示する。 すべてのパッケージを実行する。 すべてのパッケージをエクスポートする。 SQL Server エージェント内のすべてのパッケージを実行する。 |
なし。 |
Windows 管理者 |
実行中のすべてのパッケージの実行時の詳細を表示する。 |
現在実行中のパッケージをすべて停止する。 |
msdb の sysdtspackages90 テーブルには、SQL Server に保存されるパッケージが格納されています。詳細については、「sysdtspackages90 (Transact-SQL)」を参照してください。
sysdtspackages90 テーブルには、パッケージに割り当てられるロールに関する情報が含まれている列があります。
- readerrole 列は、パッケージへの読み取りアクセスが可能なロールを指定します。
- writerrole 列は、パッケージへの書き込みアクセスが可能なロールを指定します。
- ownersid 列には、パッケージを作成したユーザーの一意なセキュリティ識別子が格納されています。この列により、パッケージの所有者が定義されます。
既定では、db_dtsadmin および dtsoperator の各固定データベース レベル ロールの権限、およびパッケージを作成したユーザーの一意なセキュリティ識別子は、パッケージのリーダー ロールに適用されます。db_dtsadmin ロールの権限およびパッケージを作成したユーザーの一意なセキュリティ識別子は、ライタ ロールに適用されます。ユーザーは、パッケージの読み取りアクセスを行うには db_dtsadmin、db_dtsltduser、または db_dtsoperator ロールのメンバである必要があります。書き込みアクセスを行うには db_dtsadmin ロールのメンバである必要があります。
固定データベース レベル ロールは、ユーザー定義ロールと組み合わせて使用されます。ユーザー定義ロールとは、ユーザーが SQL Server Management Studio で作成するロールのことで、権限をパッケージに割り当てるために使用します。パッケージにアクセスするには、ユーザーは、ユーザー定義ロールと Integration Services 固定データベースレベル ロールのメンバである必要があります。たとえば、ユーザーがパッケージに割り当てられている AuditUsers ユーザー定義ロールのメンバである場合、ユーザーがパッケージに対する読み取りアクセスを行うためには、さらに db_dtsadmin、db_dtsltduser、または db_dtsoperator ロールのメンバでもある必要があります。
ユーザー定義ロールをパッケージに割り当てていない場合、パッケージへのアクセスは固定データベース レベル ロールによって決定されます。
ユーザー定義ロールを使用するには、パッケージに割り当てる前に、あらかじめ msdb データベースに追加しておく必要があります。SQL Server Management Studio では、新しいデータベース ロールを作成できます。
手順 1 : オブジェクト エクスプローラを開き、Integration Services に接続する
SQL Server Management Studio を使用してパッケージにロールを割り当てるには、SQL Server Management Studio のオブジェクト エクスプローラを開き、Integration Services に接続する必要があります。
Integration Services サービスを起動してから、Integration Services に接続します。
オブジェクト エクスプローラを開いて Integration Services に接続するには
SQL Server Management Studio を開きます。
[表示] メニューの [オブジェクト エクスプローラ] をクリックします。
[オブジェクト エクスプローラ] のツール バーの [接続] をクリックし、[Integration Services] をクリックします。
[サーバーへの接続] ダイアログ ボックスで、サーバー名を指定します。ピリオド (.)、(local)、または localhost を使用すると、ローカル サーバーを指定できます。
[接続] をクリックします。
手順 2 : リーダー ロールおよびライタ ロールをパッケージに割り当てる
リーダー ロールおよびライタ ロールをそれぞれのパッケージに割り当てることができます。
リーダー ロールおよびライタ ロールをパッケージに割り当てる
オブジェクト エクスプローラで、Integration Services 接続を見つけます。
[格納されたパッケージ] フォルダを展開し、ロールを割り当てるパッケージが格納されているサブフォルダを展開します。
ロールを割り当てるパッケージを右クリックします。
[パッケージのロール] ダイアログ ボックスで、[リーダー ロール] ボックスの一覧からリーダー ロールを選択し、[ライタ ロール] ボックスの一覧からライタ ロールを選択します。
[OK] をクリックします。
ユーザー定義ロールの作成
データベース エンジンに接続して msdb データベースにアクセスするには、あらかじめ SQL Server (MSSQLSERVER サービス) が起動されている必要があります。
ユーザー定義ロールを作成するには
SQL Server Management Studio を開きます。
[表示] メニューの [オブジェクト エクスプローラ] をクリックします。
オブジェクト エクスプローラ ツール バーで [接続] をクリックし、[データベース エンジン] をクリックします。
[サーバーへの接続] ダイアログ ボックスで、サーバー名を指定し、認証モードを選択します。ピリオド (.)、(local)、または localhost を使用すると、ローカル サーバーを指定できます。
[接続] をクリックします。
[データベース]、[システム データベース]、[msdb]、[セキュリティ]、[ロール] を順に展開します。
[ロール] ノードの [データベース ロール] を右クリックし、[新しいデータベース ロール] をクリックします。
[全般] ページでロール名を指定します。必要に応じて、所有者および所有されているスキーマを指定し、ロール メンバを追加します。
必要に応じて、[権限] をクリックし、オブジェクトの権限を構成します。
必要に応じて、[拡張プロパティ] をクリックし、任意の拡張プロパティを構成します。
[OK] をクリックします。
参照
概念
Integration Services のセキュリティに関する注意点
その他の技術情報
[データベース ロールのプロパティ] ([全般] ページ)
データベース オブジェクトでの拡張プロパティの使用
ヘルプおよび情報
変更履歴
リリース | 履歴 |
---|---|
2006 年 7 月 17 日 |
|
2006 年 4 月 14 日 |
|