Adicionar origem do Apache Kafka a um fluxo de eventos Fabric

Este artigo mostra como adicionar a origem do Apache Kafka a um fluxo de eventos Fabric.

O Apache Kafka é uma plataforma distribuída de software livre para a criação de sistemas de dados escalonáveis e em tempo real. Ao integrar o Apache Kafka como uma fonte em seu fluxo de eventos, você pode trazer eventos em tempo real diretamente do Apache Kafka e processá-los antes de roteá-los para vários destinos dentro de Fabric.

Pré-requisitos

  • Acesso ao workspace Fabric com permissões de nível Colaborador ou superior.

  • Um cluster do Apache Kafka em execução.

  • O Apache Kafka deve ser acessível publicamente e não estar atrás de um firewall ou protegido em uma rede virtual. Se ele residir em uma rede protegida, conecte-se a ela usando a injeção de rede virtual do conector Eventstream.

  • Se você planeja usar configurações TLS/mTLS, verifique se os certificados necessários estão disponíveis em um Azure Key Vault:

    • Importe os certificados necessários para Azure Key Vault no formato .pem.
    • O usuário que configura os dados de origem e visualizações deve ter permissão para acessar os certificados no Key Vault (por exemplo, Key Vault Usuário de Certificado ou Key Vault Administrador).
    • Se o usuário atual não tiver as permissões necessárias, os dados não poderão ser visualizados dessa fonte no Eventstream.

Adicionar o Apache Kafka como origem

Se você ainda não adicionou nenhuma fonte ao fluxo de eventos, selecione o bloco Conectar fontes de dados . Você também pode selecionar Adicionar fonte>Conectar fontes de dados na faixa de opções.

Captura de tela que mostra a seleção do azulejo para usar uma fonte externa.

Se você estiver adicionando a origem a um fluxo de eventos já publicado, alterne para o modo Editar. Na faixa de opções, selecione Adicionar fonte>Conectar fontes de dados.

Captura de tela que mostra seleções para adicionar fontes externas.

Na página Selecionar uma fonte de dados ou fontes de dados, selecione Apache Kafka.

Captura de tela que mostra a seleção do Apache Kafka como o tipo de origem no assistente Obter eventos.

Configurar e conectar-se ao Apache Kafka

  1. Na página Conectar, selecione Nova conexão.

    Captura de tela que mostra a seleção do link Nova conexão na página Conectar do assistente Obter eventos.

  2. Na seção Configurações de conexão, para o Bootstrap Server, insira um ou mais endereços de servidor Bootstrap do Kafka. Separe vários endereços com vírgulas (,).

    Captura de tela que mostra a seleção do campo do servidor Apache Kafka Bootstrap na página Conectar do assistente para obter eventos.

  3. Na seção Credenciais de conexão , se você tiver uma conexão existente com o cluster do Apache Kafka, selecione-a na lista suspensa para Conexão. Caso contrário, siga estas etapas:

    1. Em Nome da conexão, insira um nome para a conexão.
    2. Em Tipo de autenticação, confirme se a Chave de API está selecionada.
    3. Em Chave e Segredo, insira a chave de API e o segredo da chave.

      Observação

      Se você usar apenas o mTLS para fazer a autenticação, poderá adicionar qualquer cadeia de caracteres na seção Chave durante a criação da conexão.

  4. Selecione Conectar. 

  5. Agora, na página Conectar, siga estas etapas.

    1. Em Tópico, insira o tópico Kafka.

    2. Em Grupo de consumidores, insira o grupo de consumidores do cluster do Apache Kafka. Esse campo fornece um grupo de consumidores dedicado para receber eventos.

    3. Selecione Redefinir deslocamento automático para especificar onde começar a ler os deslocamentos, se não houver confirmação.

    4. Para o protocolo de segurança, selecione uma das seguintes opções:

      • SASL_SSL: Use essa opção quando o cluster Kafka usará a autenticação baseada em SASL. Por padrão, o certificado de servidor do agente Kafka deve ser assinado por uma AC (Autoridade de Certificação) incluída na lista de CAs confiáveis. Se o cluster Kafka usar uma AC personalizada, você poderá configurá-la usando as configurações do TLS/mTLS.
      • SSL (mTLS): use essa opção quando o cluster Kafka exigir autenticação mTLS e você deve configurar um certificado de AC do servidor personalizado e um certificado de cliente nas configurações do TLS/mTLS.
    5. O mecanismo SASL padrão normalmente é PLAIN, a menos que configurado de outra forma. Você pode selecionar o mecanismo SCRAM-SHA-256 ou SCRAM-SHA-512 que atende aos seus requisitos de segurança.

    6. Se o cluster Kafka usar uma AC personalizada ou exigir mTLS, expanda as configurações do TLS/mTLS e defina as seguintes opções conforme necessário:

      • Confiar no certificado da autoridade de certificação (AC): Habilite esta opção para configurar o certificado da AC do servidor. Selecione sua assinatura, grupo de recursos e cofre de chaves e forneça o nome do certificado.
      • Certificado e chave do cliente: habilite essa opção para configurar o certificado e a chave do cliente.
        • Use o mesmo cofre de chaves da autoridade certificadora: marque essa caixa de seleção quando ambos os certificados forem armazenados no mesmo cofre de chaves. Em seguida, forneça o nome do certificado.
        • Se você não selecionar essa caixa de seleção, selecione a assinatura, o grupo de recursos e o cofre de chaves e forneça o nome do certificado.

      Observação

      Para fontes em uma rede privada, verifique se o Azure Key Vault que contém seus certificados está conectado à rede virtual do Azure usada pelo gateway de dados da rede virtual para streaming, para a integração do conector Eventstream na rede virtual (por exemplo, via um endpoint privado).

    Captura de tela que mostra a primeira página das configurações de conexão do Apache Kafka.

