Concedere agli utenti del database le autorizzazioni per l'esecuzione di script Python e R con i servizi di Machine Learning per SQL Server
Si applica a: SQL Server 2016 (13.x) e versioni successive Istanza gestita di SQL di Azure
Informazioni su come concedere a un utente del database l'autorizzazione per l'esecuzione di script Python e R esterni in Machine Learning Services per SQL Server e le autorizzazioni di lettura, scrittura o DDL (Data Definition Language) per i database.
Per altre informazioni, vedere la sezione sulle autorizzazioni in Panoramica della sicurezza per il framework di estendibilità.
Autorizzazione per l'esecuzione di script
Per ogni utente che esegue script Python o R con Machine Learning Services per SQL Server e che non è un amministratore, è necessario concedere l'autorizzazione per l'esecuzione di script esterni in ogni database in cui viene usato il linguaggio.
Per concedere a un utente del database l'autorizzazione per l'esecuzione di script esterni, eseguire lo script seguente:
USE <database_name>
GO
GRANT EXECUTE ANY EXTERNAL SCRIPT TO [UserName]
Nota
Le autorizzazioni non sono specifiche del linguaggio di scripting supportato. In altre parole, non esistono livelli di autorizzazione separati per script R e script Python.
Concedere autorizzazioni per il database
Mentre esegue alcuni script, un utente del database può avere bisogno di leggere dati da altri database, nonché di creare nuove tabelle per archiviare i risultati e scrivere dati nelle tabelle.
Assicurarsi che ogni account utente del database o ogni account di accesso SQL che esegue script R o Python abbia le autorizzazioni appropriate per il database specifico:
db_datareader
per la lettura dei dati.db_datawriter
per il salvataggio degli oggetti nel database.db_ddladmin
per la creazione di oggetti come stored procedure o tabelle contenenti dati sottoposti a training e serializzati.
L'istruzione Transact-SQL seguente, ad esempio, concede all'account di accesso SQL MySQLLogin i diritti per l'esecuzione di query T-SQL nel database ML_Samples. Per eseguire questa istruzione, l'account di accesso SQL deve essere già presente nel contesto di sicurezza del server. Per altre informazioni, vedere sp_addrolemember (Transact-SQL).
USE ML_Samples
GO
EXEC sp_addrolemember 'db_datareader', 'MySQLLogin'
Passaggi successivi
Per altre informazioni sulle autorizzazioni incluse in ogni ruolo, vedere Ruoli a livello di database.