Use identidades geridas para aceder ao Base de Dados SQL do Azure ou Azure Synapse Analytics a partir de um emprego no Azure Stream Analytics

Azure Stream Analytics suporta autenticação Managed Identity para Base de Dados SQL do Azure e Azure Synapse Analytics dissipadores de saída. As identidades geridas eliminam as limitações dos métodos de autenticação baseados no utilizador, como a necessidade de reautenticação devido a alterações de palavra-passe ou expirações de tokens de utilizador 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-lhe como ativar a Identidade Gerida para uma Base de Dados SQL do Azure ou um output do Azure Synapse Analytics de uma tarefa de Stream Analytics através do portal Azure.

Visão geral

Este artigo mostra-lhe os passos necessários para ligar o seu trabalho de Stream Analytics ao seu Base de Dados SQL do Azure ou ao Azure Synapse Analytics SQL pool usando o modo de autenticação Managed Identity.

  • Primeiro, cria uma identidade gerida atribuída ao sistema para o seu trabalho de Stream Analytics. Esta é a identidade do seu emprego no Microsoft Entra ID.

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

  • De seguida, crie um utilizador contido que represente a identidade do trabalho de Stream Analytics na base de dados. Sempre que o trabalho de Stream Analytics interagir com a sua base de dados SQL ou recurso Synapse SQL DB, esta é a identidade à qual se referirá para verificar que permissões tem o seu trabalho de Stream Analytics.

  • Conceda permissões ao seu trabalho de Stream Analytics para aceder à sua base de dados SQL ou aos pools SQL Synapse.

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

Prerequisites

Para utilizar esta funcionalidade, precisa de:

  • Um emprego no Azure Stream Analytics.

  • Um recurso do Base de Dados SQL do Azure.

Criar uma identidade gerenciada

Primeiro, crie uma identidade gerida para o seu emprego no Azure Stream Analytics.

  1. No portal Azure, abra a sua tarefa 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.

    Selecione identidade gerida atribuída ao sistema

    O Microsoft Entra ID cria um principal de serviço para a identidade do trabalho de Stream Analytics. O Azure gere o ciclo de vida da identidade recém-criada. Quando elimina a tarefa de Stream Analytics, o Azure apaga automaticamente a identidade associada (ou seja, a entidade de serviço).

  3. Também pode mudar para identidades geridas atribuídas pelo utilizador.

  4. Ao guardar a configuração, o ID do Objeto (OID) do principal de serviço aparece como o ID do Principal, conforme mostrado na secção seguinte:

    ID do objeto mostrado como ID principal

    O principal de serviço tem o mesmo nome que o trabalho do Stream Analytics. Por exemplo, se o nome do seu trabalho é MyASAJob, o nome do principal do serviço também é MyASAJob.

Selecione um administrador do Active Directory

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

  1. Aceda ao seu recurso Base de Dados SQL do Azure ou Azure Synapse Analytics SQL Pool. Selecione o SQL Server ou o Synapse Workspace onde o recurso se encontra. Pode encontrar o link para estes recursos na página de visão geral de recursos, ao lado do nome do servidor ou nome do espaço de trabalho.

  2. Selecione Active Directory Admin ou SQL Active Directory Admin em Settings, para SQL Server e Synapse Workspace, respetivamente. Depois, selecione Definir administrador.

    Página de administração do Active Directory

  3. Na página de administração Active Directory, procure um utilizador ou grupo para ser administrador do SQL Server e selecione Select. Este utilizador pode criar o Utilizador de Base de Dados Contida na secção seguinte.

    Adicionar Active Directory admin

    A página de administração do Active Directory mostra todos os membros e grupos do seu Active Directory. Utilizadores ou grupos desativados não podem ser selecionados porque não são suportados como administradores do Entra Microsoft. Consulte a lista de administradores suportados na secção Funcionalidades e Limitações do Microsoft Entra em Usar a autenticação Microsoft Entra para a base de dados SQL ou Azure Synapse.

  4. Selecione Guardar na página de administrador do Active Directory. O processo de mudança de administração demora alguns minutos.

Criar um utilizador de base de dados restrito

