Integration Services 역할(SSIS 서비스)Integration Services Roles (SSIS Service)

SQL ServerSQL Server Integration ServicesIntegration Services 에서는 SQL ServerSQL Server에 저장된 패키지에 대한 액세스를 보호하는 데 사용할 수 있는 특정 고정 데이터베이스 수준 역할을 제공합니다. Integration ServicesIntegration Services provides certain fixed database-level roles to help secure access to packages that are stored in SQL ServerSQL Server. 사용 가능한 역할은 패키지를 SSIS 카탈로그 데이터베이스(SSISDB)에 저장하는지 아니면 msdb 데이터베이스에 저장하는지에 따라 달라집니다.The available roles are different depending on whether you're saving packages in the SSIS Catalog database (SSISDB) or in the msdb database.

SSIS 카탈로그 데이터베이스(SSISDB)의 역할Roles in the SSIS Catalog database (SSISDB)

SSIS 카탈로그 데이터베이스(SSISDB)는 패키지에 대한 액세스 및 패키지 관련 정보를 보호하는 데 사용할 수 있는 다음과 같은 고정 데이터베이스 수준 역할을 제공합니다.The SSIS Catalog database (SSISDB) provides the following fixed database-level roles to help secure access to packages and information about packages.

  • ssis_admin.ssis_admin. 이 역할은 SSIS 카탈로그 데이터베이스에 대한 모든 관리 권한을 제공합니다.This role provides full administrative access to the SSIS Catalog database.

  • ssis_logreader 이 역할은 SSISDB 작업 로그와 관련된 모든 보기에 액세스할 수 있는 권한을 제공합니다.ssis_logreader This role provides permissions to access all the views related SSISDB operational logs.

    보기 목록에는 [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]가 포함됩니다.The list of views includes: [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], and [catalog].[execution_property_override_values].

msdb 데이터베이스의 역할Roles in the msdb database

SQL ServerSQL Server Integration ServicesIntegration Services 에는 msdb데이터베이스에 저장되는 패키지에 대한 액세스를 제어하기 위한 3가지 고정 데이터베이스 수준 역할인 db_ssisadmin, db_ssisltduserdb_ssisoperator 가 포함되어 있습니다. Integration ServicesIntegration Services includes the three fixed database-level roles, db_ssisadmin, db_ssisltduser, and db_ssisoperator, for controlling access to packages that are saved to the msdb database. SQL Server Management StudioSQL Server Management Studio를 사용하여 패키지에 역할을 할당하십시오.You assign roles to a package using SQL Server Management StudioSQL Server Management Studio. 역할 할당은 msdb 데이터베이스에 저장됩니다.The role assignments are saved to the msdb database.

읽기 및 쓰기 작업Read and Write Actions

다음 표에서는 Integration ServicesIntegration Services내에서 Windows 및 고정 데이터베이스 수준 역할의 읽기/쓰기 동작에 대해 설명합니다.The following table describes the read and write actions of Windows and fixed database-level roles in Integration ServicesIntegration Services.

역할Role 읽기 동작Read action 쓰기 동작Write action
msdbdb_ssisadmin

또는or

sysadminsysadmin
자체 패키지를 열거합니다.Enumerate own packages.

모든 패키지를 열거합니다.Enumerate all packages.

자체 패키지를 봅니다.View own packages.

모든 패키지를 봅니다.View all packages.

자체 패키지를 실행합니다.Execute own packages.

모든 패키지를 실행합니다.Execute all packages.

자체 패키지를 내보냅니다.Export own packages.

모든 패키지를 내보냅니다.Export all packages.

SQL ServerSQL Server 에이전트에서 모든 패키지를 실행합니다.Execute all packages in SQL ServerSQL Server Agent.
패키지를 가져옵니다.Import packages.

자체 패키지를 삭제합니다.Delete own packages.

모든 패키지를 삭제합니다.Delete all packages.

자체 패키지 역할을 변경합니다.Change own package roles.

모든 패키지 역할을 변경합니다.Change all package roles.



