Compartir a través de


Transmisión de datos de Azure Stream Analytics a Confluent Cloud

En este artículo se describe cómo conectar el trabajo de Azure Stream Analytics directamente a Confluent Cloud Kafka como salida.

Requisitos previos

  • Tiene un clúster de Confluent Cloud Kafka.
  • Tiene un archivo de clave de API para el clúster de Kafka, que contiene la clave de API que se va a usar como nombre de usuario, secreto de API para usarlo como contraseña y la dirección del servidor de arranque.
  • Tiene un trabajo de Azure Stream Analytics. Puede crear un trabajo de Azure Stream Analytics siguiendo la documentación: Inicio rápido: Creación de un trabajo de Stream Analytics mediante Azure Portal
  • El clúster de Confluent Cloud Kafka debe ser accesible públicamente y no estar detrás de un firewall o protegido en una red virtual.
  • Debe tener un almacén de claves existente. Puede crear un recurso de almacén de claves siguiendo la documentación Inicio rápido: Creación de un almacén de claves mediante Azure Portal

Configuración de Azure Stream Analytics para usar la identidad administrada

Azure Stream Analytics requiere configurar la identidad administrada para acceder al almacén de claves. Puede configurar el trabajo de ASA para usar la identidad administrada; para ello, vaya a la pestaña Identidad administrada situada a la izquierda en Configurar.

Screenshot showing how to configure managed identity for an ASA job.

  1. Haga clic en la pestaña Identidad administrada en Configurar.
  2. Seleccione en Cambiar identidad y seleccione la identidad que se usará con el trabajo: identidad asignada por el sistema o identidad asignada por el usuario.
  3. Para la identidad asignada por el usuario, seleccione la suscripción en la que se encuentra la identidad asignada por el usuario y seleccione el nombre de la identidad.
  4. Revise y guarde.

Descargar certificado de LetsEncrypt

La salida de Kafka de Stream Analytics es un cliente basado en librdkafka. Para que la salida se conecte a Confluent Cloud, necesita certificados TLS que use Confluent Cloud para la autenticación del servidor. Confluent Cloud usa certificados TLS de Let’s Encrypt, una entidad de certificación (CA) abierta.

Descargue el certificado ISRG Root X1 en formato PEM en el sitio de LetsEncrypt.

Screenshot showing the certificate to download from the website of lets encrypt.

Configuración de Key Vault con permisos

Azure Stream Analytics se integra perfectamente con el almacén de claves de Azure para acceder a los secretos almacenados necesarios para la autenticación y el cifrado cuando se utilizan protocolos de seguridad mTLS o SASL_SSL. El trabajo de Azure Stream Analytics se conecta a la instancia de Azure Key Vault mediante una identidad administrada para garantizar una conexión segura y evitar la filtración de secretos. Para usar el certificado que descargó, primero debe cargarlo en el almacén de claves.

Para cargar certificados, debe tener acceso de "Administrador de Key Vault" al almacén de claves. Siga los siguientes pasos para conceder acceso de administrador:

Nota:

Debe tener permisos de "Propietario" para conceder otros permisos del almacén de claves.

  1. En el almacén de claves, seleccione Control de acceso (IAM).

  2. Seleccione Agregar>Agregar asignación de roles para abrir la página Agregar asignación de roles.

  3. Asigne el rol mediante la siguiente configuración:

Configuración Valor
Role Administrador de Key Vault
Asignar acceso a Usuario, grupo o entidad de servicio
Miembros <Su información de cuenta o correo electrónico>

Carga del certificado en Key Vault como secreto a través de la CLI de Azure

Importante

Para que este comando funcione correctamente debe tener acceso con permisos de "Administrador de Key Vault" a su almacén de claves Debe cargar el certificado como un secreto. Debe usar la CLI de Azure para cargar certificados como secretos en el almacén de claves. El trabajo de Azure Stream Analytics producirá un error cuando expire el certificado usado para la autenticación. Para resolverlo, debe actualizar o reemplazar el certificado en el almacén de claves y reiniciar el trabajo de Azure Stream Analytics.

Asegúrese de que tiene la CLI de Azure configurada e instalada localmente con PowerShell. Puede visitar esta página para obtener instrucciones sobre cómo configurar la CLI de Azure: Introducción a la CLI de Azure

Inicio de sesión en la CLI de Azure:

az login

Conexión a la suscripción que contiene el almacén de claves:

az account set --subscription <subscription name>

Por ejemplo:

az account set --subscription mymicrosoftsubscription

El siguiente comando puede cargar el certificado como un secreto en el almacén de claves:

<your key vault> es el nombre del almacén de claves al que desea cargar el certificado. <name of the secret> es cualquier nombre que quiera asignar al secreto y cómo se muestra en el almacén de claves. <file path to certificate> es la ruta de acceso a la ubicación del certificado descargado. Puede hacer clic con el botón derecho en el certificado y copiar la ruta de acceso al certificado.

az keyvault secret set --vault-name <your key vault> --name <name of the secret> --file <file path to certificate>

Por ejemplo:

az keyvault secret set --vault-name mykeyvault --name confluentsecret --file C:\Users\Downloads\isrgrootx1.pem

Concesión de los permisos del trabajo de Stream Analytics para acceder al certificado en el almacén de claves

Para que el trabajo de Azure Stream Analytics lea el secreto en el almacén de claves, el trabajo debe tener permiso para acceder al almacén de claves. Siga estos pasos para conceder permisos especiales al trabajo de Stream Analytics:

  1. En el almacén de claves, seleccione Control de acceso (IAM).

  2. Seleccione Agregar>Agregar asignación de roles para abrir la página Agregar asignación de roles.

  3. Asigne el rol mediante la siguiente configuración:

Configuración Valor
Role Usuario de secretos de Key Vault
Identidad administrada Trabajo de Stream Analytics para la identidad administrada asignada por el sistema o la identidad administrada asignada por el usuario
Miembros <Nombre del trabajo de Stream Analytics> o <nombre de identidad asignada por el usuario>

Configuración de la salida de Kafka en el trabajo de Stream Analytics

  1. En su trabajo de Stream Analytics, seleccione Salidas en Topología de trabajo

  2. Seleccione Agregar salida>Kafka para abrir la hoja Nueva configuración de salida de Kafka.

  3. Use la configuración siguiente:

Nota:

Para SASL_SSL y SASL_PLAINTEXT, Azure Stream Analytics solo admite el mecanismo PLAIN SASL.

Nombre de propiedad Descripción
Alias de salida Un nombre descriptivo que se usa en las consultas para hacer referencia a la entrada
Direcciones del servidor de arranque Lista de pares host/puerto para establecer la conexión con el clúster de Confluent Cloud Kafka. Ejemplo: pkc-56d1g.eastus.azure.confluent.cloud:9092
Tema de Kafka El nombre del tema de Kafka en el clúster de Confluent Cloud Kafka.
Protocolo de seguridad Seleccione SASL_SSL. El mecanismo admitido es PLAIN.
Formato de serialización de eventos Formato de serialización (JSON, CSV, Avro, Parquet o Protobuf) del flujo de datos entrante.
Clave de partición Azure Stream Analytics asigna particiones mediante la creación de particiones redondas. Mantenga en blanco si una clave no particiona la entrada
Tipo de compresión de eventos kafka Tipo de compresión usado para flujos de datos salientes, como Gzip, Snappy, Lz4, Zstd o None.

Importante

Confluent Cloud admite la autenticación mediante claves de API, OAuth o inicio de sesión único (SSO) de SAML. Azure Stream Analytics no admite la autenticación mediante OAuth ni el inicio de sesión único (SSO) de SAML. Puede conectarse a Confluent Cloud mediante una clave de API que tenga acceso de nivel de tema mediante el protocolo de seguridad SASL_SSL. Para autenticarse en Confluent Cloud, deberá usar SASL_SSL y configurar el trabajo para autenticarse en Confluent Cloud mediante la clave de API.

Use la configuración siguiente:

Configuración Valor
Nombre de usuario clave de API de Confluent Cloud
Contraseña secreto de API de Confluent Cloud
Nombre del almacén de claves Nombre de almacén de claves de Azure con certificado cargado
Certificados de almacén de confianza nombre del secreto del almacén de claves que contiene el certificado ISRG Root X1

Screenshot showing how to configure kafka output for a stream analytics job.

Guardar la configuración y probar la conexión

Guarde la configuración. El trabajo de Azure Stream Analytics se valida mediante la configuración proporcionada. Se muestra una conexión de prueba correcta en el portal si el trabajo de Stream Analytics puede conectarse al clúster de Kafka.

Screenshot showing successful test connection to confluent kafka output.

Limitaciones

  • El certificado que cargue en el almacén de claves debe estar en formato PEM.
  • La versión mínima de Kafka debe ser Kafka versión 0.10.
  • Azure Stream Analytics no admite la autenticación en Confluent Cloud mediante OAuth ni el inicio de sesión único (SSO) de SAML. Debe usar la clave de API mediante el protocolo SASL_SSL.
  • Debe usar la CLI de Azure para cargar el certificado como secreto en el almacén de claves. No se pueden cargar certificados con secretos de varias líneas en el almacén de claves mediante Azure Portal.

Nota:

Para obtener ayuda directa con el uso de la salida de Kafka de Azure Stream Analytics, póngase en contacto con askasa@microsoft.com.

Pasos siguientes