Eu tenho uma pergunta sobre como adicionar permissões para um grupo de usuários em um servidor vinculado no SQL Server. Não sou especialista em segurança, por isso apelo a todos.
Aqui está o topo:
Tenho um software privado que chamarei de X instalado em um servidor virtual Hyper-V. Os usuários deste software se conectam por meio de máquinas virtuais usando a área de trabalho remota.
O aplicativo tem sua própria instância de banco de dados SQL Server. A segurança para este banco de dados é Windows Authenticated. Todos os usuários do Aplicativo X pertencem a um grupo de usuários no Windows Server 2019 Active Directory (AD).
Por outro lado, tenho um aplicativo Y (Microsoft Dynamic 365) instalado localmente em cada estação de trabalho e que possui sua própria instância SQL. O aplicativo usa um banco de dados SQL que eu também chamaria de Y.
Como gostaria de compartilhar informações entre as 2 instâncias SQL, criei um servidor vinculado na instância X à instância Y. Consegui com alguma consulta SQL para inserir, atualizar e excluir algumas informações em um banco de dados da instância Y da minha instância X. Para fazer isso, concedi a mim mesmo direitos de DB_owner no banco de dados de X.
Cheguei ao estágio de permitir que o grupo de usuários X possa executar a partir do aplicativo X usando as mesmas consultas que interagem no SQL Server Y.
No entanto, percebo que preciso criar cada usuário de X na instância SQL do aplicativo Y a partir do menu Segurança, Conexão. Minhas solicitações funcionam quando eu concedo funções DB_Owner. Eu teria pensado que poderia ter usado o mesmo grupo usado no AD para meu aplicativo X. Eu tentei bem, mas não funciona.
Não sei se isso se deve à configuração do meu servidor vinculado.
Segue a configuração que estou usando:
Alguém poderia me indicar uma solução para evitar ter que recriar todos os usuários do meu AD de X na minha instância Y e apenas vincular meu grupo X.
Com grupos deve funcionar da mesma forma que um único usuário. Você deve ter o spn adequado para conceder delegação kerberos entre as duas instâncias.
Talvez você tenha tentado de ssms para não ter feito os dois saltos para autenticação. Dessa forma, o NTLM está concedendo permissão, mas quando você estiver usando um aplicativo, precisará conceder autenticação em dois saltos e, portanto, cairá no erro de autenticação anônima que não está concedendo o login adequado ao usuário.
Por favor verifique isto.
https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/register-a-service-principal-name-for-kerberos-connections?view=sql-server-ver15