Partilhar via


Conceder permissão aos usuários do banco de dados para executar scripts Python e R com os Serviços de Aprendizado de Máquina do SQL Server

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

Saiba como você pode conceder permissão a um usuário de banco de dados para executar scripts Python e R externos nos Serviços de Aprendizado de Máquina do SQL Server e conceder permissões de leitura, gravação ou DDL (linguagem de definição de dados) para bancos de dados.

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

Permissão para executar scripts

Para cada usuário que executa scripts Python ou R com os Serviços de Aprendizado de Máquina do SQL Server e que não é um administrador, você deve conceder a eles a permissão para executar scripts externos em cada banco de dados onde a linguagem é usada.

Para conceder permissão a um usuário de banco de dados para executar scripts externos, 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 para a linguagem de script suportada. Em outras palavras, não há níveis de permissão separados para script R versus script Python.

Conceder permissões de banco de dados

Enquanto um usuário de banco de dados está executando scripts, o usuário do banco de dados pode precisar ler dados de outros bancos de dados. O usuário do banco de dados também pode precisar criar novas tabelas para armazenar resultados e gravar dados em tabelas.

Para cada conta de usuário de banco de dados ou login SQL que esteja executando scripts R ou Python, verifique se ele tem as permissões apropriadas 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 contendo dados treinados e serializados.

Por exemplo, a instrução Transact-SQL a seguir dá ao login 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 obter mais informações, consulte sp_addrolemember (Transact-SQL).

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

Próximos passos

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