De seguida, crie um utilizador de base de dados contido na sua base de dados SQL do Azure ou Azure Synapse que esteja mapeado para a identidade Microsoft Entra. O utilizador da base de dados contida não tem login para a base de dados principal, mas esta corresponde a uma identidade no diretório associada à base de dados. A identidade Microsoft Entra pode ser uma conta de utilizador individual ou um grupo. Neste caso, queres criar um utilizador de base de dados contido para o teu trabalho de Análise de Fluxos.

Para obter mais informações, consulte Autenticação Universal com Banco de Dados SQL e Azure Synapse Analytics (suporte SSMS para MFA).

  1. Ligue-se à sua base de dados SQL do Azure ou Azure Synapse utilizando o SQL Server Management Studio. O nome de utilizador é um utilizador Microsoft Entra com a permissão ALTER ANY USER. O administrador que definiste no SQL Server é um exemplo. Utilize Microsoft Entra ID – Universal com autenticação multifator (MFA).

    Liga-te a SQL Server

    O nome do servidor <SQL Server name>.database.windows.net pode variar consoante a região. Por exemplo, a região da China deve usar <SQL Server name>.database.chinacloudapi.cn.

    Pode especificar uma base de dados SQL do Azure ou Azure Synapse específica indo a Options > Propriedades de Ligação > Ligar à Base de Dados.

    Propriedades de ligação do SQL Server

  2. Quando se liga pela primeira vez, pode deparar-se com a seguinte janela:

    Nova janela de regras do firewall

    1. Se sim, vai ao teu SQL Server ou ao recurso Synapse Workspace no portal do Azure. Na secção de Segurança , abra a página de Firewalls e rede virtual ou Firewalls .
    2. Adicione uma nova regra com qualquer nome de regra.
    3. Use o endereço IP de origem da janela da Nova Regra do Firewall para o IP de Início.
    4. Utilize o endereço IP To da janela da Nova Regra de Firewall para End IP.
    5. Seleciona Save e tenta ligar a partir de SQL Server Management Studio novamente.
  3. Depois de estar ligado, crie o utilizador da base de dados contida. O comando SQL seguinte cria um utilizador de base de dados contido com o mesmo nome do seu trabalho de Stream Analytics. Certifique-se de incluir os colchetes à volta 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 adicionou corretamente o utilizador da base de dados contida, execute o seguinte comando no SSMS na base de dados correspondente e verifique se o 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 de Stream Analytics tem acesso à Base de Dados SQL, é necessário dar permissão à Microsoft Entra para comunicar com a base de dados. Para isso, aceda à página Firewalls e rede virtual ou Firewalls no portal Azure e ative Permitir que os serviços e recursos do Azure acedam a este servidor ou espaço de trabalho.

    Firewall e rede virtual

Permissões de trabalho de Grant Stream Analytics

Depois de criar um utilizador de base de dados contido e conceder acesso aos serviços do Azure no portal, como descrito na secção anterior, a sua tarefa de Análise de Fluxos tem permissão da Identidade Gerida para CONNECT ao seu recurso SQL do Azure Database via identidade gerida. Conceda as permissões SELECT e INSERT ao trabalho de Stream Analytics, pois o trabalho necessita dessas permissões mais tarde no fluxo de trabalho de Stream Analytics. A permissão SELECT permite que o trabalho teste a sua ligação à tabela na base de dados SQL do Azure. A permissão INSERT permite testar consultas de Stream Analytics de ponta a ponta depois de configurar uma entrada e a saída da base de dados SQL do Azure.

Pode conceder essas permissões ao trabalho de Análise de Fluxos usando o SQL Server Management Studio. Para mais informações, consulte a referência GRANT (Transact-SQL).

Para conceder permissão apenas a uma determinada tabela ou objeto na base 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;

Alternativamente, pode clicar com o botão direito na sua base de dados SQL do Azure ou Azure Synapse no SQL Server Management Studio e selecionar Propriedades > Permissões. No menu de permissões, pode ver o trabalho de Stream Analytics que adicionou anteriormente, e pode conceder ou negar permissões manualmente conforme desejar.

Para ver todas as permissões que adicionou ao seu utilizador ASA_JOB_NAME , execute o seguinte comando no SSMS na base de dados correspondente:

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>'

Crie um resultado de Base de Dados SQL do Azure ou Azure Synapse

Note

