Compartilhar via


Transmita dados do Kafka na Confluent Cloud com o Azure Stream Analytics

Este artigo descreve como conectar seu trabalho do Azure Stream Analytics diretamente ao Kafka na Confluent Cloud como uma entrada.

Pré-requisitos

  • Você tem um cluster do Kafka na Confluent Cloud.
  • Você tem um arquivo de chave de API para seu cluster do Kafka, que contém a chave de API a ser usada como nome de usuário, segredo da API para usar como senha e o endereço do servidor de inicialização.
  • Você tem um trabalho do Azure Stream Analytics. Você pode criar um trabalho do Azure Stream Analytics de acordo com a documentação: Início Rápido: criar um trabalho do Stream Analytics usando o portal do Azure
  • O seu cluster do Kafka na Confluent Cloud deve ser acessível publicamente e não estar por trás de um firewall ou protegido em uma rede virtual.
  • O tipo de carimbo de data/hora do tópico do cluster do Kafka na Confluent Cloud deve ser LogAppendTime. O padrão para o tópico do Kafka na Confluent Cloud é CreateTime.
  • Você deve ter um cofre de chaves existente. 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

Configurar o Azure Stream Analytics para usar a identidade gerenciada

O Azure Stream Analytics exige que você configure a identidade gerenciada para acessar o cofre de chaves. Você pode configurar seu trabalho de análise de fluxo 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 Mudar de 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 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.

Baixar o certificado do LetsEncrypt

A análise de fluxo do Azure é um cliente baseado em librdkafka e, para se conectar à Confluent Cloud, você precisa de certificados TLS que a Confluent Cloud usa para autenticação de servidor. A Confluent Cloud usa certificados TLS da Let's Encrypt, uma AC (autoridade de certificação aberta).

Baixe o certificado ISRG Root X1 no formato PEM no site da LetsEncrypt.

Captura de tela mostrando o certificado a ser baixado do site de lets encrypt.

Configurar o cofre de chaves com permissões

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. 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. Para usar o certificado baixado, você deverá carregá-lo primeiro no cofre de chaves.

Para carregar os certificados, você deve ter acesso "Administrador do Key Vault" ao cofre de chaves. Faça o seguinte 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. No cofre de chaves, selecione Controle de acesso (IAM).

  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>

Carregue o certificado no cofre de chaves como um segredo via 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 e instalada 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>

Por exemplo:

az account set --subscription mymicrosoftsubscription

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 confluentsecret --file C:\Users\Downloads\isrgrootx1.pem

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 do Stream Analytics:

  1. No cofre de chaves, selecione Controle de acesso (IAM).

  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>

Configurar a entrada do Kafka em seu trabalho de análise de fluxo

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.

  1. No trabalho de análise de fluxo, selecione Entradas em Topologia do trabalho

  2. Selecione Adicionar entrada>Kafka para abrir a folha de configuração Nova entrada do Kafka.

  3. Use a seguinte configuração:

Observação

Para SASL_SSL e SASL_PLAINTEXT, o Azure Stream Analytics dá suporte apenas ao mecanismo de PLAIN SASL.

Nome da propriedade Descrição
Alias de entrada Um nome amigável usado em consultas para referenciar sua entrada
Endereços de servidor de inicialização Uma lista de pares host/porta para estabelecer a conexão com o cluster do Kafka na Confluent Cloud. Exemplo: pkc-56d1g.eastus.azure.confluent.cloud:9092
Tópico do Kafka O nome do tópico do Kafka em seu cluster do Kafka na Confluent Cloud.
Protocolo de Segurança Selecione SASL_SSL. O mecanismo com suporte é PLAIN.
ID do Grupo de Consumidores O nome do grupo de consumidores Kafka do qual a entrada deve fazer parte. Ele será atribuído automaticamente se não for fornecido.
Formato de serialização do evento O formato de serialização (JSON, CSV, Avro, Parquet, Protobuf) do fluxo de dados de entrada.

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 usando o SSO (logon único) do SAML ou OAuth. Você pode se conectar à Confluent Cloud usando uma chave de API que tem acesso no nível do tópico por meio do protocolo de segurança SASL_SSL. Para autenticar na Confluent Cloud, você precisará usar SASL_SSL e configurar seu trabalho para autenticar na Confluent Cloud usando sua chave de API.

Use a seguinte configuração:

Configuração Valor
Nome de Usuário Chave de API da Confluent Cloud
Senha Segredo da API na Confluent Cloud
Nome do cofre de chaves nome do Azure Key Vault com certificado carregado
Certificados Truststore nome do Segredo do Key Vault que contém o certificado ISRG Root X1

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

Salvar a configuração e testar a conexão

Salve a configuração. Seu trabalho do Azure Stream Analytics é validado usando a configuração fornecida. Uma conexão bem-sucedida será exibida no portal se a análise de fluxo puder se conectar ao cluster do Kafka.

Captura de tela mostrando uma entrada kafka de configuração de conexão de teste bem-sucedida.

Limitações

  • O certificado carregado no cofre de chaves deve ser no formato PEM.
  • A versão mínima do Kafka deve ser a versão 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.
  • Você deve usar a CLI do Azure para carregar o certificado como um segredo para o cofre de chaves. Você não pode carregar certificados com segredos de várias linhas no cofre de chaves usando o portal do Azure.

Observação

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

Próximas etapas