Transmita dados do Azure Stream Analytics para a nuvem confluente
Este artigo descreve como conectar seu trabalho do Azure Stream Analytics diretamente ao kafka de nuvem confluente como uma saída.
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.
- 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 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 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.
- 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.
- Reveja e guarde.
Baixar certificado de LetsEncrypt
A saída kafka de análise de fluxo é um cliente baseado em librdkafka. Para que a saída se conecte à 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.
Configurar o 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 ao utilizar protocolos de segurança mTLS ou SASL_SSL. 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.
No keyvault, selecione Controle de acesso (IAM).
Selecione 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:
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 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
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:
No cofre de chaves, selecione Controle de acesso (IAM).
Selecione 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:
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 saída kafka em seu trabalho de análise de fluxo
Em seu trabalho de análise de fluxo, selecione Saídas em Topologia de trabalho
Selecione Adicionar saída>Kafka para abrir a folha Kafka Nova configuração de saída.
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 Saída | 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. |
Formato de serialização de eventos | 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 redondo. Mantenha-se em branco se uma chave não particionar a sua entrada |
Tipo de compressão de eventos Kafka | O tipo de compactação usado para fluxos de dados de saída, como Gzip, Snappy, Lz4, Zstd ou None. |
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 de chaves que contém o certificado ISRG Root X1 |
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 de teste bem-sucedida aparece no portal se seu trabalho de análise de fluxo puder se conectar ao cluster kafka.
Limitações
- O certificado carregado para o cofre de chaves deve estar no formato PEM.
- A versão mínima do kafka deve ser kafka 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 saída Kafka do Azure Stream Analytics, entre em contato com askasa@microsoft.com.