Compartilhar via


Saída do Kafka no Azure Stream Analytics (versão prévia)

O Azure Stream Analytics permite que você se conecte diretamente aos clusters Kafka como produtor para gerar dados. A solução é de baixo código e totalmente gerenciada pela equipe do Azure Stream Analytics na Microsoft, permitindo que ela atenda aos padrões de conformidade corporativos. A saída do Kafka do ASA é compatível com versões anteriores e dá suporte a todas as versões com a versão mais recente do cliente a partir da versão 0.10. Os usuários podem se conectar a clusters Kafka dentro de clusters VNET e Kafka com um ponto de extremidade público, dependendo das configurações. A configuração depende das convenções de configuração existentes do Kafka. Os tipos de compactação com suporte são None, Gzip, Snappy, LZ4 e Zstd.

Etapas

Este artigo mostra como configurar o Kafka como uma saída do Azure Stream Analytics. Há seis etapas:

  1. Crie um trabalho do Azure Stream Analytics.
  2. Configure seu trabalho do Azure Stream Analytics para usar a identidade gerenciada se você estiver usando os protocolos de segurança mTLS ou SASL_SSl.
  3. Configure o Azure Key Vault se você estiver usando os protocolos de segurança mTLS ou SASL_SSl.
  4. Carregue certificados como segredos no Azure Key Vault.
  5. Conceda permissões do Azure Stream Analytics para acessar o certificado carregado.
  6. Configure a saída do Kafka no seu trabalho do Stream Analytics

Observação

Dependendo de como seu cluster Kafka está configurado e do tipo de cluster Kafka que você está usando, algumas das etapas acima podem não se aplicar a você. Os exemplos são: se você estiver usando o Kafka de nuvem de configuração, não será necessário carregar um certificado para usar o conector Kafka. Se o cluster Kafka estiver dentro de uma rede virtual (VNET) ou atrás de um firewall, talvez seja necessário configurar o trabalho do Azure Stream Analytics para acessar o tópico do Kafka usando um link privado ou uma configuração de rede dedicada.

Configuração

A seguinte tabela lista os nomes de propriedade e suas descrições para a criação de uma saída do Kafka:

Nome da propriedade Descrição
Alias de saída Um nome amigável usado em consultas para referenciar sua saída
Endereços de servidor de inicialização Uma lista de pares host/porta para estabelecer a conexão com o cluster Kafka.
Tópico do Kafka Um fluxo de dados nomeado, ordenado e particionado que permite o processamento de mensagens controladas por eventos e publicação.
Protocolo de Segurança Como você deseja se conectar ao cluster Kafka. O Azure Stream Analytics dá suporte a mTLS, SASL_SSL, SASL_PLAINTEXT ou None.
Formato de serialização do evento O formato de serialização (JSON, CSV, Avro) do fluxo de dados de saída.
Chave de partição O Azure Stream Analytics atribui partições usando particionamento circular.
Tipo de compactação do evento do Kafka O tipo de compactação usado para fluxos de dados de saída, como Gzip, Snappy, Lz4, Zstd ou None.

Captura de tela mostrando como configurar a saída kafka para um trabalho de análise de fluxo.

Autenticação e criptografia

Você pode usar quatro tipos de protocolos de segurança para se conectar aos clusters Kafka:

Observação

Para SASL_SSL e SASL_PLAINTEXT, o Azure Stream Analytics dá suporte apenas ao mecanismo de PLAIN SASL. Você precisa carregar certificados como segredos no cofre de chaves usando a CLI do Azure.

Nome da propriedade Descrição
mTLS Criptografia e autenticação. Dá suporte a mecanismos de segurança PLAIN, SCRAM-SHA-256 e SCRAM-SHA-512.
SASL_SSL Combina dois mecanismos de segurança diferentes, SASL (Simple Authentication and Security Layer) e SSL (Secure Sockets Layer), para garantir que a autenticação e a criptografia estejam em vigor para transmissão de dados. O protocolo SASL_SSL dá suporte a mecanismos de segurança PLAIN, SCRAM-SHA-256 e SCRAM-SHA-512.
SASL_PLAINTEXT autenticação padrão com nome de usuário e senha sem criptografia
Nenhum Nenhuma autenticação e criptografia.

Importante

A Confluent Cloud dá suporte à autenticação usando chaves de API, OAuth ou SSO (logon único) do SAML. O Azure Stream Analytics não dá suporte à autenticação OAuth ou SSO (logon único) do SAML. Você pode se conectar à Confluent Cloud usando uma chave de API com o acesso de nível do tópico por meio do protocolo de segurança SASL_SSL.

Para ver um tutorial passo a passo sobre como se conectar ao Kafka na Confluent Cloud, acesse a documentação:

Integração do Key Vault

Observação

Ao usar certificados de repositório confiável com protocolos de segurança mTLS ou SASL_SSL, você deve ter o cofre de chaves do Azure e a identidade gerenciada configurados para o trabalho do Azure Stream Analytics. Verifique as configurações de rede do cofre de chaves para garantir que Permitir acesso público de todas as redes esteja selecionado. Suponha que o cofre de chaves esteja em uma VNET ou só permita o acesso de redes específicas. Nesse caso, você deve injetar seu trabalho ASA em uma VNET que contenha o cofre de chaves ou injetar seu trabalho ASA em uma VNET e, em seguida, conectar seu cofre de chaves à VNET que contém o trabalho usando pontos de extremidade de serviço.

