Partilhar via


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

O Azure Stream Analytics dá suporte à autenticação de Identidade Gerenciada para o Banco de Dados SQL do Azure e coletores de saída do Azure Synapse Analytics. As identidades gerenciadas eliminam as limitações dos métodos de autenticação baseados no usuário, como a necessidade de se 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 autenticação manual, 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 em um recurso de destino. Este artigo mostra como habilitar a Identidade Gerenciada para um Banco de Dados SQL do Azure ou uma saída do Azure Synapse Analytics de um trabalho do Stream Analytics por meio do portal do Azure.

Descrição geral

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

  • Primeiro, você cria uma identidade gerenciada atribuída ao sistema para seu trabalho do Stream Analytics. Esta é a identidade do seu trabalho no Microsoft Entra ID.

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

  • Em seguida, crie um usuário contido representando a identidade do trabalho do Stream Analytics no banco de dados. Sempre que o trabalho do Stream Analytics interage com seu recurso SQL DB ou Synapse SQL DB, essa é a identidade à qual ele se referirá para verificar quais permissões seu trabalho do Stream Analytics tem.

  • Conceda permissões ao seu trabalho do Stream Analytics para acessar seus pools SQL Database ou Synapse SQL.

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

Pré-requisitos

O seguinte é necessário para usar esse recurso:

  • 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 esquerdo, selecione Identidade gerenciada localizada em Configurar. Em seguida, marque a caixa ao lado de Usar identidade gerenciada atribuída pelo sistema e selecione Salvar.

    Select system-assigned managed identity

    Uma entidade de serviço para a identidade do trabalho do Stream Analytics é criada no Microsoft Entra ID. O ciclo de vida da identidade recém-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 identidades gerenciadas atribuídas pelo usuário.

  4. Quando você salva a configuração, a ID do objeto (OID) 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 Ative Directory

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

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

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

    Active Directory admin page

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

    Add Active Directory admin

    A página de administração do Ative Directory mostra todos os membros e grupos do Ative Directory. Não é possível selecionar usuários ou grupos acinzentados, pois não há suporte para administradores do Microsoft Entra. Consulte a lista de administradores suportados na seção Recursos e Limitações do Microsoft Entra em Usar a autenticação do Microsoft Entra para autenticação com o Banco de Dados SQL ou a Sinapse do Azure.

  4. Selecione Salvar na página de administração do Ative Directory. O processo para mudar de administrador leva alguns minutos.

Criar um usuário de banco de dados contido

Em seguida, você cria um usuário de banco de dados contido em seu banco de dados SQL do Azure ou Azure Synapse que é mapeado para a identidade do Microsoft Entra. O usuário do banco de dados contido não tem um logon para o banco de dados primário, mas mapeia 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, você deseja criar um usuário de banco de dados contido para seu trabalho do Stream Analytics.

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

  1. Conecte-se ao seu banco de dados Azure SQL ou 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 o Microsoft Entra ID – Universal com autenticação MFA .

    Connect to SQL Server

    O nome <SQL Server name>.database.windows.net do servidor 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 SQL ou Synapse do Azure específico indo para Opções de Propriedades > de Conexão Conectar-se ao Banco de Dados>.

    SQL Server connection properties

  2. Quando você se conectar pela primeira vez, você pode encontrar a seguinte janela:

    New firewall rule window

    1. Em caso afirmativo, vá para seu recurso de Espaço de Trabalho SQL Server/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 o IP inicial.
    4. Use o endereço IP Para na janela Nova regra de firewall para IPs finais.
    5. Selecione Salvar e tente se conectar do SQL Server Management Studio novamente.
  3. Depois de se conectar, crie o usuário do banco de dados contido. O comando SQL a seguir cria um usuário de banco de dados contido que tem o mesmo nome do seu trabalho do Stream Analytics. Certifique-se de incluir os parênteses ao redor do ASA_JOB_NAME. Use a seguinte sintaxe T-SQL e execute a consulta.

    CREATE USER [ASA_JOB_NAME] FROM EXTERNAL PROVIDER;
    

    Para verificar se você adicionou o usuário do banco de dados contido corretamente, execute o seguinte comando no SSMS no banco de dados pertinente e verifique se seu 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, precisamos dar 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/espaço de trabalho".

    Firewall and virtual network

