Compartilhar via


Usar identidades gerenciadas para acessar o Banco de Dados SQL do Azure ou o Azure Synapse Analytics por meio de um trabalho do Azure Stream Analytics

O Azure Stream Analytics dá suporte à Autenticação de identidade gerenciada para os coletores de saída do Banco de Dados SQL do Azure e do Azure Synapse Analytics. Identidades gerenciadas eliminam as limitações dos métodos de autenticação baseados em usuário, como a necessidade de autenticar novamente devido a alterações de senha ou expirações de token de usuário que ocorrem a cada 90 dias. Quando você remove a necessidade de autenticar manualmente, suas implantações do Stream Analytics podem ser totalmente automatizadas.

Uma identidade gerenciada é um aplicativo gerenciado registrado no Microsoft Entra ID que representa um determinado trabalho do Stream Analytics. O aplicativo gerenciado é usado para autenticar um recurso de destino. Este artigo mostra como habilitar a Identidade Gerenciada para uma ou mais saídas do Banco de Dados SQL do Azure e do Azure Synapse Analytics de um trabalho do Stream Analytics por meio do portal do Azure.

Visão geral

Este artigo mostra as etapas necessárias para conectar seu trabalho do Stream Analytics ao pool de SQL do Azure Synapse Analytics ou do Banco de Dados SQL do Azure usando o modo de autenticação de Identidade Gerenciada.

  • Primeiro, crie uma identidade gerenciada atribuída pelo sistema para seu trabalho do Stream Analytics. Essa é a identidade do seu trabalho no Microsoft Entra ID.

  • Adicione um administrador de Active Directory ao seu servidor SQL ou workspace do Synapse, que habilita a autenticação do (Identidade Gerenciada) do Microsoft Entra ID para esse recurso.

  • Em seguida, crie um usuário independente representando a identidade do trabalho do Stream Analytics no banco de dados. Sempre que o trabalho do Stream Analytics interagir com o recurso do BD SQL ou do BD SQL do Synapse, essa é a identidade à qual ele fará referência para verificar quais permissões o trabalho do Stream Analytics tem.

  • Conceda permissões ao trabalho do Stream Analytics para acessar os pools do Banco de Dados SQL ou do SQL do Synapse.

  • Por fim, adicione seu Banco de Dados SQL do Azure/Azure Synapse Analytics como saída no trabalho do Stream Analytics.

Pré-requisitos

Esse recurso exige o uso dos seguintes requisitos:

  • Um trabalho do Azure Stream Analytics.

  • Um recurso do Banco de Dados SQL do Azure.

Criar uma identidade gerenciada

Primeiro, você cria uma identidade gerenciada para seu trabalho do Azure Stream Analytics.

  1. No portal do Azure, abra seu trabalho do Azure Stream Analytics.

  2. No menu de navegação à esquerda, selecione Identidade Gerenciada localizada em Configurar. Em seguida, marque a caixa ao lado de Usar a Identidade Gerenciada atribuída ao sistema e selecione Salvar.

    Select system-assigned managed identity

    Uma entidade de serviço para a identidade de trabalho do Stream Analytics é criada no Microsoft Entra ID. O ciclo de vida da identidade que acaba de ser criada é gerenciado pelo Azure. Quando o trabalho do Stream Analytics é excluído, a identidade associada (ou seja, a entidade de serviço) é excluída automaticamente pelo Azure.

  3. Você também pode alternar para identidade gerenciada atribuída pelo usuário.

  4. Ao salvar a configuração, a OID (ID do objeto) da entidade de serviço é listada como a ID da Entidade de Segurança conforme mostrado abaixo:

    Object ID shown as Principal ID

    A entidade de serviço tem o mesmo nome que o trabalho do Stream Analytics. Por exemplo, se o nome do seu trabalho for MyASAJob, o nome da entidade de serviço também será MyASAJob.

Selecione um administrador do Active Directory

Depois de criar uma identidade gerenciada, selecione um administrador do Active Directory.

  1. Navegue até o recurso do Banco de Dados SQL do Azure ou do Pool de SQL do Azure Synapse Analytics e selecione o SQL Server ou Synapse Workspace no qual o recurso está, respectivamente. Você pode encontrar o link para eles na página de visão geral do recurso ao lado do Nome do servidor ou do nome do Workspace.

  2. Selecione Administrador do Active Directory ou Administrador do Active Directory do SQL em Configurações, para SQL Server e Workspace do Synapse, respectivamente. Em seguida, selecione Definir administrador.

    Active Directory admin page

  3. Na página Administrador do Active Directory, procure um usuário ou grupo para ser um administrador do SQL Server e clique em Selecionar. Esse será o usuário que poderá criar o Usuário de Banco de Dados Independente na próxima seção.

    Add Active Directory admin

    A página de administração do Active Directory mostra todos os membros e grupos do Active Directory. Usuários ou grupos esmaecidos não podem ser selecionados, pois não têm suporte como administradores do Microsoft Entra. Confira a lista de administradores com suporte na seção Limitações e recursos do Microsoft Entra de Usar o Microsoft Entra para autenticação com o Banco de Dados SQL ou o Azure Synapse.

  4. Selecione Salvar na página Administrador do Active Directory. O processo para alterar o administrador leva alguns minutos.