** 경고 *\db_ssisadmin 및 dc_admin 역할의 멤버는 해당 권한을 sysadmin으로 승격할 수 있습니다.\* Warning ****Members of the db_ssisadmin role and the dc_admin role may be able to elevate their privileges to sysadmin. 이러한 권한 승격이 발생할 수 있는 것은 이러한 역할이 Integration ServicesIntegration Services 패키지를 수정할 수 있고 Integration ServicesIntegration Services 에서 SQL ServerSQL Server 에이전트의 sysadmin 보안 컨텍스트를 사용하여 SQL ServerSQL Server 패키지를 실행할 수 있기 때문입니다.This elevation of privilege can occur because these roles can modify Integration ServicesIntegration Services packages and Integration ServicesIntegration Services packages can be executed by SQL ServerSQL Server using the sysadmin security context of SQL ServerSQL Server Agent. 유지 관리 계획, 데이터 컬렉션 집합 및 기타 Integration ServicesIntegration Services 패키지를 실행할 때 이러한 권한 상승이 발생하지 않도록 하려면 패키지를 실행하는 SQL ServerSQL Server 에이전트 작업이 제한된 권한을 갖는 프록시 계정을 사용하도록 구성하거나 db_ssisadmin 및 dc_admin 역할에 sysadmin 멤버만 추가합니다.To guard against this elevation of privilege when running maintenance plans, data collection sets, and other Integration ServicesIntegration Services packages, configure SQL ServerSQL Server Agent jobs that run packages to use a proxy account with limited privileges or only add sysadmin members to the db_ssisadmin and dc_admin roles.
db_ssisadmindb_ssisltduser 자체 패키지를 열거합니다.Enumerate own packages.

모든 패키지를 열거합니다.Enumerate all packages.

자체 패키지를 봅니다.View own packages.

자체 패키지를 실행합니다.Execute own packages.

자체 패키지를 내보냅니다.Export own packages.
패키지를 가져옵니다.Import packages.

자체 패키지를 삭제합니다.Delete own packages.

자체 패키지 역할을 변경합니다.Change own package roles.
db_ssisltduserdb_ssisoperator 모든 패키지를 열거합니다.Enumerate all packages.

모든 패키지를 봅니다.View all packages.

모든 패키지를 실행합니다.Execute all packages.

모든 패키지를 내보냅니다.Export all packages.

SQL ServerSQL Server 에이전트에서 모든 패키지를 실행합니다.Execute all packages in SQL ServerSQL Server Agent.
InclusionThresholdSettingNone
Windows 관리자Windows administrators 실행 중인 모든 패키지의 실행 세부 사항을 봅니다.View execution details of all running packages. 실행 중인 모든 패키지를 중지합니다.Stop all currently running packages.

Sysssispackages 테이블Sysssispackages Table

msdbsysssispackages 테이블에는 SQL ServerSQL Server로 저장되는 패키지가 포함됩니다.The sysssispackages table in msdb contains the packages that are saved to SQL ServerSQL Server. 자세한 내용은 sysssispackages(Transact-SQL)를 참조하세요.For more information, see sysssispackages (Transact-SQL).

sysssispackages 테이블에는 패키지로 할당되는 역할에 대한 정보가 들어 있는 열이 포함됩니다.The sysssispackages table includes columns that contain information about the roles that are assigned to packages.

  • readerrole 열은 패키지에 읽기 액세스를 가진 역할을 지정합니다.The readerrole column specifies the role that has read access to the package.

  • writerrole 열은 패키지에 쓰기 액세스를 가진 역할을 지정합니다.The writerrole column specifies the role that has write access to the package.

  • ownersid 열은 패키지를 만든 사용자의 고유 보안 식별자를 포함하며The ownersid column contains the unique security identifier of the user who created the package. 패키지의 소유자를 정의합니다.This column defines the owner of the package.

PermissionsPermissions

기본적으로 패키지의 읽기 역할에는 db_ssisadmindb_ssisoperator 고정 데이터베이스 수준 역할의 사용 권한과 패키지를 만든 사용자의 고유 보안 식별자가 적용되고 쓰기 역할에는 db_ssisadmin 역할의 사용 권한과 패키지를 만든 사용자의 고유 보안 식별자가 적용됩니다.By default, the permissions of the db_ssisadmin and db_ssisoperator fixed database-level roles and the unique security identifier of the user who created the package apply to the reader role for packages, and the permissions of the db_ssisadmin role and the unique security identifier of the user who created the package apply to the writer role. 패키지에 대한 읽기 액세스 권한을 가지려면 db_ssisadmin, db_ssisltduser또는 db_ssisoperator 역할의 멤버여야 하고A user must be a member of the db_ssisadmin, db_ssisltduser, or db_ssisoperator role to have read access to the package. 쓰기 권한을 가지려면 db_ssisadmin 역할의 멤버여야 합니다.A user must be a member of the db_ssisadmin role to have write access.

패키지에 대한 액세스Access to Packages

