Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Apache Kafka es una plataforma de streaming distribuida de código abierto que las aplicaciones utilizan para publicar y suscribirse a los flujos de registros a medida que ocurren. Se utiliza habitualmente para mensajería, seguimiento de actividad web, métricas, agregación de registros y procesamiento de flujos.
Si tus datos fluyen a través de clústeres Kafka, puedes conectar Azure Stream Analytics directamente a esos clústeres para ingerir y procesar esos datos sin crear un consumidor personalizado. La entrada de Kafka es de código reducido, está totalmente gestionada por Microsoft para cumplir los estándares empresariales de cumplimiento normativo y es retrocompatible con las versiones del cliente a partir de la 0.10. Puedes conectarte a clústeres Kafka dentro de una red virtual o con un punto final público, utilizando las convenciones de configuración Kafka existentes. Los tipos de compresión admitidos son None, Gzip, Snappy, LZ4 y Zstd.
Este artículo te muestra cómo configurar un clúster Kafka como fuente de entrada para un trabajo de Azure Stream Analytics.
Configura Kafka como fuente de entrada
En este artículo se muestra cómo configurar Kafka como origen de entrada para Azure Stream Analytics. Trata los pasos siguientes:
- Cree un trabajo de Azure Stream Analytics.
- Configura tu trabajo de Azure Stream Analytics para usar identidad administrada si estás usando los protocolos de seguridad mTLS o SASL_SSL.
- Configura Azure Key Vault si usas mTLS o protocolos de seguridad SASL_SSL.
- Sube certificados como secretos a Azure Key Vault.
- Conceda permisos de Azure Stream Analytics para acceder al certificado cargado.
- Configure la entrada de Kafka en el trabajo de Azure Stream Analytics.
Nota:
Dependiendo de cómo esté configurado tu clúster Kafka y del tipo de clúster Kafka que estés usando, algunos de estos pasos pueden no aplicarse a ti. Por ejemplo, si usas Confluent Cloud Kafka, no necesitas subir un certificado para usar el conector Kafka. Si tu clúster Kafka está dentro de una red virtual (VNet) o detrás de un cortafuegos, puede que tengas que configurar tu trabajo de Azure Stream Analytics para acceder a tu tema Kafka usando un enlace privado o una configuración de red dedicada.
Configurar la entrada Kafka
Configura la entrada de Kafka para que tu trabajo de Azure Stream Analytics pueda conectarse a tu clúster de Kafka y leer desde un tema.
Importante
Para configurar el clúster de Kafka como entrada, el tipo de marca de tiempo del tema de entrada debe ser LogAppendTime. El único tipo de marca de tiempo que admite Azure Stream Analytics es LogAppendTime. Azure Stream Analytics solo admite formato decimal numérico.
En tu trabajo de Azure Stream Analytics, añade una entrada de Kafka.
Establece cada propiedad de entrada usando los valores descritos en la siguiente tabla:
Nombre de propiedad Descripción Alias de entrada/salida Un nombre amistoso usado en consultas para referenciar tu entrada o salida. Direcciones del servidor de inicio Bootstrap Una lista de pares host/puerto para conectar al clúster Kafka. Tema de Kafka Un flujo de datos nombrado, ordenado y particionado que soporta la publicación-suscripción y el procesamiento basado en eventos de mensajes. Protocolo de seguridad Cómo desea conectarse al clúster de Kafka. Azure Stream Analytics admite mTLS, SASL_SSL, SASL_PLAINTEXT o Ninguno. Identificador del grupo de consumidores Nombre del grupo de consumidores de Kafka del que la entrada debe formar parte. Azure Stream Analytics lo asigna automáticamente si no lo proporcionas. Formato de serialización de eventos El formato de serialización (JSON, CSV, Avro, Parquet y Protobuf) del flujo de datos entrante. Guarda la configuración de entrada.
Configurar autenticación y cifrado
Configura autenticación y cifrado para asegurar la conexión entre tu trabajo de Azure Stream Analytics y tu clúster Kafka. Para un tutorial paso a paso sobre cómo conectarse a Confluent Cloud Kafka, consulta Stream data from Confluent Cloud Kafka with Azure Stream Analytics para la entrada y Stream data from Azure Stream Analytics into Confluent Cloud para la salida.
Importante
Confluent Cloud soporta autenticación mediante el uso de claves API, OAuth o inicio de sesión único (SSO) SAML. Azure Stream Analytics no admite la autenticación mediante OAuth ni el inicio de sesión único (SSO) de SAML. Puedes conectarte a Confluent Cloud usando una clave API con acceso a nivel de tema mediante el protocolo de seguridad SASL_SSL.
Elige uno de los cuatro protocolos de seguridad soportados que coincida con tu clúster Kafka, como se describe en la siguiente tabla:
Nombre de propiedad Descripción mTLS Cifrado y autenticación. Admite mecanismos de seguridad PLAIN, SCRAM-SHA-256 y SCRAM-SHA-512. SASL_SSL Combina dos mecanismos de seguridad diferentes, SASL (Simple Authentication and Security Layer) y Secure Sockets Layer (SSL), para garantizar que tanto la autenticación como el cifrado estén implementados para la transmisión de datos. El protocolo SASL_SSL admite mecanismos de seguridad PLAIN, SCRAM-SHA-256 y SCRAM-SHA-512. SASL_PLAINTEXT Autenticación estándar con nombre de usuario pero sin cifrado. None Sin autenticación ni cifrado. Configura las credenciales para el protocolo seleccionado en tu trabajo de Azure Stream Analytics.
Integración con Azure Key Vault
Azure Stream Analytics se integra con Azure Key Vault para acceder a los secretos almacenados necesarios para la autenticación y el cifrado cuando se usan mTLS o protocolos de seguridad SASL_SSL. Tu trabajo en Azure Stream Analytics se conecta con tu Azure Key Vault usando la identidad gestionada para asegurar una conexión segura y evitar la extracción de secretos. Los certificados se almacenan como secretos en el almacén de claves y deben estar en formato PEM. Para integrar tu trabajo de Azure Stream Analytics con Azure Key Vault, completa las siguientes tareas, que las siguientes secciones describen en detalle.
Nota:
Cuando uses certificados del almacén de confianza con los protocolos de seguridad mTLS o SASL_SSL, debes tener configurados Azure Key Vault y una identidad administrada para tu trabajo de Azure Stream Analytics. Compruebe la configuración de red del almacén de claves para asegurarse de que está seleccionada Permitir el acceso público desde todas las redes. Si tu bóveda de claves está en un VNet o solo permite el acceso desde redes específicas, debes inyectar tu trabajo de Azure Stream Analytics en un VNet que contenga el bóveda de claves, o inyectar tu trabajo de Azure Stream Analytics en un VNet y luego conectar tu bóveda de claves al trabajo que contiene VNet usando endpoints de servicio.
- Configura el refugio de claves con los permisos requeridos.
- Carga tu certificado en el almacén de claves como un secreto.
- Configura la identidad gestionada para tu trabajo en Azure Stream Analytics.
- Concede permiso a tu trabajo de Stream Analytics para acceder al certificado en la bóveda de claves.
Configura el Key Vault con permisos
Para crear un recurso de bóveda de llaves, consulta Inicio rápido: Crear una bóveda de llaves usando el portal de Azure. Necesitas acceso de Key Vault Administrator a tu Key vault para subir los certificados. Para conceder acceso de administrador, sigue estos pasos:
Nota:
Necesitas permisos de Propietario para conceder otros permisos del almacén de claves.
Seleccione Access Control (IAM) .
Seleccione Agregar>Agregar asignación de roles para abrir la página Agregar asignación de roles.
Asigna el rol usando la siguiente configuración:
Configuración Valor Rol Administrador de Key Vault Asignar acceso a Usuario, grupo o entidad de servicio Miembros <Su información de cuenta o correo electrónico>
Sube el certificado a la bóveda de claves
Asegúrate de tener CLI de Azure configurado localmente con PowerShell. Para orientación sobre cómo configurar CLI de Azure, consulta Empezar con CLI de Azure.
Los siguientes pasos suben el certificado como secreto a tu bóveda de llaves.
Importante
Debes tener permisos de administrador de Key Vault para tu Key vault para que este comando funcione correctamente. Debes subir el certificado en secreto. Debe usar la CLI de Azure para cargar certificados como secretos en la bóveda de claves. Tu trabajo de Azure Stream Analytics falla cuando expira el certificado usado para la autenticación. Para resolver este problema, actualiza o reemplaza el certificado en tu bóveda de claves y reinicia tu trabajo de Azure Stream Analytics.
Inicie sesión en la CLI de Azure.
az loginConéctese a la suscripción que contiene su almacén de claves.
az account set --subscription <subscription name>Sube el certificado en secreto. Sustituye
<your key vault>por el nombre de la bóveda de claves,<name of the secret>por cualquier nombre que quieras dar al secreto y<file path to certificate>por la ruta hacia tu archivo de certificados. Puede hacer clic con el botón derecho 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 kafkasecret --file C:\Users\Downloads\certificatefile.pem
Configuración de una identidad administrada
Azure Stream Analytics requiere identidad gestionada para acceder a la bóveda de claves. Configura tu trabajo de Azure Stream Analytics para usar la identidad gestionada yendo a la pestaña de Identidad gestionada bajo Configurar.
Para configurar la identidad gestionada, sigue estos pasos:
Selecciona la pestaña de Identidad Gestionada en Configurar.
Selecciona Identidad del Conmutador y selecciona la identidad que vas a usar con el trabajo: identidad asignada al sistema o identidad asignada al usuario.
Para la identidad asignada por el usuario, selecciona la suscripción donde se encuentra tu identidad asignada por el usuario y selecciona el nombre de tu identidad.
Revisa y selecciona Guardar.
Concede permisos de trabajo de Stream Analytics para acceder al certificado
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.
Para conceder permisos a tu trabajo de Stream Analytics, sigue estos pasos:
Seleccione Access Control (IAM) .
Seleccione Agregar>Agregar asignación de roles para abrir la página Agregar asignación de roles.
Asigna el rol usando la siguiente configuración:
Configuración Valor Rol 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>
Limitaciones y consideraciones de entrada de Kafka
Si tu clúster Kafka está dentro de una red virtual o detrás de un cortafuegos, configura tu trabajo de Azure Stream Analytics para acceder a tu tema de Kafka usando un enlace privado o una configuración de red dedicada. Para más información, consulta Ejecutar tu trabajo de Azure Stream Analytics en una Azure Virtual Network.
Considera las siguientes limitaciones cuando uses Kafka como fuente de entrada:
- Cuando configures tu trabajo de Azure Stream Analytics para usar Virtual Network/SWIFT, configura el trabajo con al menos seis unidades de streaming o una unidad de streaming V2.
- Cuando usas mTLS o SASL_SSL con Azure Key Vault, debes convertir tu Java Key Store al formato PEM.
- La versión mínima de Kafka a la que Azure Stream Analytics puede conectarse es la versión 0.10.
- Azure Stream Analytics no soporta autenticación a Confluent Cloud mediante OAuth o inicio de sesión único SAML (SSO). Debes usar una clave API mediante el protocolo SASL_SSL.
Para obtener ayuda directa con la entrada de Kafka en Azure Stream Analytics, póngase en contacto con askasa@microsoft.com.