分享方式:


Integration Services 角色 (SSIS 服務)

適用於:SQL Server Azure Data Factory 中的 SSIS Integration Runtime

SQL Server Integration Services 提供特定固定資料庫層級角色,以協助保護對儲存在 SQL Server 中封裝的存取。 可用的角色根據您將封裝儲存在 SSIS 目錄資料庫 (SSISDB) 或 msdb 資料庫而有所不同。

SSIS 目錄資料庫 (SSISDB) 中的角色

SSIS 目錄資料庫 (SSISDB) 提供下列固定資料庫層級角色,來協助保護對於封裝和封裝相關資訊的存取。

  • ssis_admin: 此角色提供 SSIS 目錄資料庫的完整系統管理存取權。

  • ssis_logreader :此角色提供存取所有 SSISDB 作業記錄相關檢視的權限。

    檢視清單包括:[catalog].[projects]、[catalog].[packages]、[catalog].[operations]、[catalog].[extended_operation_info]、[catalog].[operation_messages]、[catalog].[event_messages]、[catalog].[execution_data_statistics]、[catalog].[execution_component_phases]、[catalog].[execution_data_taps]、[catalog].[event_message_context]、[catalog].[executions]、[catalog].[executables]、[catalog].[executable_statistics]、[catalog].[validations]、[catalog].[execution_parameter_values] 和 [catalog].[execution_property_override_values]。

根據設計,授與檢視和預存程序的權限會指派至 SQL Server 固定公用角色。 這些權限不會授與使用者執行或編輯封裝的存取權,只有與 SSISDB 內部機制互動的權限,再由該機制進而決定實際權限。

msdb 資料庫中的角色

SQL Server Integration Services 包含三個固定資料庫層級角色 db_ssisadmindb_ssisltduserdb_ssisoperator,可用於控制對儲存至 msdb 資料庫之封裝的存取。 您可以使用 SQL Server Management Studio 指派角色給封裝。 角色指派會儲存到 msdb 資料庫。

讀取和寫入動作

下表描述 Integration Services 中 Windows 及固定資料庫層級角色的讀取和寫入動作。

角色 讀取動作 寫入動作
db_ssisadmin



sysadmin
列舉自己的封裝。

列舉所有封裝。

檢視自己的封裝。

檢視所有封裝。

執行自己的封裝。

執行所有封裝。

匯出自己的封裝。

匯出所有封裝。

執行 SQL Server Agent 中的所有封裝。
匯入封裝。

刪除自己的封裝。

刪除所有封裝。

變更自己的封裝角色。

變更所有封裝角色。



**** 警告 ****db_ssisadmin 角色和 dc_admin 角色的成員可以將其權限提高為系統管理員。 提高權限是因為這些角色可以修改 Integration Services 封裝,而使用 SQL Server Agent 系統管理員資訊安全內容後,SQL Server 即可執行 Integration Services 封裝。 執行維護計劃、資料收集組和其他 Integration Services 封裝時,若要預防權限提高,請將執行封裝的 SQL Server Agent 作業,設為使用有限權限的 Proxy 帳戶,或只新增系統管理員成員至 db_ssisadmin 和 dc_admin 角色。
db_ssisltduser 列舉自己的封裝。

列舉所有封裝。

檢視自己的封裝。

執行自己的封裝。

匯出自己的封裝。
匯入封裝。

刪除自己的封裝。

變更自己的封裝角色。
db_ssisoperator 列舉所有封裝。

檢視所有封裝。

執行所有封裝。

匯出所有封裝。

執行 SQL Server Agent 中的所有封裝。
None
Windows administrators 檢視所有正在執行之封裝的執行詳細資料。 停止所有目前正在執行的封裝。

Sysssispackages 資料表

msdb 中的 sysssispackages 資料表包含儲存至 SQL Server 的封裝。 如需詳細資訊,請參閱 sysssispackages (Transact-SQL)

sysssispackages 資料表包括的資料行包含指派給封裝之角色的相關資訊。

  • readerrole 資料行會指定擁有封裝之讀取權限的角色。

  • writerrole 資料行會指定擁有封裝之寫入權限的角色。

  • ownersid 資料行包含建立封裝之使用者的唯一安全性識別碼。 此資料行會定義封裝的擁有者。

權限

依預設, db_ssisadmindb_ssisoperator 固定資料庫層級角色的權限以及建立封裝之使用者的唯一安全性識別碼會套用至封裝的讀取者角色,而 db_ssisadmin 角色的權限以及建立封裝之使用者的唯一安全性識別碼則會套用至封裝的寫入者角色。 使用者必須是 db_ssisadmindb_ssisltduserdb_ssisoperator 角色的成員,才能擁有封裝的讀取權限。 使用者必須是 db_ssisadmin 角色的成員,才能擁有寫入權限。