고정 데이터 수준 역할은 사용자 정의 역할과 함께 작동합니다.The fixed database-level roles work in conjunction with user-defined roles. 사용자 정의 역할은 SQL Server Management StudioSQL Server Management Studio 에서 만들며 패키지에 권한을 할당하는 데 사용되는 역할입니다.The user-defined roles are the roles that you create in SQL Server Management StudioSQL Server Management Studio and then use to assign permissions to packages. 패키지에 액세스하려면 해당 사용자가 사용자 정의 역할 및 적절한 Integration ServicesIntegration Services 고정 데이터베이스 수준 역할의 멤버여야 합니다.To access a package, a user must be a member of the user-defined role and the pertinent Integration ServicesIntegration Services fixed database-level role. 예를 들어 사용자가 패키지에 할당된 AuditUsers 사용자 정의 역할의 멤버인 경우 패키지에 대한 읽기 권한을 가지려면 db_ssisadmin, db_ssisltduser또는 db_ssisoperator 역할의 멤버여야 합니다.For example, if users are members of the AuditUsers user-defined role that is assigned to a package, they must also be members of db_ssisadmin, db_ssisltduser, or db_ssisoperator role to have read access to the package.

패키지에 사용자 정의 역할을 할당하지 않은 경우 패키지에 대한 액세스는 고정 데이터베이스 수준 역할에 의해 결정됩니다.If you do not assign user-defined roles to packages, access to packages is determined by the fixed database-level roles.

사용자 정의 역할을 사용하려면 패키지에 할당하기 전에 msdb 데이터베이스에 역할을 추가해야 합니다.If you want to use user-defined roles, you must add them to the msdb database before you can assign them to packages. SQL Server Management StudioSQL Server Management Studio에서 새 데이터베이스 역할을 만들 수 있습니다.You can create new database roles in SQL Server Management StudioSQL Server Management Studio.

Integration ServicesIntegration Services 데이터베이스 수준 역할은 msdb 데이터베이스의 Integration ServicesIntegration Services 시스템 테이블에 대한 권한을 부여합니다.The Integration ServicesIntegration Services database-level roles grant rights on the Integration ServicesIntegration Services system tables in the msdb database.

SQL ServerSQL Server (MSSQLSERVER 서비스)를 데이터베이스 엔진에 연결하고 msdb 데이터베이스에 액세스하기 전에 시작해야 합니다. (the MSSQLSERVER service) must be started before you can connect to the Database Engine and access the msdb database.

패키지에 역할을 할당하려면 다음 태스크를 완료해야 합니다.To assign roles to packages, you need to complete the following tasks.

  • 개체 탐색기를 열어 Integration Services에 연결Open Object Explorer and Connect to Integration Services

    SQL Server Management StudioSQL Server Management Studio를 사용하여 패키지에 역할을 할당하기 전에 SQL Server Management StudioSQL Server Management Studio 에서 개체 탐색기를 열고 Integration ServicesIntegration Services에 연결해야 합니다.Before you can assign roles to packages by using SQL Server Management StudioSQL Server Management Studio, you must open Object Explorer in SQL Server Management StudioSQL Server Management Studio and connect to Integration ServicesIntegration Services.

    Integration ServicesIntegration Services 에 연결하기 전에 Integration ServicesIntegration Services서비스를 시작해야 합니다.The Integration ServicesIntegration Services service must be started before you can connect to Integration ServicesIntegration Services.

  • 패키지에 읽기 및 쓰기 역할 할당Assign Reader and Writer Roles to Packages

    각 패키지에 읽기 및 쓰기 역할을 할당할 수 있습니다.You can assign a reader and a writer role to each package.

패키지에 읽기 및 쓰기 역할 할당 Assign a Reader and Writer Role to a Package

각 패키지에 읽기 및 쓰기 역할을 할당할 수 있습니다.You can assign a reader and a writer role to each package.

패키지에 읽기 및 쓰기 역할 할당Assign a reader and writer role to a package

  1. 개체 탐색기에서 Integration ServicesIntegration Services 연결을 찾습니다.In Object Explorer, locate the Integration ServicesIntegration Services connection.

  2. 저장된 패키지 폴더를 확장한 다음 역할을 할당할 패키지를 포함하는 하위 폴더를 확장합니다.Expand the Stored Packages folder, and then expand the subfolder that contains the package to which you want to assign roles.

  3. 역할을 할당하려는 패키지를 마우스 오른쪽 단추로 클릭합니다.Right-click the package to which you want to assign roles.

  4. 패키지 역할 대화 상자의 읽기 역할 목록에서 읽기 역할을 선책하고 쓰기 역할 목록에서 쓰기 역할을 선택합니다.In the Packages Roles dialog box, select a reader role in the Reader Role list and a writer role in the Writer Role list.

  5. 확인을 클릭합니다.Click OK.

