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.