데이터베이스 사용자에게 SQL Server Machine Learning Services를 사용하여 Python 및 R 스크립트를 실행할 수 있는 권한 부여

적용 대상: SQL Server 2016(13.x) 이상 Azure SQL Managed Instance

데이터베이스 사용자에게 SQL Server Machine Learning Services에서 외부 Python 및 R 스크립트를 실행할 수 있는 권한을 부여하고, 데이터베이스에 대한 읽기, 쓰기 또는 DDL(데이터 정의 언어) 권한을 부여하는 방법을 알아봅니다.

자세한 내용은 확장성 프레임워크에 대한 보안 개요의 사용 권한 섹션을 참조하세요.

스크립트 실행 권한

SQL Server Machine Learning Services를 사용하여 Python 또는 R 스크립트를 실행하는 각 사용자와 관리자가 아닌 사용자에 대해 해당 언어가 사용되는 각 데이터베이스에서 외부 스크립트를 실행할 수 있는 권한을 부여해야 합니다.

데이터베이스 사용자에게 외부 스크립트를 실행할 수 있는 권한을 부여하려면 다음 스크립트를 실행합니다.

USE <database_name>
GO
GRANT EXECUTE ANY EXTERNAL SCRIPT TO [UserName]

참고

사용 권한은 지원되는 스크립트 언어에 한정되지 않습니다. 즉, R 스크립트와 Python 스크립트에 대한 별도의 사용 권한 수준이 없습니다.

데이터베이스 사용 권한 부여

데이터베이스 사용자는 스크립트를 실행하는 동안 다른 데이터베이스의 데이터를 읽어야 할 수도 있습니다. 데이터베이스 사용자는 결과를 저장할 새 테이블을 만들고 테이블에 데이터를 써야 할 수도 있습니다.

R 또는 Python 스크립트를 실행하는 각 데이터베이스 사용자 계정 또는 SQL 로그인의 경우, 특정 데이터베이스에 대한 적절한 권한이 있는지 확인합니다.

  • 데이터를 읽으려면 db_datareader.
  • 개체를 데이터베이스에 저장하려면 db_datawriter.
  • 학습 및 직렬화된 데이터를 포함하는 테이블, 저장 프로시저 등의 개체를 만들려면 db_ddladmin.

예를 들어 다음 Transact-SQL 문은 ML_Samples 데이터베이스에서 T-SQL 쿼리를 실행할 수 있는 권한을 SQL 로그인 MySQLLogin에 부여합니다. 이 문을 실행하려면 SQL 로그인이 서버의 보안 컨텍스트에 이미 있어야 합니다. 자세한 내용은 sp_addrolemember(Transact-SQL)를 참조하세요.

USE ML_Samples
GO
EXEC sp_addrolemember 'db_datareader', 'MySQLLogin'

다음 단계

각 역할에 포함된 사용 권한에 대한 자세한 내용은 데이터베이스 수준 역할을 참조하세요.