對封裝的存取權

固定資料庫層級角色要與使用者定義角色搭配使用。 使用者定義角色是您在 SQL Server Management Studio 中建立後用以指派權限給封裝的角色。 若要存取封裝,使用者必須是使用者定義角色和相關 Integration Services 固定資料庫層級角色的成員。 例如,如果使用者是指派至封裝之 AuditUsers 使用者定義角色的成員,他們還必須是 db_ssisadmindb_ssisltduserdb_ssisoperator 角色的成員,才能擁有封裝的讀取權限。

如果您沒有指派使用者定義角色給封裝,則對封裝的存取是由固定的資料庫層級角色決定的。

如果想要使用使用者定義角色,則必須先將這些角色加入 msdb 資料庫,然後才能將它們指派給封裝。 您可以在 SQL Server Management Studio 中建立新的資料庫角色。

Integration Services 資料庫層級角色會授與 msdb 資料庫中 Integration Services 系統資料表的權限。

您必須啟動 SQL Server (MSSQLSERVER 服務),才能連線到資料庫引擎並存取 msdb 資料庫。

若要將角色指派給封裝,您需要完成下列工作。

  • 開啟物件總管並連接到 Integration Services

    您必須先在 SQL Server Management Studio 中開啟 [物件總管] 並連線到 Integration Services,才能使用 SQL Server Management Studio 指派角色給封裝。

    您必須先啟動 Integration Services 服務,才能連線到 Integration Services。

  • 指派讀取器和寫入器角色給封裝

    您可將讀取器和寫入器角色指派給每個封裝。

指派讀取器和寫入器角色給封裝

您可將讀取器和寫入器角色指派給每個封裝。

指派讀取器和寫入器角色給封裝

  1. 在 [物件總管] 中,找到 Integration Services 連線。

  2. 展開 [Stored Packages] 資料夾,然後展開包含想要為其指派角色之封裝的子資料夾。

  3. 以滑鼠右鍵按一下想要為其指派角色的封裝。

  4. [封裝角色] 對話方塊中,選取 [讀取器角色] 清單中的讀取器角色和 [寫入器角色] 清單中的寫入器角色。

  5. 按一下 [確定] 。

建立使用者定義角色

建立使用者定義角色

  1. 開啟 SQL Server Management Studio。

  2. [檢視] 功能表上,按一下 [物件總管]

  3. 在 [物件總管] 工具列上,按一下 [連接] ,再按一下 [Database Engine]

  4. 在 [連接到伺服器] 對話方塊中,提供伺服器名稱並選取驗證模式。 您可以使用句號 (.)、(local) 或 localhost 表示本機伺服器。

  5. 按一下 [ 連接]。

  6. 展開 [資料庫]、[系統資料庫]、[msdb]、[安全性] 和 [角色]。

  7. 在 [角色] 節點中,以滑鼠右鍵按一下 [資料庫角色],並按一下 [新增資料庫角色] 。

  8. 在 [一般] 頁面上提供名稱,選擇性地指定擁有者和擁有的結構描述,並加入角色成員。

  9. 選擇性地按一下 [權限] ,並設定物件權限。

  10. 選擇性地按一下 [擴充屬性] ,並設定任何擴充屬性。

  11. 按一下 [確定] 。

封裝角色對話方塊 UI 參考

使用 [封裝角色] 對話方塊 (可在 SQL Server Management Studio 中取得),即可指定擁有封裝讀取權限的資料庫層級角色,以及擁有封裝寫入權限的資料庫層級角色。 這些資料庫層級角色只會套用至儲存在 SQL Server msdb 資料庫中的封裝。

對話方塊中所列出的角色是 msdb 系統資料庫的目前資料庫角色。 如果沒有選取角色,則會套用預設 Integration Services 角色。 依預設,讀取者角色包含 db_ssisadmindb_ssisoperator 和建立封裝的使用者。 上述其中一個角色之成員或是建立封裝的使用者可以列舉、檢視、匯出和執行封裝。 依預設,寫入者角色包含 db_ssisadmin 以及建立封裝的使用者。 這個角色的成員使用者以及建立封裝的使用者,可以匯入、刪除和變更封裝。

sysssispackages 資料表中的 ownersid 資料行列出建立封裝之使用者的唯一安全性識別碼。

選項。

封裝名稱
指定封裝的名稱。

讀取器角色
選取清單中的角色。

寫入器角色
選取清單中的角色