Conceder permissão de usuário do banco de dados para executar scripts do Python e do R com os Serviços de Machine Learning do SQL Server

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores Instância Gerenciada de SQL do Azure

Saiba como conceder uma permissão de usuário do banco de dadospara executar scripts do Python e do R externos nos Serviços de Machine Learning do SQL Server e conceder permissões de leitura, gravação ou DDL (linguagem de definição de dados) em bancos de dados.

Para obter mais informações, confira a seção de permissões em Visão geral de segurança da estrutura de extensibilidade.

Permissão para executar scripts

Você precisará conceder permissão, a cada usuário que executa scripts do R ou do Python com os Serviços de Machine Learning do SQL Server e que não tem status de administrador, para executar scripts externos em cada banco de dados em que a linguagem é usada.

Para conceder permissão para um usuário do banco de dados para executar o script externo, execute o seguinte script:

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

Observação

As permissões não são específicas da linguagem de script compatível. Em outras palavras, não há níveis de permissão separados para o script R versus o script Python.

Conceder permissões de banco de dados

Enquanto um usuário do banco de dados está executando scripts, talvez ele precise ler dados de outros bancos de dados. O usuário do banco de dados também pode precisar criar tabelas para armazenar os resultados e gravar dados nas tabelas.

Para cada conta de usuário do banco de dados ou logon do SQL que esteja executando scripts de R ou Python, verifique se as permissões apropriadas estão presentes no banco de dados específico:

  • db_datareader para ler dados.
  • db_datawriter para salvar objetos no banco de dados.
  • db_ddladmin para criar objetos como procedimentos armazenados ou tabelas que contêm dados treinados e serializados.

Por exemplo, a instrução Transact-SQL a seguir concede ao logon SQL MySQLLogin os direitos para executar consultas T-SQL no banco de dados ML_Samples. Para executar essa instrução, o logon SQL já deve existir no contexto de segurança do servidor. Para saber mais, consulte sp_addrolemember (Transact-SQL).

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

Próximas etapas

Para obter mais informações sobre as permissões incluídas em cada função, confira Funções em nível de banco de dados.