사용자 정의 역할 만들기 Create a User-Defined Role

사용자 정의 역할을 만들려면To create a user-defined role

  1. SQL Server Management StudioSQL Server Management Studio를 엽니다.Open SQL Server Management StudioSQL Server Management Studio.

  2. 보기 메뉴에서 개체 탐색기 를 클릭합니다.Click Object Explorer on the View menu.

  3. 개체 탐색기 도구 모음에서 연결, 데이터베이스 엔진을 차례로 클릭합니다.On the Object Explorer toolbar, click Connect, and then click Database Engine.

  4. 서버에 연결 대화 상자에 서버 이름을 입력하고 인증 모드를 선택합니다.In the Connect to Server dialog box, provide a server name and select an authentication mode. 마침표(.), (local) 또는 localhost 를 사용하여 로컬 서버를 지정할 수 있습니다.You can use a period (.), (local), or localhost to indicate the local server.

  5. 연결을 클릭합니다.Click Connect.

  6. 데이터베이스, 시스템 데이터베이스, msdb, 보안 및 역할을 확장합니다.Expand Databases, System Databases, msdb, Security, and Roles.

  7. 역할 노드에서 데이터베이스 역할을 마우스 오른쪽 단추로 클릭하고 새 데이터베이스 역할을 클릭합니다.In the Roles node, right-click Database Roles, and click New Database Role.

  8. 일반 페이지에 이름을 입력하고 필요에 따라 소유자 및 소유한 스키마를 지정한 다음 역할 멤버를 추가합니다.On the General page, provide a name and optionally, specify an owner and owned schemas and add role members.

  9. 필요에 따라 권한 을 클릭하고 개체 사용 권한을 구성합니다.Optionally, click Permissions and configure object permissions.

  10. 필요에 따라 확장 속성 을 클릭하고 확장 속성을 구성합니다.Optionally, click Extended Properties and configure any extended properties.

  11. 확인을 클릭합니다.Click OK.

패키지 역할 대화 상자 UI 참조 Package Roles Dialog Box UI Reference

SQL Server Management StudioSQL Server Management Studio에서 사용할 수 있는 패키지 역할 대화 상자를 통해 패키지에 대한 읽기 권한이 있는 데이터베이스 수준 역할 및 패키지에 대한 쓰기 권한이 있는 데이터베이스 수준 역할을 지정할 수 있습니다.Use the Package Roles dialog box, available in SQL Server Management StudioSQL Server Management Studio, to specify the database-level roles that have read access to the package and the database-level roles that have write access to the package. 데이터베이스 수준 역할은 SQL ServerSQL Server msdb 데이터베이스에 저장된 패키지에만 적용됩니다.Database-level roles apply only to packages that are stored in the SQL ServerSQL Server msdb database.

대화 상자에 나열된 역할은 msdb 시스템 데이터베이스의 현재 데이터베이스 역할입니다.The roles listed in the dialog box are the current database roles of the msdb system database. 역할을 선택하지 않으면 기본 Integration ServicesIntegration Services 역할이 적용됩니다.If no roles are selected, the default Integration ServicesIntegration Services roles apply. 기본적으로 읽기 역할에는 db_ssisadmin, db_ssisoperator및 패키지를 만든 사용자가 포함됩니다.By default, the reader role includes db_ssisadmin, db_ssisoperator, and the user who created the package. 이러한 역할 중 하나의 멤버이거나 패키지를 만든 사용자는 패키지를 열거, 확인, 내보내기 및 실행할 수 있습니다.A user who is a member of one of these roles or created the packages can enumerate, view, export, and run packages. 기본적으로 쓰기 역할에는 db_ssisadmin 과 패키지를 만든 사용자가 포함됩니다.By default, the writer role includes db_ssisadmin and the user who created the package. 이 역할의 멤버인 사용자와 패키지를 만든 사용자는 패키지를 가져오거나 삭제 및 변경할 수 있습니다.A user who is a member of this role and the user who created the packages can import, delete, and change packages.

sysssispackages 테이블의 ownersid 열은 패키지를 만든 사용자의 고유 보안 식별자를 표시합니다.The ownersid column in the sysssispackages table lists the unique security identifier of the user who created the package.

옵션Options

패키지 이름Package Name
패키지의 이름을 지정합니다.Specify the name of the package.

읽기 역할Reader Role
목록에서 역할을 선택합니다.Select a role in the list.

쓰기 역할Writer Role
목록에서 역할을 선택합니다.Select a role in the list