O Azure Stream Analytics integra-se perfeitamente ao cofre de chaves do Azure para acessar os segredos armazenados necessários para autenticação e criptografia ao usar protocolos de segurança mTLS ou SASL_SSL. Seu trabalho do Azure Stream Analytics se conecta ao seu cofre de chaves do Azure usando a identidade gerenciada para garantir uma conexão segura e evitar a exfiltração de segredos. Os certificados são armazenados como segredos no cofre de chaves e devem estar no formato PEM.

Configurar o cofre de chaves com permissões

Você pode criar um recurso do cofre de chaves seguindo a documentação Início Rápido: Criar um cofre de chaves usando o portal do Azure Para carregar certificados, você deve ter acesso ao "Administrador do Key Vault" ao cofre de chaves. Siga as instruções a seguir para conceder acesso ao administrador.

Observação

Você deve ter permissões de "Proprietário" para conceder outras permissões ao cofre de chaves.

  1. Selecione IAM (Controle de acesso) .

  2. Selecione Adicionar>Adicionar atribuição de função para abrir a página Adicionar atribuição de função.

  3. Atribua a função usando a seguinte configuração:

Configuração Valor
Função Administrador do Key Vault
Atribuir acesso a Usuário, grupo ou entidade de serviço
Membros <Informações da sua conta ou email>

Carregar certificado no cofre de chaves por meio da CLI do Azure

Importante

Você deve ter acesso de permissões do "Administrador do cofre de chaves" ao cofre de chaves para que esse comando funcione corretamente. É preciso carregar o certificado como um segredo. Use a CLI do Azure para carregar certificados como segredos para o cofre de chaves. O trabalho do Azure Stream Analytics falhará quando o certificado usado para autenticação expirar. Para resolver isso, você deve atualizar/substituir o certificado no cofre de chaves e reiniciar o trabalho do Azure Stream Analytics.

Verifique se você tem a CLI do Azure configurada localmente com o PowerShell. Você pode visitar esta página para obter orientações sobre como configurar a CLI do Azure: Introdução à CLI do Azure

Fazer logon na CLI do Azure:

az login

Conecte-se à sua assinatura que contém o cofre de chaves:

az account set --subscription <subscription name>

O comando a seguir pode carregar o certificado como segredo para o cofre de chaves:

O <your key vault> é nome do cofre de chaves para o qual você deseja carregar o certificado. <name of the secret> é qualquer nome que você deseja dar ao seu segredo e como ele aparece no cofre de chaves. <file path to certificate> é o caminho para a localização do certificado. Você pode clicar com o botão direito do mouse e copiar o caminho para o certificado.

az keyvault secret set --vault-name <your key vault> --name <name of the secret> --file <file path to certificate>

Por exemplo:

az keyvault secret set --vault-name mykeyvault --name kafkasecret --file C:\Users\Downloads\certificatefile.pem

Configurar uma identidade gerenciada

O Azure Stream Analytics exige que você configure a identidade gerenciada para acessar o cofre de chaves. Você pode configurar seu trabalho do ASA para usar a identidade gerenciada navegando até a guia Identidade Gerenciada no lado esquerdo, em Configurar.

Captura de tela mostrando como configurar a identidade gerenciada para um trabalho ASA.

  1. Clique na guia Identidade gerenciada em Configurar.
  2. Selecione Alternar identidade e selecione a identidade a ser usada com o trabalho: identidade atribuída pelo sistema ou identidade atribuída pelo usuário.
  3. Para a identidade atribuída pelo usuário, selecione a assinatura em que sua identidade atribuída pelo usuário está localizada e selecione o nome da sua identidade.
  4. Revise e salve.

Conceder permissões de trabalho do Stream Analytics para acessar o certificado no cofre de chaves

Para que o trabalho do Azure Stream Analytics leia o segredo no cofre de chaves, o trabalho deve ter permissão para acessar o cofre de chaves. Use as seguintes etapas para conceder permissões especiais ao seu trabalho de análise de fluxo:

  1. Selecione IAM (Controle de acesso) .

  2. Selecione Adicionar>Adicionar atribuição de função para abrir a página Adicionar atribuição de função.

  3. Atribua a função usando a seguinte configuração:

Configuração Valor
Função Usuário de segredos do cofre de chaves
Identidade gerenciada Trabalho do Stream Analytics para identidade gerenciada atribuída pelo sistema ou identidade gerenciada atribuída pelo usuário
Membros <Nome do seu trabalho do Stream Analytics> ou <nome da identidade atribuída pelo usuário>

Integração VNET

Se o Kafka estiver dentro de uma rede virtual (VNET) ou atrás de um firewall, você deverá configurar seu trabalho do Azure Stream Analytics para acessar o tópico do Kafka. Visite a documentação Executar seu trabalho do Azure Stream Analytics em uma rede virtual do Azure para obter mais informações.

Limitações

  • Ao configurar seus trabalhos do Azure Stream Analytics para usar a VNet/SWIFT, seu trabalho deve ser configurado com pelo menos seis (6) unidades de streaming ou uma (1) unidade de streaming V2.
  • Ao usar mTLS ou SASL_SSL com o cofre de chaves do Azure, você deve converter o Repositório de Chaves Java em formato PEM.
  • Você pode configurar o Azure Stream Analytics para se conectar ao Kafka com a versão mínima 0.10.
  • O Azure Stream Analytics não dá suporte à autenticação para a Confluent Cloud usando OAuth ou SSO (logon único) do SAML. Você deve usar a Chave de API por meio do protocolo SASL_SSL

Observação

Para obter ajuda direta com o uso da saída do Kafka do Azure Stream Analytics, entre em contato com askasa@microsoft.com.

Próximas etapas