Controle de identidade e acesso (Service Broker)

Aplica-se a:SQL ServerAzure SQL Managed Instance

A maioria dos aplicativos do Service Broker que envolvem mais de uma instância é executada no contexto de segurança de uma entidade de banco de dados criada especificamente para o aplicativo. Essas entidades de banco de dados devem ter as permissões mínimas necessárias para realizar as tarefas que o aplicativo executa.

As considerações a seguir se aplicam a entidades de banco de dados criadas para aplicativos do Service Broker:

  • A autorização remota do Service Broker se aplica quando um aplicativo remoto do Service Broker se conecta ao SQL Server e entrega uma mensagem à instância. A entidade de banco de dados especificada para autorização remota deve ter CONNECT permissão no banco de dados que hospeda o serviço inicial e deve ter SEND permissão para o próprio serviço iniciador. O usuário deve possuir o certificado usado para autenticação. Não há requisitos para que o usuário possua outros objetos, tenha outras permissões ou possa fazer login com qualquer outro mecanismo.

  • Para que uma entidade de banco de dados inicie uma conversa, essa entidade deve ter RECEIVE permissões na fila para o serviço inicial.

  • A entidade de banco de dados proprietária do serviço inicial deve ter SEND permissões no serviço de destino.

  • Para que uma entidade de banco de dados envie mensagens para um serviço, essa entidade de segurança deve ter SEND permissões no serviço. Para serviços hospedados em uma instância diferente, a segurança da caixa de diálogo do Service Broker determina a entidade do banco de dados na instância remota. Para obter mais informações, consulte Segurança da caixa de diálogo do Service Broker. O Service Broker não considera a associação a funções do Windows ao verificar SEND permissões.

  • O usuário especificado como o usuário para um procedimento armazenado de ativação deve ter permissão para executar o procedimento. Freqüentemente, o usuário especificado tem as permissões necessárias para executar as instruções no procedimento. No entanto, se o procedimento armazenado em si for definido com uma EXECUTE AS cláusula, as instruções no procedimento armazenado serão executadas com o contexto de segurança definido pelo procedimento armazenado. O SQL Server primeiro define o contexto de segurança para o usuário especificado para a fila. Em seguida, o SQL Server executa o procedimento armazenado e o procedimento armazenado altera o contexto de segurança para o usuário especificado para o procedimento.

  • Quando a segurança de transporte do Service Broker usa SSPI, a conta de serviço do banco de dados remoto deve ter CONNECT permissão no mastere também deve corresponder a um logon. Portanto, a conta que a instância remota do SQL Server executa como deve ter permissão para entrar no SQL Server usando a Autenticação do Windows. Não há requisitos para que o logon tenha outras permissões ou possua objetos em qualquer banco de dados.