다음을 통해 공유


데이터베이스 사용자에게 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 스크립트에 대한 별도의 사용 권한 수준이 없습니다.

Grant 데이터베이스 사용 권한

데이터베이스 사용자가 스크립트를 실행하는 동안 해당 데이터베이스 사용자는 다른 데이터베이스에서 데이터를 읽어야 할 수 있습니다. 또한 데이터베이스 사용자는 결과를 저장하기 위해 새 테이블을 만들고 테이블에 데이터를 기록해야 할 수도 있습니다.

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'

다음 단계

각 역할에 포함된 권한에 대한 자세한 정보는 데이터베이스 수준 역할을 참조하세요.