Conceder permissões de trabalho do Stream Analytics

Depois de criar um usuário de banco de dados contido e ter acesso aos serviços do Azure no portal, conforme descrito na seção anterior, seu trabalho do Stream Analytics tem permissão da Identidade Gerenciada para CONECTAR-se ao seu recurso de banco de dados SQL do Azure por meio da identidade gerenciada. Recomendamos que você conceda as permissões SELECT e INSERT para o trabalho do Stream Analytics, pois elas serão necessárias posteriormente no fluxo de trabalho do Stream Analytics. A permissão SELECT permite que o trabalho teste sua conexão com a tabela no banco de dados SQL do Azure. A permissão INSERT permite testar consultas completas do Stream Analytics depois de configurar 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 seguinte sintaxe T-SQL 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 em seu banco de dados Azure SQL ou Azure Synapse no SQL Server Management Studio e selecionar Permissões de Propriedades>. No menu de permissões, você pode ver o trabalho do Stream Analytics adicionado anteriormente e pode conceder ou negar permissões manualmente conforme desejar.

Para examinar todas as permissões que você adicionou ao seu 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 uma saída do Banco de Dados SQL do Azure ou do Azure Synapse

Nota

Ao usar a Instância Gerenciada do SQL (MI) como uma entrada de referência, você deve configurar um ponto de extremidade público em sua Instância Gerenciada do SQL. Você deve especificar o nome de domínio totalmente qualificado com a porta ao configurar a propriedade do 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 seu trabalho do Stream Analytics.

Certifique-se de ter criado uma tabela em seu Banco de dados SQL com o esquema de saída apropriado. 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 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 ainda não tiver feito isso.

  1. Volte ao seu 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 de propriedades de saída do coletor de saída do Banco de dados SQL, selecione Identidade gerenciada na lista suspensa Modo de autenticação.

  3. Preencha as restantes 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 Guardar.

  4. Depois de clicar em Salvar, um teste de conexão com seu recurso deve ser acionado automaticamente. Quando isso for concluído com êxito, você configurou com êxito seu trabalho do Stream Analytics para se conectar ao Banco de Dados SQL do Azure ou ao Banco de Dados SQL Synapse usando o modo de autenticação de identidade gerenciada.

Etapas adicionais para dados de referência SQL

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

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

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

  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 sua 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 desativar as configurações de firewall da conta de armazenamento.
  • Para autenticar com a Identidade Gerenciada, você deve adicionar seu trabalho do Stream Analytics à lista de controle de acesso da conta de armazenamento para a função de Colaborador de Dados de Blob de Armazenamento e a função de Colaborador de Dados da Tabela de Armazenamento. Se você não der acesso ao seu trabalho, ele não poderá realizar nenhuma operação. Para obter mais informações sobre como conceder acesso, consulte Usar o RBAC do Azure para atribuir um acesso de identidade gerenciado 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 o ASA ao Synapse:

  1. Crie um usuário de banco de dados contido. Substitua 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. Conceda permissões à Identidade Gerenciada Atribuída pelo Usuário. Substitua ASA_Job_Name por Identidade Gerenciada Atribuída pelo Usuário.

Para mais detalhes, consulte as secções acima.

Remover identidade gerenciada

A Identidade Gerenciada criada para um trabalho do Stream Analytics é excluída somente quando o trabalho é excluído. Não há como 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á a existir até que o trabalho seja excluído e será usada se você decidir usar a autenticação de Identidade Gerenciada novamente.

Próximos passos