Sdílet prostřednictvím


Udělení oprávnění uživatelům databáze ke spouštění skriptů Pythonu a R pomocí služby SQL Server Machine Learning Services

Platí pro: SQL Server 2016 (13.x) a novější verze Azure SQL Managed Instance

Zjistěte, jak můžete uživateli databáze udělit oprávnění ke spouštění externích skriptů Pythonu a R ve službě SQL Server Machine Learning Services a udělit databázím oprávnění ke čtení, zápisu nebo jazyku DDL (Data Definition Language).

Další informace najdete v části Oprávnění v přehledu zabezpečení pro architekturu rozšiřitelnosti.

Oprávnění ke spouštění skriptů

Pro každého uživatele, který spouští skripty Pythonu nebo R se službou SQL Server Machine Learning Services a kteří nejsou správcem, musíte jim udělit oprávnění ke spouštění externích skriptů v každé databázi, ve které se používá jazyk.

Pokud chcete uživateli databáze udělit oprávnění ke spuštění externího skriptu, spusťte následující skript:

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

Poznámka:

Oprávnění nejsou specifická pro podporovaný skriptovací jazyk. Jinými slovy, neexistují samostatné úrovně oprávnění pro skript jazyka R a skript Pythonu.

Udělení oprávnění k databázi

Zatímco uživatel databáze spouští skripty, uživatel databáze může potřebovat číst data z jiných databází. Uživatel databáze může také potřebovat vytvořit nové tabulky pro ukládání výsledků a zapisovat data do tabulek.

Pro každý uživatelský účet databáze nebo přihlášení SQL, na kterém běží skripty jazyka R nebo Python, se ujistěte, že má příslušná oprávnění ke konkrétní databázi:

  • db_datareader ke čtení dat.
  • db_datawriter pro uložení objektů do databáze.
  • db_ddladmin vytvářet objekty, jako jsou uložené procedury nebo tabulky obsahující natrénovaná a serializovaná data.

Například následující příkaz Transact-SQL poskytuje přihlašovací jméno SQL MySQLLogin oprávnění ke spouštění dotazů T-SQL v databázi ML_Samples . Pokud chcete tento příkaz spustit, musí přihlášení SQL již existovat v kontextu zabezpečení serveru. Další informace najdete v tématu sp_addrolemember (Transact-SQL).

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

Další kroky

Další informace o oprávněních zahrnutých v jednotlivých rolích najdete v tématu Role na úrovni databáze.