

# SSISDB에 대한 관리 권한
<a name="SSIS.Permissions"></a>

SSIS 옵션을 사용하여 인스턴스를 생성하거나 수정하면 마스터 사용자에게 ssis\$1admin 및 ssis\$1logreader 역할이 부여된 SSISDB 데이터베이스가 생성됩니다. 마스터 사용자는 SSISDB에 대해 다음 권한을 가집니다.
+ ssis\$1admin 역할 변경
+ ssis\$1logreader 역할 변경
+ 모든 사용자 변경

마스터 사용자는 SQL 인증 사용자이므로 마스터 사용자를 사용하여 SSIS 패키지를 실행할 수 없습니다. 마스터 사용자는 이러한 권한을 사용하여 새 SSISDB 사용자를 생성하고 이를 ssis\$1admin 및 ssis\$1logreader 역할에 추가할 수 있습니다. 이렇게 하면 SSIS 사용을 위해 도메인 사용자에게 액세스 권한을 부여하는 데 유용합니다.

## SSIS용 Windows 인증 사용자 설정
<a name="SSIS.Use.Auth"></a>

마스터 사용자가 다음 코드 예제를 사용하여 SSISDB에서 Windows 인증 로그인을 설정하고 필요한 절차에 대한 권한을 부여할 수 있습니다. 이렇게 하면 도메인 사용자에게 SSIS 패키지를 배포 및 실행하고, S3 파일 전송 프로시저를 사용하고, 자격 증명을 만들고, SQL Server 에이전트 프록시를 사용할 수 있는 권한이 부여됩니다. 자세한 내용은 Microsoft 설명서의 [자격 증명(데이터베이스 엔진)](https://docs.microsoft.com/en-us/sql/relational-databases/security/authentication-access/credentials-database-engine?view=sql-server-ver15) 및 [SQL Server 에이전트 프록시 생성](https://docs.microsoft.com/en-us/sql/ssms/agent/create-a-sql-server-agent-proxy?view=sql-server-ver15)을 참조하십시오.

**참고**  
필요에 따라 Windows 인증 사용자에게 다음 사용 권한 중 일부 또는 모두를 부여할 수 있습니다.

**Example**  

```
-- Create a server-level SQL login for the domain user, if it doesn't already exist
USE [master]
GO
CREATE LOGIN [mydomain\user_name] FROM WINDOWS
GO						
						
-- Create a database-level account for the domain user, if it doesn't already exist						
USE [SSISDB]
GO
CREATE USER [mydomain\user_name] FOR LOGIN [mydomain\user_name]

-- Add SSIS role membership to the domain user
ALTER ROLE [ssis_admin] ADD MEMBER [mydomain\user_name]
ALTER ROLE [ssis_logreader] ADD MEMBER [mydomain\user_name]
GO

-- Add MSDB role membership to the domain user
USE [msdb]
GO
CREATE USER [mydomain\user_name] FOR LOGIN [mydomain\user_name]

-- Grant MSDB stored procedure privileges to the domain user
GRANT EXEC ON msdb.dbo.rds_msbi_task TO [mydomain\user_name] with grant option
GRANT SELECT ON msdb.dbo.rds_fn_task_status TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.rds_task_status TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.rds_cancel_task TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.rds_download_from_s3 TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.rds_upload_to_s3 TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.rds_delete_from_filesystem TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.rds_gather_file_details TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_add_proxy TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_update_proxy TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_grant_login_to_proxy TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_revoke_login_from_proxy TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_delete_proxy TO [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_enum_login_for_proxy to [mydomain\user_name] with grant option
GRANT EXEC ON msdb.dbo.sp_enum_proxy_for_subsystem TO [mydomain\user_name]  with grant option
GRANT EXEC ON msdb.dbo.rds_sqlagent_proxy TO [mydomain\user_name] WITH GRANT OPTION


-- Add the SQLAgentUserRole privilege to the domain user
USE [msdb]
GO
ALTER ROLE [SQLAgentUserRole] ADD MEMBER [mydomain\user_name]
GO

-- Grant the ALTER ANY CREDENTIAL privilege to the domain user
USE [master]
GO
GRANT ALTER ANY CREDENTIAL TO [mydomain\user_name]
GO
```