Requisitos de certificado TLS/mTLS

Se você configurou configurações TLS/mTLS, consulte esta seção para obter especificações de formato de certificado e erros comuns de configuração ao carregar para Azure Key Vault.

Cadeia de certificados

Certificate Tamanho da chave Assinado por Purpose
Certificado CA RSA de 4096 bits Autoassinado Âncora de confiança – o corretor verifica os certificados do cliente contra esta CA.
Certificado do servidor RSA de 2048 bits AC Identidade do agente – o cliente verifica se o agente é quem ele afirma ser.
Certificado do cliente RSA de 2048 bits AC Identidade do cliente – o agente verifica se o conector está autorizado.

Requisitos de SAN do certificado do servidor

O certificado do servidor deve incluir o endereço IP do broker e o nome DNS no SAN (Nome Alternativo da Entidade) para passar a verificação de nome de host (ssl.endpoint.identification.algorithm=https):

subjectAltName:
  DNS.1 = {broker FQDN}
  DNS.2 = localhost
  IP.1  = {broker public IP}
  IP.2  = 127.0.0.1

Carregar certificados para Azure Key Vault

Os certificados são carregados como objetos de certificado Azure Key Vault no formato PEM. O arquivo de pacote PEM é certificado + chave privada concatenada em um arquivo:

-----BEGIN CERTIFICATE-----
MIIExjCCA...
-----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIB...
-----END RSA PRIVATE KEY-----

Use uma política de importação que corresponda às propriedades principais:

{
  "secretProperties": {
    "contentType": "application/x-pem-file"
  },
  "keyProperties": {
    "exportable": true,
    "keyType": "RSA",
    "keySize": 4096,
    "reuseKey": false
  },
  "issuerParameters": {
    "name": "Unknown"
  }
}

Para importar o certificado, execute o seguinte comando:

az keyvault certificate import \
  --vault-name {kvName} \
  --name {certName} \
  --file {pemBundleFile} \
  --policy @{policyFile}

Erros comuns

Evite Em vez disso, faça isso
Carregar como PKCS#12/PFX Use o formato PEM com contentType: application/x-pem-file.
Carregar certificado sem chave privada O pacote PEM deve conter o certificado e a chave.
Definir keySize: 2048 para uma chave de 4096 bits O keySize valor deve corresponder ao tamanho real da chave.
Defina issuerParameters.name: "Self" Use "Unknown" para certificados assinados externamente.
Usar terminadores de linha do Windows (CRLF) O arquivo PEM deve usar terminações de linha unix (somente LF).

Exibir o Eventstream atualizado

Você pode ver a fonte do Apache Kafka que foi adicionada ao fluxo de eventos no modo Editar. 

Captura de tela que mostra a origem do Apache Kafka na exibição de edição.

Depois de concluir essas etapas, a origem do Apache Kafka estará disponível para visualização no Modo de exibição ao vivo.

Captura de tela que mostra a origem do Apache Kafka no Modo de exibição ao vivo.

Observação

Para visualizar eventos dessa fonte do Apache Kafka, verifique se a chave usada para criar a conexão de nuvem tem permissão de leitura para grupos de consumidores prefixados com "preview-".

Para a origem do Apache Kafka, somente as mensagens no formato JSON podem ser visualizadas.

Captura de tela que mostra a visualização de dados de origem do Apache Kafka.

Outros conectores: