Memberikan izin pengguna database untuk menjalankan skrip Python dan R dengan SQL Server Pembelajaran Mesin Services
Berlaku untuk: SQL Server 2016 (13.x) dan Azure SQL Managed Instance yang lebih baru
Pelajari cara memberikan izin pengguna database untuk menjalankan skrip Python dan R eksternal di SQL Server Pembelajaran Mesin Services dan memberikan izin baca, tulis, atau bahasa definisi data (DDL) ke database.
Untuk informasi selengkapnya, lihat bagian izin di Gambaran umum keamanan untuk kerangka kerja ekstensibilitas.
Izin untuk menjalankan skrip
Untuk setiap pengguna yang menjalankan skrip Python atau R dengan SQL Server Pembelajaran Mesin Services, dan yang bukan administrator, Anda harus memberi mereka izin untuk menjalankan skrip eksternal di setiap database tempat bahasa digunakan.
Untuk memberikan izin kepada pengguna database untuk menjalankan skrip eksternal, jalankan skrip berikut:
USE <database_name>
GO
GRANT EXECUTE ANY EXTERNAL SCRIPT TO [UserName]
Catatan
Izin tidak spesifik untuk bahasa skrip yang didukung. Dengan kata lain, tidak ada tingkat izin terpisah untuk skrip R versus skrip Python.
Memberikan izin database
Saat pengguna database menjalankan skrip, pengguna database mungkin perlu membaca data dari database lain. Pengguna database mungkin juga perlu membuat tabel baru untuk menyimpan hasil, dan menulis data ke dalam tabel.
Untuk setiap akun pengguna database atau login SQL yang menjalankan skrip R atau Python, pastikan akun tersebut memiliki izin yang sesuai pada database tertentu:
db_datareader
untuk membaca data.db_datawriter
untuk menyimpan objek ke database.db_ddladmin
untuk membuat objek seperti prosedur atau tabel tersimpan yang berisi data terlatih dan berseri.
Misalnya, pernyataan Transact-SQL berikut memberikan SQL login MySQLLogin hak untuk menjalankan kueri T-SQL di database ML_Samples . Untuk menjalankan pernyataan ini, login SQL harus sudah ada dalam konteks keamanan server. Untuk informasi selengkapnya, lihat sp_addrolemember (Transact-SQL).
USE ML_Samples
GO
EXEC sp_addrolemember 'db_datareader', 'MySQLLogin'
Langkah berikutnya
Untuk informasi selengkapnya tentang izin yang disertakan dalam setiap peran, lihat Peran tingkat database.