Conexión a SQL Azure sin secretos
Neste post, mostrarei como se conectar ao SQL Azure sem usar segredos, usando o Active Directory do Azure.
Introdução
Com o GitHub Advanced Security, você pode verificar seu código em busca de segredos e vulnerabilidades em sua base de código e histórico do git usando Varredura secreta ou até mesmo ir um passo além e usar Proteção contra empurrões para evitar que segredos sejam enviados para o seu repositório. Esta é uma grande característica, mas não é suficiente. Você precisa proteger seus segredos, e você precisa girá-los. Neste post, mostrarei como se conectar ao SQL Azure sem usar segredos, usando o Active Directory do Azure. Isso se aplica a usuários, identidades gerenciadas e entidades de serviço.
Habilitando a autenticação do Active Directory do Azure no SQL Azure
Primeiro, precisamos verificar se a autenticação do Active Directory do Azure está habilitada no SQL Azure.
Adicionando usuários ao SQL Azure e atribuindo permissões
Para fazer isso, precisamos nos conectar ao servidor do SQL Azure usando o SSMS e executar a consulta a seguir que cria um usuário de uma conta do Active Directory do Azure e atribui a db_datareader função a ele. Você pode saber mais sobre o Funções SQL aqui.
CREATE USER [<user@AAD-tenant-domain>] FROM EXTERNAL PROVIDER;
ALTER ROLE db_datareader ADD MEMBER [<user@AAD-tenant-domain>];
Exemplo:
Nota: Você pode fazer isso no nível do servidor ou no nível do banco de dados. Se você fizer isso no nível do servidor, o usuário terá acesso a todos os bancos de dados no servidor. Se você fizer isso no nível do banco de dados, o usuário só terá acesso a esse banco de dados.
Como mencionado, você também pode usar identidades gerenciadas e entidades de serviço. Aqui está um exemplo de como ele se parece ao usar uma identidade gerenciada:
CREATE USER [name-of-the-object] FROM EXTERNAL PROVIDER;
ALTER ROLE db_datareader ADD MEMBER [name-of-the-object];
Exemplo:
Conectando-se ao SQL Azure usando o Active Directory do Azure
Agora que temos a autenticação do Active Directory do Azure habilitada no SQL Azure e adicionamos usuários e permissões atribuídas, podemos nos conectar ao SQL Azure usando o Azure Active Directory.
A cadeia de caracteres connectiong tem esta aparência:
Server=tcp:<my-sql-server>.database.windows.net,1433;Initial Catalog=<my-database>;Authentication="Active Directory Integrated";
Conclusão
Suas conexões com o SQL Azure agora são mais seguras e sem usar segredos usando o Active Directory do Azure.