Azure SQL Database – Azure Active Directory Authentication

No post anterior (link) expliquei como utilizar SQL Authentication para permitir acesso do Azure SQL Database e agora vamos ver como utilizar o Azure Active Directory Authentication.

Recapitulando! Nesse momento o Azure SQL Database permite dois tipos de autenticação:

  • SQL Authentication
    • A identidade é através de um usuário e senha. Quando você está criando um servidor logico você define um “server admin” que irá usar esse tipo de autenticação para se conectar a qualquer database.
  • Azure Active Directory Authentication
    • A identidade é gerenciada pelo Azure Active Directory e aqui você tem várias opções de identidade, não sou especialista nessa área, mas tentarei mostrar um pouco de como utilizar. Se você quiser usar esse tipo de autenticação, você deve criar outro administrador do servidor chamado “Administrador do Azure AD”, que tem permissão para administrar usuários e grupos do Azure AD. Este administrador também pode executar todas as operações que um administrador do servidor normal pode. Esse novo administrador também pode ser um grupo de usuários.

Azure Active Directory Authentication

Aqui a brincadeira começa a ficar interessante e uma vez que não sou especialista nessa área de AD irei mostrar como utilizar recursos nativos sem criar cenários complexos.

Criando usuário no Azure AD

Acesse o Azure AD através do Azure portal para criar usuários e grupo de usuários

Comece pelo grupo de usuário que irá administrar o servidor logico do Azure SQL Database.

Agora crie um novo usuário e aqui tem um jeito diferente para utilizar pois não temos um domino criado para vincular, mas sua conta do Azure tem um domínio vinculado.

Porem existe uma forma de utilizar o domain name para criar um usuário onde o user name deve ser: <name>@<domain name>, por exemplo deadpool@seudominio.onmicrosoft.com

Uma vez que você criou o usuário e verificou a senha que vem predefina já pode começar a usar porem eu esqueci alguma vezes de verificar qual a senha! Não tem problema é possível alterar a senha. Acesso o usuário e é possível usar a opção Reset password porem você pode definir uma senha, mas dessa vez você deve guardar essa senha pois ela é temporária.

Agora que o usuário está criado e senha é temporária, devemos alterar essa senha e para isso acesse o portal do Azure e faça login com o usuário e senha. Dessa forma será solicitado para que você altere a senha.

Para confirmar que você está utilizando o usuário que acabou de criar verifique o canto superior direito.

Definir Active Directory Admin

Agora que já tem o usuário e senha prontos, vamos para o servidor logico e configurar o outro administrador, o Active Directory Admin

Simplesmente acesse o seu servidor logico, procure a opção Active Directory Admin e adicione um novo usuário ou grupo. No meu caso eu vou utilizar o grupo no qual vinculei o usuário.

Você deve ter agora configurado dois administradores do seu Azure SQL Database, um Server Admin e outro Active Directory Admin

Usando Powershell para configurar um Active Directory Admin

Login-AzureRmAccount

#Verifica qual grupo/usuario configurado como adminstrador
Get-AzureRmSqlServerActiveDirectoryAdministrator -ServerName balabuchsqldb -ResourceGroupName SQL-database

#Define um grupo/usuario como adminstrador
Set-AzureRmSqlServerActiveDirectoryAdministrator -ServerName balabuchsqldb -ResourceGroupName SQL-database -DisplayName SQL-Admin

# Remove um grupo/usuario como adminstrador
Remove-AzureRmSqlServerActiveDirectoryAdministrator -ServerName balabuchsqldb -ResourceGroupName SQL-database

Acessando o database

Agora utilize o SSMS para se conectar no Azure SQL Database, lembre-se que você deve configurar o firewall (link).

Primeiramente eu utilizei a opção de autenticação: Active Directory Universal Authentication. Isso fará que uma janela seja levantada para autenticação onde você deve colocar usuário e senha.

Finalmente depois de realizar todos esses passos você conseguiu acesso ao Azure SQL Database como administrador

Mas e se eu não quiser acessar como administrador, como fazer? Siga os passos para criar um novo usuário igual acima porem não inclua esse usuário no grupo de SQL-ADMIN.

Acesse o SQL Azure Database com um Active Directory Admin, isso é obrigatório pois apenas esse usuário/grupo pode criar outros usuários de AD, escolha o database para se conectar, no meu caso dbMarvel, e eu criei um usuário chamado loki

CREATE USER [loki@seudominio.onmicrosoft.com] FROM EXTERNAL PROVIDER

Agora você pode utilizar a opção Active Directory Password Authentication:

Uma vez que temos um usuário criado podemos conceder ou revogar permissões da mesma forma que fazemos hoje no SQL Server e isso fica para um futuro post!

Dessa forma nos utilizamos dois métodos de autenticação novos que devemos começar a nos acostumar, eu acredito que esse tipo de autenticação irá se tornar mais comuns nos próximos anos!

 

 

 

 

 

 

Algumas referências:

https://docs.microsoft.com/en-us/azure/sql-database/sql-database-aad-authentication

https://docs.microsoft.com/en-us/azure/sql-database/sql-database-aad-authentication-configure

https://docs.microsoft.com/en-us/azure/sql-database/sql-database-manage-logins

https://blogs.msdn.microsoft.com/sqlsecurity/2015/09/28/examples-of-some-connection-errors-for-azure-active-directory-authentication/

Maníaco, entusiasta, fascinado, fanático por SQL Server e nas horas vagas um DBA que adora o que faz! Também possui certificações como: MCT, MCSE - Data Management and Analystics, MCSE - Data Plataform e MCSA - SQL Server 2016/2014/2012

Responda