Exercício – Configurar a autenticação

Concluído

Neste exercício, você criará logons, usuários e administradores e concederá aos usuários do Microsoft Entra acesso ao banco de dados, como faria para usuários normais no SQL Server.

  1. Abra o SQL Server Management Studio (SSMS) e conecte-se ao servidor lógico do Banco de Dados SQL do Azure, se ainda não estiver conectado.

  2. Depois de estabelecer ligação e configurar a base de dados, poderá ter de adicionar outros utilizadores e conceder-lhes acesso. Tal como no SQL Server, pode adicionar novos utilizadores e inícios de sessão.

    No SSMS, clique com o botão direito do mouse no servidor de banco de dados, selecione Nova Consulta e crie uma nova consulta com o comando a seguir. Selecione Executar para executar a consulta:

    -- Create a new SQL login and give them a password
    CREATE LOGIN ApplicationUser WITH PASSWORD = 'YourStrongPassword1';
    

    Gorjeta

    Para a maioria das consultas na Base de Dados SQL do Azure, tem de clicar com o botão direito do rato na base de dados no servidor lógico da Base de Dados SQL do Azure. No SQL Server e na Instância Gerenciada SQL do Azure, você pode consultar no nível do servidor e usar USE <DatabaseName>, mas no Banco de Dados SQL do Azure, você deve consultar o banco de dados diretamente. Isto deve-se ao facto de a instrução USE não ser suportada. Há algumas exceções para consultar seu banco de dados no Banco de Dados SQL do Azure, e uma delas são logons. Você deve se conectar ao banco de dados virtual master para criar e alterar logins.

    Tem agora um início de sessão ao nível do servidor. O próximo passo é criar usuários no AdventureWorks banco de dados e dar-lhes acesso de leitura/gravação, se necessário. Clique com o botão direito do mouse no banco AdventureWorks de dados e selecione Nova consulta. Crie uma nova consulta com o seguinte comando e selecione Executar:

    -- Create a new SQL user from that login
    CREATE USER ApplicationUser FOR LOGIN ApplicationUser;
    
    -- Until you run the following two lines, ApplicationUser has no access to read or write data
    ALTER ROLE db_datareader ADD MEMBER ApplicationUser;
    ALTER ROLE db_datawriter ADD MEMBER ApplicationUser;
    

    Os utilizadores só poderão iniciar sessão na base de dados AdventureWorks e não em todo o servidor.

    A melhor prática consiste em criar contas não administrativas ao nível da base de dados, a menos que os utilizadores tenham de executar tarefas de administrador.

  3. No SQL Server, poderá estar familiarizado com o conceito de utilizador de uma base de dados contida. Isto significa que um utilizador só tem acesso a bases de dados específicas e não tem um início de sessão no servidor. Em seu Banco de Dados SQL do Azure, você pode criar usuários de banco de dados contidos com autenticação SQL ou autenticação Microsoft Entra. Você deve estar no contexto do banco de dados de usuário ao qual deseja criar acesso de usuário (em vez de estar em master). No SSMS, clique com o botão direito do mouse no banco de dados e selecione Nova consulta. Crie uma nova consulta com o seguinte comando e selecione Executar:

    CREATE USER MyDatabaseUser WITH PASSWORD = 'C0mpl3xPa55word!'
    
  4. Selecione Conectar no canto superior esquerdo do Pesquisador de Objetos e, em seguida, selecioneMecanismo de Banco de Dados. Configure a página principal para que você esteja se conectando ao seu servidor lógico do Banco de Dados SQL do Azure. Em Início de sessão, introduza MyDatabaseUser e, em Palavra-passe, escreva C0mpl3xPa55word!.

  5. Também tem de definir o nome da base de dados, o que pode fazer ao aceder a Opções>Parâmetros de Ligação Adicionais, onde pode introduzir Initial Catalog=AdventureWorks. Tem de o fazer manualmente, uma vez que o MyDatabaseUser não tem acesso para analisar o servidor para selecionar uma base de dados.

  6. Selecione Ligar e, em seguida, confirme se consegue aceder à base de dados.

  7. Como etapa de limpeza, clique com o botão direito do mouse na conexão de MyDatabaseUser e selecione Desconectar.

Conceder acesso a outros usuários do Microsoft Entra

Você pode criar logons de contas do Microsoft Entra como um usuário de banco de dados contido usando a CREATE USER [anna@contoso.com] FROM EXTERNAL PROVIDER sintaxe T-SQL. Um usuário de banco de dados contido mapeia para uma identidade no diretório do Microsoft Entra associado ao banco de dados e não tem login no master banco de dados.

Com a introdução de logons de servidor do Microsoft Entra no Banco de Dados SQL do Azure, você pode criar logons de entidades do Microsoft Entra no banco de dados virtual master de um Banco de Dados SQL. Você pode criar logons do Microsoft Entra a partir de usuários, grupos e entidades de serviço do Microsoft Entra. Para obter mais informações, consulte Entidades de servidor do Microsoft Entra

Além disso, você pode usar o portal do Azure apenas para criar administradores, e as funções de controle de acesso baseadas em função do Azure não se propagam para os servidores lógicos do Banco de Dados SQL do Azure. Ter de conceder permissões adicionais ao nível do servidor e da base de dados através do Transact-SQL (T-SQL).