Quando utiliza o SQL Managed Instance (MI) como entrada de referência, deve configurar um endpoint público na sua SQL Managed Instance. Deve especificar o nome de domínio totalmente qualificado com a porta ao configurar a propriedade da base de dados . Por exemplo: sampleserver.public.database.windows.net,3342.

Depois de configurar a sua identidade gerida, está pronto para adicionar uma saída Base de Dados SQL do Azure ou Azure Synapse ao seu trabalho de Stream Analytics.

Certifique-se de criar uma tabela na sua base de dados SQL com o esquema de saída apropriado. Precisa de fornecer o nome desta tabela quando adicionar a saída da Base de Dados SQL à tarefa de Stream Analytics. Além disso, certifique-se de que o trabalho tem permissões SELECT e INSERT para testar a ligação e executar consultas Stream Analytics. Se ainda não o fez, consulte a secção de permissões de trabalhos de Grant Stream Analytics .

  1. Volte ao seu trabalho de Stream Analytics e aceda à página de Outputs no âmbito da Topologia do Trabalho.

  2. Selecione Adicionar > Base de Dados SQL. Na janela de propriedades de saída do sink de saída da base de dados SQL, selecione Identidade Gerida no menu suspenso do modo de Autenticação.

  3. Preencha o resto das propriedades. Para saber mais sobre como criar uma saída para uma base de dados SQL, consulte Criar uma saída para uma base de dados SQL com Stream Analytics. Quando terminar, selecione Guardar.

  4. Depois de selecionares Guardar, um teste de ligação ao teu recurso é ativado automaticamente. Depois de esse teste ser concluído com sucesso, configurou o seu trabalho de Stream Analytics para se ligar ao Base de Dados SQL do Azure ou Synapse SQL Database, utilizando o modo de autenticação de identidade gerida.

Passos adicionais para dados de referência SQL

Quando usa dados de referência SQL, o Azure Stream Analytics exige que configure a conta de armazenamento do seu trabalho. O trabalho utiliza esta conta de armazenamento para armazenar conteúdo relacionado ao seu trabalho de Stream Analytics, como instantâneos de dados de referência SQL.
Siga estes passos para configurar uma conta de armazenamento associada:

  1. Na página de tarefas de Análise de Fluxos , em Configurar no menu esquerdo, selecione Definições da conta de armazenamento.

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

  3. Na página de definições da conta de armazenamento , selecione Adicionar conta de armazenamento.

  4. Siga as instruções para configurar as definições da sua conta de armazenamento.

    Captura de ecrã da página de definições de uma conta de armazenamento numa tarefa de Análise de Fluxos.

Importante

  • Para autenticar usando uma cadeia de conexão, deve desativar as configurações do firewall da conta de armazenamento.
  • Para autenticar usando Identidade Gerida, deve adicionar o seu trabalho de Análise de Fluxo à lista de controlo de acesso da conta de armazenamento para o papel de Contribuidor de Dados de Blob de Armazenamento e Contribuidor de Dados da Tabela de Armazenamento. Se não deres acesso à tua tarefa, a tarefa não pode realizar quaisquer operações. Para mais informações sobre como conceder acesso, consulte Usar o Azure RBAC para atribuir um acesso de identidade gerida a outro recurso.

Passos adicionais com identidade gerida atribuída pelo utilizador

Repita os passos se selecionou identidade gerida atribuída pelo utilizador para ligar o ASA ao Synapse:

  1. Crie um utilizador de base de dados restrito. Substitua ASA_Job_Name por Identidade Gerida Atribuída pelo Utilizador. Veja o seguinte exemplo.
    CREATE USER [User-Assigned Managed Identity] FROM EXTERNAL PROVIDER;
    
  2. Conceda permissões à Identidade Gerida Atribuída ao Utilizador. Substitua ASA_Job_Name por Identidade Gerida Atribuída pelo Utilizador.

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

Remover identidade gerenciada

Apaga a identidade gerida que criou para um trabalho do Stream Analytics apenas quando elimina o trabalho. Não podes apagar a identidade gerida sem apagar o trabalho. Se já não quiser usar a identidade gerida, altere o método de autenticação para a saída. A identidade gerida continua a existir até eliminares o trabalho, e é usada se decidires usar autenticação de identidade gerida novamente.

Passos seguintes