Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Apache Kafka é uma plataforma de streaming distribuída de código aberto que aplicativos usam para publicar e assinar fluxos de registros à medida que eles ocorrem. É comumente usado para mensagens, rastreamento de atividade de sites, métricas, agregação de logs e processamento de fluxos.
Se os seus dados fluem por clusters do Kafka, você pode conectar o Azure Stream Analytics diretamente a esses clusters para ingerir e processar esses dados sem criar um consumidor personalizado. A entrada do Kafka é de baixo código, totalmente gerenciada pela Microsoft para atender aos padrões de conformidade corporativa e retrocompatível com versões de cliente a partir da 0.10. Você pode se conectar a clusters Kafka dentro de uma rede virtual ou com um endpoint público, usando as convenções de configuração existentes do Kafka. Os tipos de compactação com suporte são None, Gzip, Snappy, LZ4 e Zstd.
Este artigo mostra como configurar um cluster Kafka como fonte de entrada para um trabalho do Azure Stream Analytics.
Configure o Kafka como fonte de entrada
Este artigo mostra como configurar o Kafka como uma fonte de entrada para o Azure Stream Analytics. Ele aborda as seguintes etapas:
- Crie uma tarefa do Azure Stream Analytics.
- 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.
- Configure Azure Key Vault se estiver usando mTLS ou protocolos de segurança SASL_SSL.
- Faça upload de certificados como segredos no Azure Key Vault.
- Conceda permissões do Azure Stream Analytics para acessar o certificado carregado.
- Configure a entrada do Kafka em seu trabalho do Azure Stream Analytics.
Observação
Dependendo de como seu cluster Kafka está configurado e do tipo de cluster Kafka que você está usando, alguns desses passos podem não se aplicar a você. Por exemplo, se você está usando o Confluent Cloud Kafka, não precisa enviar um certificado para usar o conector Kafka. Se seu cluster Kafka estiver dentro de uma rede virtual (VNet) ou atrás de um firewall, talvez você precise configurar seu trabalho do Azure Stream Analytics para acessar seu tópico Kafka usando um link privado ou uma configuração de rede dedicada.
Configure a entrada do Kafka
Configure a entrada do Kafka para que seu trabalho no Azure Stream Analytics possa se conectar ao seu cluster Kafka e ler um tópico.
Importante
Para configurar o cluster do Kafka como uma entrada, o tipo de carimbo de data/hora do tópico de entrada deve ser LogAppendTime. O único tipo de carimbo de data/hora compatível com o Azure Stream Analytics é LogAppendTime. O Azure Stream Analytics dá suporte apenas ao formato decimal numérico.
No seu trabalho do Azure Stream Analytics, adicione uma entrada do Kafka.
Defina cada propriedade de entrada usando os valores descritos na tabela a seguir:
Nome da propriedade Descrição Alias de entrada/saída Um nome amigável usado em consultas para referenciar sua entrada ou saída. Endereços de servidores Bootstrap Uma lista de pares host/porta para conectar ao cluster Kafka. Tópico do Kafka Um fluxo de dados nomeado, ordenado e particionado que suporta a publicação-assinatura e o processamento orientado a eventos de mensagens. 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. ID do grupo de consumidores O nome do grupo Kafka de consumidores do qual a entrada deve fazer parte. O Azure Stream Analytics o atribui automaticamente se você não o fornecer. Formato de serialização do evento O formato de serialização (JSON, CSV, Avro, Parquet e Protobuf) do fluxo de dados recebido. Salve a configuração de entrada.
Configurar autenticação e criptografia
Configure autenticação e criptografia para garantir a conexão entre seu trabalho do Azure Stream Analytics e seu cluster Kafka. Para um tutorial passo a passo sobre como conectar ao Confluent Cloud Kafka, veja Stream data from Confluent Cloud Kafka with Azure Stream Analytics para entrada e Stream data from Azure Stream Analytics into Confluent Cloud para output.
Importante
O Confluent Cloud suporta autenticação usando APIs Keys, OAuth ou login único SAML (SSO). O Azure Stream Analytics não dá suporte à autenticação OAuth ou SSO (logon único) do SAML. Você pode se conectar ao Confluent Cloud usando uma API Key com acesso em nível de tópico via o protocolo de segurança SASL_SSL.
Escolha um dos quatro protocolos de segurança suportados que corresponda ao seu cluster Kafka, conforme descrito na tabela a seguir:
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 (Camada de Autenticação Simples e Segurança) e Camada de Soquetes Seguros (SSL), para garantir que tanto a autenticação quanto a criptografia estejam em vigor para a 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, mas sem criptografia. Nenhum Nenhuma autenticação e criptografia. Configure as credenciais para o protocolo selecionado no seu trabalho do Azure Stream Analytics.
Integrar com o Azure Key Vault
Azure Stream Analytics se integra com Azure Key Vault para acessar segredos armazenados necessários para autenticação e criptografia quando você usa mTLS ou protocolos de segurança SASL_SSL. Seu trabalho no Azure Stream Analytics se conecta ao seu Azure Key Vault usando 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. Para integrar seu trabalho de Azure Stream Analytics com o Azure Key Vault, complete as seguintes tarefas, que as seções seguintes descrevem em detalhes.
Observação
Quando você usa certificados do repositório de confiança com os protocolos de segurança mTLS ou SASL_SSL, é necessário ter o Azure Key Vault e a identidade gerenciada configurados para o seu 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. Se seu cofre de chaves estiver em um VNet ou permitir acesso apenas de redes específicas, você deve injetar seu trabalho do Azure Stream Analytics em um VNet contendo o cofre de chaves, ou injetar seu trabalho do Azure Stream Analytics em um VNet e então conectar seu cofre de chaves ao trabalho contendo o VNet usando endpoints de serviço.
- Configure o cofre de chaves com as permissões necessárias.
- Envie seu certificado para o Key Vault como um segredo.
- Configure a identidade gerenciada para seu trabalho no Azure Stream Analytics.
- Conceda ao seu trabalho do Stream Analytics permissão para acessar o certificado no cofre de chaves.
Configure o cofre de chaves com permissões
Para criar um recurso de cofre de chaves, veja Início Rápido: Criar um cofre de chaves usando o portal Azure. Você precisa do acesso do Key Vault Administrator ao seu Key vault para fazer upload dos certificados. Para conceder acesso de administrador, siga estes passos:
Observação
Você precisa de permissões do proprietário para conceder outras permissões de cofre de chaves.
Selecione IAM (Controle de acesso) .
Selecione Adicionar>Adicionar atribuição de função para abrir a página Adicionar atribuição de função.
Atribua o papel 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>
Faça o upload do certificado para o cofre de chaves
Certifique-se de ter o CLI do Azure configurado localmente com o PowerShell. Para orientações sobre como configurar o CLI do Azure, veja Comece com o CLI do Azure.
As etapas a seguir carregam o certificado na forma de um segredo para o seu cofre de chaves.
Importante
Você precisa ter permissões do Key Vault Administrator para o seu Key vault para que esse comando funcione corretamente. Você deve enviar o certificado como segredo. Você deve usar o CLI do Azure para carregar certificados como segredos em seu cofre de chaves. Seu trabalho no Azure Stream Analytics falha quando o certificado usado para autenticação expira. Para resolver esse problema, atualize ou substitua o certificado no seu cofre de chaves e reinicie seu trabalho no Azure Stream Analytics.
Entre na CLI do Azure.
az loginConecte-se à assinatura que contém seu cofre de chaves.
az account set --subscription <subscription name>Envie o certificado como segredo. Substitua
<your key vault>pelo nome do cofre de chaves,<name of the secret>pelo nome que você quiser dar ao segredo, e<file path to certificate>pelo caminho para o arquivo do seu 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
Azure Stream Analytics exige identidade gerenciada para acessar o cofre de chaves. Configure seu trabalho do Azure Stream Analytics para usar identidade gerenciada indo na aba Identidade Gerenciada em Configurar.
Para configurar a identidade gerenciada, siga estes passos:
Selecione a aba Identidade Gerenciada em Configurar.
Selecione Switch Identity e selecione a identidade a usar com a tarefa: identidade atribuída ao sistema ou identidade atribuída ao usuário.
Para identidade atribuída pelo usuário, selecione a assinatura onde sua identidade atribuída ao usuário está localizada e selecione o nome da sua identidade.
Revise e selecione Salvar.
Conceda permissões ao trabalho de Stream Analytics para acessar o certificado
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.
Para conceder permissões ao seu trabalho de Análise de Fluxos, siga estes passos:
Selecione IAM (Controle de acesso) .
Selecione Adicionar>Adicionar atribuição de função para abrir a página Adicionar atribuição de função.
Atribua o papel usando a seguinte configuração:
Configuração Valor Função Usuário de segredos do Key Vault 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>
Limitações e considerações sobre a entrada do Kafka
Se seu cluster Kafka estiver dentro de uma rede virtual ou atrás de um firewall, configure seu trabalho do Azure Stream Analytics para acessar seu tópico Kafka usando um link privado ou uma configuração de rede dedicada. Para mais informações, consulte Executar seu trabalho do Azure Stream Analytics em uma Rede Virtual do Azure.
Considere as seguintes limitações ao usar Kafka como fonte de entrada:
- Quando você configurar seu trabalho do Azure Stream Analytics para usar Rede Virtual/SWIFT, configure o trabalho com pelo menos seis unidades de streaming ou uma unidade de streaming V2.
- Quando você usa mTLS ou SASL_SSL com Azure Key Vault, deve converter seu Java Key Store para o formato PEM.
- A versão mínima do Kafka à qual o Azure Stream Analytics pode se conectar é a versão 0.10.
- O Azure Stream Analytics não suporta autenticação para o Confluent Cloud usando OAuth ou login único (SSO) em SAML. Você deve usar uma API Key via protocolo SASL_SSL.
Para obter ajuda direta com a entrada Kafka do Azure Stream Analytics, entre em contato com askasa@microsoft.com.