Transmitir dados do Azure Stream Analytics para a Confluent Cloud
Este artigo descreve como conectar seu trabalho do Azure Stream Analytics diretamente ao Kafka na Confluent Cloud como uma saída.
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.
- 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 do ASA para usar a identidade gerenciada navegando até a guia Identidade Gerenciada no lado esquerdo, em Configurar.
- Clique na guia Identidade gerenciada em Configurar.
- 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.
- 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.
- Revise e salve.
Baixar o certificado do LetsEncrypt
A saída do Kafka do Stream Analytics é um cliente baseado em librdkafka. Para a saída se conectar à Confluent Cloud, você precisa de certificados TLS que a Confluent Cloud usa para a autenticação do 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.
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 ao usar protocolos de segurança mTLS ou SASL_SSL. 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.
No seu cofre de chaves, selecione Controle de acesso (IAM).
Selecione Adicionar>Adicionar atribuição de função para abrir a página Adicionar atribuição de função.
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 o local do certificado baixado. Você pode clicar com o botão direito do mouse no certificado 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:
No cofre de chaves, selecione Controle de acesso (IAM).
Selecione Adicionar>Adicionar atribuição de função para abrir a página Adicionar atribuição de função.
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 saída do Kafka em seu trabalho do Stream Analytics
No trabalho do Stream Analytics, selecione Saídas em Topologia do Trabalho
Selecione Adicionar saída>Kafka para abrir a folha de configuração Nova saída do Kafka.
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 saída | 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. |
Formato de serialização do evento | O formato de serialização (JSON, CSV, Avro, Parquet, Protobuf) do fluxo de dados de entrada. |
Chave de partição | O Azure Stream Analytics atribui partições usando particionamento circular. Deixe em branco se uma chave não particionar sua entrada |
Tipo de compactação do evento do Kafka | O tipo de compactação usado para fluxos de dados de saída, como Gzip, Snappy, Lz4, Zstd ou None. |
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 na 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 cofre de chaves que contém o certificado ISRG Root X1 |
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 de teste bem-sucedida será exibida no portal se o trabalho do Stream Analytics puder se conectar ao cluster do Kafka.
Limitações
- O certificado carregado no cofre de chaves deve estar no formato PEM.
- A versão mínima do Kafka deve ser a versão 0.10 do Kafka.
- 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 saída do Kafka do Azure Stream Analytics, entre em contato com askasa@microsoft.com.