Criação de um usuário de banco de dados independente

Em seguida, crie um usuário de banco de dados independente no banco de dados do SQL do Azure ou do Azure Synapse, mapeado para a identidade do Microsoft Entra. O usuário de banco de dados independente não tem um logon para o banco de dados primário, mas é mapeado para uma identidade no diretório associado ao banco de dados. A identidade do Microsoft Entra pode ser uma conta de usuário individual ou um grupo. Nesse caso, crie um usuário de banco de dados independente para seu trabalho do Stream Analytics.

Para obter mais informações, revise o seguinte artigo para saber mais sobre a integração do Microsoft Entra: Autenticação Universal com o Banco de Dados SQL e o Azure Synapse Analytics (suporte do SSMS para MFA)

  1. Conecte-se ao SQL do Azure ou ao banco de dados do Azure Synapse usando o SQL Server Management Studio. O Nome de usuário é um usuário do Microsoft Entra com a permissão ALTER ANY USER. O administrador definido no SQL Server é um exemplo. Use a autenticação Microsoft Entra ID – Universal com MFA.

    Connect to SQL Server

    O nome do servidor <SQL Server name>.database.windows.net pode ser diferente em regiões diferentes. Por exemplo, a região da China deve usar <SQL Server name>.database.chinacloudapi.cn.

    Você pode especificar um banco de dados do SQL do Azure ou do Azure Synapse específico acessando Opções > Propriedades de Conexão > Conectar-se ao Banco de Dados.

    SQL Server connection properties

  2. Ao se conectar pela primeira vez, você poderá encontrar a seguinte janela:

    New firewall rule window

    1. Nesse caso, navegue até o recurso do SQL Server/Workspace do Synapse no portal do Azure. Na seção Segurança, abra a página Firewalls e rede virtual/Firewalls.
    2. Adicione uma nova regra com qualquer nome de regra.
    3. Use o endereço IP De na janela Nova Regra de Firewall para a IP inicial.
    4. Use o endereço IP Para na janela Nova Regra de Firewall para a IP final.
    5. Selecione Salvar e tente se conectar ao SQL Server Management Studio novamente.
  3. Quando você estiver conectado, crie o usuário de banco de dados independente. O comando SQL a seguir cria um usuário de banco de dados independente que tem o mesmo nome que o seu trabalho do Stream Analytics. Certifique-se de incluir os colchetes em torno do ASA_JOB_NAME. Use a sintaxe T-SQL a seguir e execute a consulta.

    CREATE USER [ASA_JOB_NAME] FROM EXTERNAL PROVIDER;
    

    Para verificar se você adicionou o usuário de banco de dados independente corretamente, execute o seguinte comando no SSMS no banco de dados pertinente e verifique se o ASA_JOB_NAME está na coluna "nome".

    SELECT * FROM <SQL_DB_NAME>.sys.database_principals
    WHERE type_desc = 'EXTERNAL_USER'
    
  4. Para que o Microsoft Entra ID da Microsoft verifique se o trabalho do Stream Analytics tem acesso ao Banco de Dados SQL, é necessário conceder permissão ao Microsoft Entra para se comunicar com o banco de dados. Para fazer isso, vá para a página "Firewalls e rede virtual/Firewalls" no portal do Azure novamente e habilite "Permitir que os serviços e recursos do Azure acessem este servidor".

    Firewall and virtual network

Conceder permissões de trabalho ao Stream Analytics

Depois que você criar um usuário de banco de dados independente e dar acesso aos serviços do Azure no portal, conforme descrito na seção anterior, seu trabalho do Stream Analytics terá permissão da Identidade Gerenciada para CONNECT (conectar-se) ao recurso de banco de dados do SQL do Azure via identidade gerenciada. Recomendamos que você conceda as permissões SELECT e INSERT ao trabalho do Stream Analytics, pois elas serão necessárias mais tarde no fluxo de trabalho desse serviço. A permissão SELECT possibilita que o trabalho teste sua conexão com a tabela no Banco de Dados SQL do Azure. A permissão INSERT possibilita o teste de consultas do Stream Analytics de ponta a ponta depois que você configura uma entrada e a saída do banco de dados SQL do Azure.

Você pode conceder essas permissões para o trabalho do Stream Analytics usando o SQL Server Management Studio. Para obter mais informações, consulte a referência GRANT (Transact-SQL).

Para conceder permissão apenas a uma determinada tabela ou objeto no banco de dados, use a sintaxe T-SQL a seguir e execute a consulta.

GRANT CONNECT TO ASA_JOB_NAME;
GRANT SELECT, INSERT ON OBJECT::TABLE_NAME TO ASA_JOB_NAME;

Como alternativa, você pode clicar com o botão direito do mouse no banco de dados do SQL do Azure ou do Azure Synapse no SQL Server Management Studio e selecionar Propriedades > Permissões. No menu permissões, você pode ver o trabalho do Stream Analytics que você adicionou anteriormente e pode conceder ou negar manualmente as permissões como desejar.

