Partilhar via


Transmita dados do Kafka na nuvem confluente com o Azure Stream Analytics

Este artigo descreve como conectar seu trabalho do Azure Stream Analytics diretamente ao kafka de nuvem confluente como uma entrada.

Pré-requisitos

  • Você tem um cluster kafka na nuvem confluente.
  • Você tem um arquivo de chave de API para seu cluster kafka que contém a chave de API para usar como um nome de usuário, segredo de API para usar como senha e o endereço do servidor Bootstrap.
  • Você tem um trabalho do Azure Stream Analytics. Você pode criar um trabalho do Azure Stream Analytics seguindo a documentação: Guia de início rápido: criar um trabalho do Stream Analytics usando o portal do Azure
  • Seu cluster kafka na nuvem confluente deve ser acessível publicamente e não estar protegido em um firewall ou protegido em uma rede virtual.
  • O tipo de carimbo de data/hora do tópico do cluster kafka da nuvem confluente deve ser LogAppendTime. O padrão para o tópico kafka da nuvem confluente é CreateTime.
  • Você deve ter um cofre de chaves existente. Você pode criar um recurso de cofre de chaves seguindo a documentação Guia de 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 em 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 identidade atribuída pelo usuário, selecione a assinatura onde sua identidade atribuída pelo usuário está localizada e selecione o nome da sua identidade.
  4. Reveja e guarde.

Baixar certificado de LetsEncrypt

O Azure stream analytics é um cliente baseado em librdkafka e, para se conectar à nuvem confluente, você precisa de certificados TLS que a nuvem confluente usa para autenticação de servidor. A nuvem confluente usa certificados TLS da Let's Encrypt, uma autoridade de certificação (CA) aberta.

Faça o download do certificado ISRG Root X1 em formato PEM no site da LetsEncrypt.

Captura de tela mostrando o certificado para baixar do site de permite criptografar.

Configurar cofre de chaves com permissões

O Azure Stream Analytics integra-se perfeitamente com o cofre da Chave do Azure para aceder aos segredos armazenados necessários para autenticação e encriptação. Seu trabalho do Azure Stream Analytics se conecta ao seu cofre da Chave do Azure usando a identidade gerenciada para garantir uma conexão segura e evitar a exfiltração de segredos. Para usar o certificado que você baixou, você deve carregá-lo para o cofre de chaves primeiro.

Para carregar certificados, tem de ter acesso "Key Vault Administrator" ao seu cofre de chaves. Siga o seguinte para conceder acesso de administrador:

Nota

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

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

  2. Selecione 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:

Definição Value
Role 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>

Carregar certificado para o Cofre de chaves como um segredo por meio da CLI do Azure

Importante

Você deve ter permissões de "Administrador do Cofre de Chaves" de acesso ao seu Cofre de Chaves para que este comando funcione corretamente Você deve carregar o certificado como um segredo. Você deve usar a CLI do Azure para carregar certificados como segredos para seu cofre de chaves. Seu trabalho do Azure Stream Analytics falhará quando o certificado usado para autenticação expirar. Para resolver isso, você deve atualizar/substituir o certificado em seu cofre de chaves e reiniciar seu 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ção sobre como configurar a CLI do Azure: Introdução à CLI do Azure

Faça 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 um segredo para o cofre de chaves:

O <your key vault> é o nome do cofre de chaves para o qual você deseja carregar o certificado. <name of the secret> é qualquer nome que você queira dar ao seu segredo e como ele aparece no cofre da chave. <file path to certificate> é o caminho para onde o certificado está localizado. 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

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

Para que seu trabalho do Azure Stream Analytics leia o segredo em seu 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. No cofre de chaves, selecione Controle de acesso (IAM).

  2. Selecione 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:

Definição Value
Role Usuário de segredos do cofre de chaves
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>

Configurar a entrada kafka em seu trabalho de análise de fluxo

Importante

Para configurar 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.

  1. Em seu trabalho de análise de fluxo, selecione Entradas em Topologia de trabalho

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

  3. Utilize a seguinte configuração:

Nota

Para SASL_SSL e SASL_PLAINTEXT, o Azure Stream Analytics suporta apenas o mecanismo SASL PLAIN.

Property name Description
Alias de Entrada Um nome amigável usado em consultas para fazer referência à sua entrada
Endereços do servidor de bootstrap Uma lista de pares host/porta para estabelecer a conexão com seu cluster kafka de nuvem confluente. Exemplo: pkc-56d1g.eastus.azure.confluent.cloud:9092
Tópico Kafka O nome do seu tópico kafka no seu cluster kafka na nuvem confluente.
Protocolo de Segurança Selecione SASL_SSL. O mecanismo suportado é PLAIN.
ID do Grupo de Consumidores O nome do grupo de consumidores Kafka do qual a entrada deve fazer parte. Será atribuído automaticamente se não for fornecido.
Formato de serialização de eventos O formato de serialização (JSON, CSV, Avro, Parquet, Protobuf) do fluxo de dados de entrada.

Importante

O Confluent Cloud suporta autenticação usando chaves de API, OAuth ou logon único (SSO) SAML. O Azure Stream Analytics não dá suporte à autenticação usando OAuth ou logon único (SSO) SAML. Você pode se conectar à nuvem confluente usando uma chave de API que tem acesso em nível de tópico por meio do protocolo de segurança SASL_SSL. Para autenticar em nuvem confluente, você precisará usar SASL_SSL e configurar seu trabalho para autenticar em nuvem confluente usando sua chave de API.

Utilize a seguinte configuração:

Definição Value
Username chave de API na nuvem confluente
Palavra-passe segredo da API da nuvem confluente
Nome do Key Vault nome do cofre da Chave do Azure com certificado carregado
Certificados de armazenamento confiável nome do segredo do cofre da chave que contém o certificado ISRG Root X1

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

Salvar configuração e testar conexão

Salve sua configuração. Seu trabalho do Azure Stream Analytics é validado usando a configuração fornecida. Uma conexão bem-sucedida mostra no portal se sua análise de fluxo pode se conectar ao seu cluster kafka.

Captura de tela mostrando a entrada kafka confluente da conexão de teste bem-sucedida.

Limitações

  • O certificado carregado no cofre de chaves deve ter o formato PEM.
  • A versão mínima do kafka deve ser a versão 0.10.
  • O Azure Stream Analytics não oferece suporte à autenticação para nuvem confluente usando OAuth ou logon único (SSO) 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. Não é possível carregar certificados com segredos de várias linhas no cofre de chaves usando o portal do Azure.

Nota

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

Próximos passos