Bagikan melalui


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.