Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Apache Kafka é uma plataforma de streaming distribuída de código aberto que as aplicações usam para publicar e subscrever fluxos de registos à medida que estes ocorrem. É comumente usado para mensagens, monitorização de atividade de websites, métricas, agregação de logs e processamento de fluxos.
Se os seus dados passarem por clusters Kafka, pode ligar o Azure Stream Analytics diretamente a esses clusters para ingerir e processar esses dados sem criar um consumidor personalizado. O conector de entrada do Kafka é de baixo código, totalmente gerido pela Microsoft para satisfazer os padrões de conformidade empresarial, e retrocompatível com versões de cliente a partir da 0.10. Pode ligar-se a clusters Kafka dentro de uma rede virtual ou com um endpoint público, usando as convenções de configuração Kafka existentes. Os tipos de compressão suportados são None, Gzip, Snappy, LZ4 e Zstd.
Este artigo mostra-lhe como configurar um cluster Kafka como fonte de entrada para um trabalho do Azure Stream Analytics.
Configurar o Kafka como fonte de entrada
Este artigo mostra como configurar o Kafka como uma fonte de entrada para o Azure Stream Analytics. Abrange as seguintes etapas:
- Crie uma tarefa do Azure Stream Analytics.
- Configure seu trabalho do Azure Stream Analytics para usar identidade gerenciada se você estiver usando mTLS ou protocolos de segurança SASL_SSL.
- Configura Azure Key Vault se estiveres a usar mTLS ou SASL_SSL protocolos de segurança.
- Carregar 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.
Nota
Dependendo de como o seu cluster Kafka está configurado e do tipo de cluster Kafka que está a usar, alguns destes passos podem não se aplicar a si. Por exemplo, se estiver a usar o Confluent Cloud Kafka, não precisa de carregar um certificado para usar o conector Kafka. Se o seu cluster Kafka estiver dentro de uma rede virtual (VNet) ou atrás de um firewall, poderá ter de configurar o seu trabalho Azure Stream Analytics para aceder ao seu tópico Kafka usando um link privado ou uma configuração de rede dedicada.
Configurar a entrada do Kafka
Configure a entrada Kafka para que o seu trabalho no Azure Stream Analytics possa ligar-se ao seu cluster Kafka e ler um tópico.
Importante
Para configurar o seu cluster 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 suportado pelo Azure Stream Analytics é LogAppendTime. O Azure Stream Analytics suporta apenas o formato decimal numérico.
No seu trabalho no Azure Stream Analytics, adicione uma entrada Kafka.
Defina cada propriedade de entrada usando os valores descritos na tabela seguinte:
Nome da propriedade Descrição Alias de entrada/saída Um nome amigável usado nas consultas para referenciar a sua entrada ou saída. Endereços de servidor Bootstrap Uma lista de pares host/porta para ligar ao cluster Kafka. Tópico Kafka Um fluxo de dados nomeado, ordenado e particionado que suporta a publicação-subscrição e o processamento orientado por eventos de mensagens. Protocolo de Segurança Como você deseja se conectar ao seu cluster Kafka. O Azure Stream Analytics suporta mTLS, SASL_SSL, SASL_PLAINTEXT ou Nenhum. ID do Grupo de Consumidores O nome do grupo de consumidores Kafka ao qual a entrada deve pertencer. O Azure Stream Analytics atribui-o automaticamente se não fornecer um. Formato de serialização de eventos O formato de serialização (JSON, CSV, Avro, Parquet e Protobuf) do fluxo de dados recebido. Guarde a configuração de entrada.
Configurar autenticação e encriptação
Configure autenticação e encriptação para garantir a ligação entre o seu trabalho Azure Stream Analytics e o seu cluster Kafka. Para obter um tutorial passo a passo sobre como estabelecer ligação ao Confluent Cloud Kafka, consulte Stream data from Confluent Cloud Kafka with Azure Stream Analytics como entrada e Stream data from Azure Stream Analytics into Confluent Cloud como saída.
Importante
O Confluent Cloud suporta autenticação através do uso de API Keys, OAuth ou single log-on (SSO) SAML. O Azure Stream Analytics não suporta autenticação de início de sessão único (SSO) OAuth ou SAML. Pode ligar-se à Confluent Cloud usando uma API Key com acesso ao nível do tópico através do 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 seguinte:
Nome da propriedade Descrição mTLS Encriptação e autenticação. Suporta mecanismos de segurança PLAIN, SCRAM-SHA-256 e SCRAM-SHA-512. SASL_SSL Combina dois mecanismos de segurança diferentes, SASL (Camada Simples de Autenticação e Segurança) e Camada de Soquetes Seguros (SSL), para garantir que tanto a autenticação como a encriptação estão implementadas para a transmissão de dados. O protocolo SASL_SSL suporta mecanismos de segurança PLAIN, SCRAM-SHA-256 e SCRAM-SHA-512. SASL_PLAINTEXT Autenticação padrão com nome de utilizador mas sem encriptação. Nenhuma Sem autenticação e criptografia. Configure as credenciais para o protocolo selecionado no seu trabalho Azure Stream Analytics.
Integração com o Azure Key Vault
Azure Stream Analytics integra-se com Azure Key Vault para aceder a segredos armazenados necessários para autenticação e encriptação quando se usam mTLS ou protocolos de segurança SASL_SSL. A sua tarefa do Azure Stream Analytics liga-se ao Azure Key Vault através de uma identidade gerida para garantir uma ligaçã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 o seu trabalho de Azure Stream Analytics com o Azure Key Vault, complete as seguintes tarefas, que as secções seguintes descrevem em detalhe.
Nota
Quando utiliza certificados de trust store com protocolos de segurança mTLS ou SASL_SSL, deve ter Azure Key Vault e identidade gerida configurada para o seu trabalho Azure Stream Analytics. Verifique as configurações de rede do cofre de chaves para garantir que a opção Permitir acesso público de todas as redes esteja selecionada. Se o seu cofre de chaves estiver numa VNet ou permitir acesso apenas de redes específicas, tem de injetar a sua tarefa do Azure Stream Analytics numa VNet que contenha o cofre de chaves, ou injetar a sua tarefa do Azure Stream Analytics numa VNet e, em seguida, ligar o seu cofre de chaves à VNet que contém a tarefa, utilizando pontos finais de serviço.
- Configura o cofre de chaves com as permissões necessárias.
- Carrega o teu certificado no cofre de chaves como segredo.
- Configure a identidade gerida para o seu trabalho no Azure Stream Analytics.
- Conceda permissão ao seu trabalho de Stream Analytics para aceder ao certificado no cofre de chaves.
Configure o cofre de chaves com permissões
Para criar um recurso de cofre de chaves, consulte Início Rápido: Criar um cofre de chaves usando o portal Azure. Precisa de acesso do Key Vault Administrator ao seu Key vault para carregar certificados. Para conceder acesso de administrador, siga estes passos:
Nota
Necessita de permissões de Owner para conceder outras permissões do cofre de chaves.
Selecione Controlo de acesso (IAM) .
Selecione Adicionar>Adicionar atribuição de função para abrir a Adicionar atribuição de função página.
Atribua o papel usando a seguinte configuração:
Configuração Valor Função Administrador do Cofre de Chaves Atribuir acesso a Usuário, grupo ou entidade de serviço Membros <As informações da sua conta ou e-mail>
Carregue o certificado no cofre de chaves
Certifique-se de que tem o CLI do Azure configurado localmente com o PowerShell. Para orientações sobre como configurar o CLI do Azure, consulte Começar com o CLI do Azure.
Os passos seguintes permitem carregar o certificado como um segredo para o seu cofre de chaves.
Importante
Deve ter permissões do Key Vault Administrator para o seu Key vault para que este comando funcione corretamente. Deve carregar o certificado em segredo. Você deve usar a CLI do Azure para carregar certificados como segredos para seu cofre de chaves. O seu trabalho no Azure Stream Analytics falha quando o certificado usado para autenticação expira. Para resolver este problema, atualize ou substitua o certificado no seu cofre de chaves e reinicie o seu trabalho no Azure Stream Analytics.
Entre na CLI do Azure.
az loginLigue-se à subscrição que contém o seu cofre de chaves.
az account set --subscription <subscription name>Carrega o certificado em segredo. Substitui
<your key vault>pelo nome do cofre de chaves,<name of the secret>por qualquer nome que queiras dar ao segredo, e<file path to certificate>pelo caminho para o ficheiro 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 identidade gerenciada
O Azure Stream Analytics requer identidade gerida para aceder ao cofre de chaves. Configure o seu trabalho Azure Stream Analytics para usar identidade gerida indo ao separador Identidade Gerida em Configurar.
Para configurar a identidade gerida, siga estes passos:
Selecione o separador Identidade Gerida em Configurar.
Selecione Switch Identity e selecione a identidade a usar com o trabalho: identidade atribuída ao sistema ou identidade atribuída ao utilizador.
No caso da identidade atribuída pelo utilizador, selecione a subscrição onde está localizada a sua identidade atribuída pelo utilizador e selecione o nome da sua identidade.
Revise e selecione Guardar.
Conceda permissões de trabalho ao Stream Analytics para aceder ao certificado
Para que a sua tarefa do Azure Stream Analytics leia o segredo no seu cofre de chaves, a tarefa deve ter permissão de acesso ao cofre de chaves.
Para conceder permissões ao seu trabalho de Stream Analytics, siga estes passos:
Selecione Controlo de acesso (IAM) .
Selecione Adicionar>Adicionar atribuição de função para abrir a Adicionar atribuição de função página.
Atribua o papel usando a seguinte configuração:
Configuração Valor Função Utilizador do Key Vault Secrets Identidade gerida Trabalho do Stream Analytics para identidade gerenciada atribuída ao sistema ou identidade gerenciada atribuída pelo usuário Membros <Nome do trabalho do Stream Analytics> ou <nome da identidade atribuída pelo usuário>
Limitações e considerações de entrada de Kafka
Se o seu cluster Kafka estiver dentro de uma rede virtual ou atrás de um firewall, configure o seu trabalho Azure Stream Analytics para aceder ao seu tópico Kafka usando um link privado ou uma configuração de rede dedicada. Para mais informações, consulte Executar a sua tarefa do Azure Stream Analytics numa Rede Virtual do Azure.
Considere as seguintes limitações ao usar Kafka como fonte de entrada:
- Quando configurar o seu trabalho 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 usas mTLS ou SASL_SSL com Azure Key Vault, tens de converter a tua Java Key Store para formato PEM.
- A versão mínima do Kafka à qual o Azure Stream Analytics pode ligar-se é a versão 0.10.
- O Azure Stream Analytics não suporta autenticação para o Confluent Cloud usando OAuth ou SAML single log-on (SSO). Deve usar uma API Key através do protocolo SASL_SSL.
Para ajuda direta com a entrada Kafka do Azure Stream Analytics, contacte askasa@microsoft.com.