Para examinar todas as permissões que você adicionou ao usuário ASA_JOB_NAME, execute o seguinte comando no SSMS no banco de dados pertinente:

SELECT dbprin.name, dbprin.type_desc, dbperm.permission_name, dbperm.state_desc, dbperm.class_desc, object_name(dbperm.major_id)
FROM sys.database_principals dbprin
LEFT JOIN sys.database_permissions dbperm
ON dbperm.grantee_principal_id = dbprin.principal_id
WHERE dbprin.name = '<ASA_JOB_NAME>'

Criar um Banco de Dados SQL do Azure ou uma saída do Azure Synapse

Observação

Ao usar a MI (Instância Gerenciada de SQL) como uma entrada de referência, você deve configurar um ponto de extremidade público em sua Instância Gerenciada de SQL. Você deve especificar o nome de domínio totalmente qualificado com a porta ao configurar a propriedade de banco de dados. Por exemplo: sampleserver.public.database.windows.net,3342.

Agora que sua identidade gerenciada está configurada, você está pronto para adicionar uma saída do Banco de Dados SQL do Azure ou do Azure Synapse ao trabalho do Stream Analytics.

Verifique se você criou uma tabela em seu Banco de Dados SQL com o esquema de saída adequado. O nome desta tabela é uma das propriedades necessárias que devem ser preenchidas quando você adiciona a saída do Banco de Dados SQL ao trabalho do Stream Analytics. Além disso, verifique se o trabalho tem as permissões SELECT e INSERT para testar a conexão e executar consultas do Stream Analytics. Consulte a seção Conceder permissões de trabalho do Stream Analytics se você ainda não fez isso.

  1. Volte para o trabalho do Stream Analytics e navegue até a página Saídas em Topologia do trabalho.

  2. Selecione Adicionar > Banco de Dados SQL. Na janela Propriedades de saída do coletor de saída do Banco de Dados SQL, selecione Identidade Gerenciada na lista suspensa do modo de Autenticação.

  3. Preencha o restante das propriedades. Para saber mais sobre como criar uma saída do Banco de Dados SQL, consulte Criar uma saída do Banco de Dados SQL com o Stream Analytics. Quando tiver terminado, selecione Salvar.

  4. Depois de clicar em Salvar, um teste de conexão para o recurso deve ser disparado automaticamente. Depois que ele for concluído com êxito, você terá configurado com sucesso o trabalho de Stream Analytics para se conectar ao Banco de Dados SQL do Azure ou ao Banco de Dados SQL do Synapse usando o modo de autenticação de identidade gerenciada.

Etapas adicionais para dados de referência do SQL

O Azure Stream Analytics exige que você configure a conta de armazenamento do trabalho ao usar os dados de referência do SQL. Essa conta de armazenamento é usada para armazenar o conteúdo relacionado ao trabalho do Stream Analytics, como instantâneos de dados de referência do SQL.

Siga as seguintes etapas para configurar uma conta de armazenamento associada:

  1. Na página trabalho do Stream Analytics, selecione Configurações da conta de armazenamento em Configurar no menu esquerdo.

  2. Na página Configurações da conta de armazenamento, selecione Adicionar conta de armazenamento.

  3. Siga as instruções para definir as configurações da conta de armazenamento.

    Screenshot of the Storage account settings page of a Stream Analytics job.

Importante

  • Para autenticar com a cadeia de conexão, você deve desabilitar as configurações de firewall da conta de armazenamento.
  • Para autenticar por meio da Identidade Gerenciada, você precisará adicionar o trabalho do Stream Analytics à lista de controle de acesso da conta de armazenamento com a função Colaborador de Dados do Blob de Armazenamento. Se você não conceder acesso ao trabalho, o trabalho não poderá executar qualquer operação. Para obter mais informações sobre como conceder acesso, consulte Usar o RBAC do Azure para atribuir um acesso de identidade gerenciada a outro recurso.

Etapas adicionais com Identidade gerenciada atribuída pelo usuário

Repita as etapas se você selecionou a identidade gerenciada atribuída pelo usuário para conectar ASA à Synapse:

  1. Criação de um usuário de banco de dados independente. Substituir ASA_Job_Name por Identidade gerenciada atribuída pelo usuário. Veja o exemplo abaixo.
    CREATE USER [User-Assigned Managed Identity] FROM EXTERNAL PROVIDER;
    
  2. Conceder permissões para Identidade gerenciada atribuída pelo usuário. Substituir ASA_Job_Name por Identidade gerenciada atribuída pelo usuário.

Para obter mais detalhes, consulte as seções acima.

Remover a identidade gerenciada

A identidade Gerenciada criada para um trabalho do Stream Analytics é excluída somente quando o trabalho é excluído. Não é possível excluir a Identidade Gerenciada sem excluir o trabalho. Se você não quiser mais usar a Identidade Gerenciada, poderá alterar o método de autenticação para a saída. A Identidade Gerenciada continuará existindo até que o trabalho seja excluído e será usada se você decidir usar a autenticação de Identidade Gerenciada novamente.

Próximas etapas