Agregar un origen Kafka de Amazon MSK a un flujo de eventos

En este artículo se muestra cómo agregar un origen de Kafka de Amazon MSK a una secuencia de eventos. 

Amazon MSK Kafka es un servicio Kafka totalmente administrado que simplifica la configuración, el escalado y la administración. Al integrar Amazon MSK Kafka como origen dentro del flujo de eventos, puede traer sin problemas los eventos en tiempo real de su MSK Kafka y procesarlos antes de enrutarlos a varios destinos dentro de Fabric. 

Requisitos previos

  • Acceso a un área de trabajo en el modo de licencia de capacidad de Fabric o el modo de licencia de prueba con los permisos de Colaborador o superiores.

  • Un clúster de Amazon Managed Streaming para Kafka (MSK) en estado activo.

  • El clúster de Amazon MSK Kafka debe ser accesible públicamente y no estar detrás de un firewall o protegido en una red virtual. Si reside en una red protegida, conéctese a ella mediante la inserción de red virtual del conector Eventstream.

  • Si tiene previsto usar la configuración de TLS/mTLS, asegúrese de que los certificados necesarios están disponibles en una instancia de Azure Key Vault:

    • Importe los certificados necesarios en Azure Key Vault en formato .pem .
    • El usuario que configura los datos de origen y de vista previa debe tener permiso para acceder a los certificados de Key Vault (por ejemplo, usuario de certificado de Key Vault o administrador de Key Vault).
    • Si el usuario actual no tiene los permisos necesarios, los datos no se pueden previsualizar desde esta fuente en Eventstream.

Adición de Amazon MSK Kafka como origen

  1. En Inteligencia en tiempo real de Fabric, seleccione Eventstream para crear un flujo de eventos.

  2. En la pantalla siguiente, seleccione Conectar orígenes de datos o seleccione Agregar origen ->Conectar orígenes de datos.

  3. En la página Seleccionar un origen de datos, seleccione Ver todos los orígenes.

  4. Busque Amazon MSK Kafka y seleccione Conectar en el icono.

    Captura de pantalla que muestra la selección de Amazon MSK Kafka como tipo de origen en el Asistente para obtener eventos.

Configuración y conexión a Amazon MSK Kafka

  1. En la página Conectar, seleccione Nueva conexión.

    Captura de pantalla que muestra la selección del nuevo vínculo de conexión en la página de Conexión del asistente para obtener eventos.

  2. En la sección Configuración de conexión, en Bootstrap Server, escriba uno o varios endpoints públicos de arranque de Kafka. Use comas (,) para separar varios servidores. Captura de pantalla que muestra la selección del campo Servidor Bootstrap en la página Conectar del asistente para la obtención de eventos.

    Para obtener el punto de conexión público:

    Captura de pantalla que muestra el punto de conexión público del clúster de Amazon Managed Streaming para Apache Kafka (MSK).

  3. En la sección Credenciales de conexión, si tiene una conexión existente al clúster de Amazon MSK Kafka, selecciónela en la lista desplegable de Conexión. De lo contrario, siga estos pasos:

    1. Para Nombre de conexión, introduzca un nombre para la conexión.
    2. En Tipo de autenticación, confirma que está seleccionada la clave de API.
    3. En Clave y secreto, escribe la clave de API y el secreto de clave para el clúster de Kafka de Amazon MSK.

      Nota:

      Si solo usa mTLS para realizar la autenticación, puede agregar cualquier cadena en la sección Clave durante la creación de la conexión.

  4. Seleccione Conectar. 

  5. Ahora, en la página Conectar, sigue estos pasos.

    1. En Tema, escribe el tema de Kafka.

    2. En grupo de consumidores, introduce el grupo de consumidores de su clúster de Kafka. Este campo te proporciona un grupo de consumidores dedicado para la obtención de eventos.

    3. Selecciona Restablecer desplazamiento automático para especificar dónde empezar a leer desplazamientos si no hay ninguna confirmación.

    4. En Protocolo de seguridad, seleccione una de las siguientes opciones:

      • SASL_SSL: use esta opción cuando el clúster de Kafka use la autenticación basada en SASL. De forma predeterminada, el certificado de servidor del agente de Kafka debe estar firmado por una entidad de certificación (CA) incluida en la lista de ca de confianza. Si el clúster de Kafka usa una CA personalizada, puede configurarlo usando la configuración TLS/mTLS.
      • SSL (mTLS): use esta opción cuando el clúster de Kafka requiera autenticación mTLS y debe configurar un certificado de CA de servidor personalizado y un certificado de cliente en la configuración de TLS/mTLS.
    5. El mecanismo SASL predeterminado es SCRAM-SHA-512 y no se puede cambiar.

    6. Si el clúster de Kafka usa una ENTIDAD de certificación personalizada o requiere mTLS, expanda la configuración de TLS/mTLS y configure las siguientes opciones según sea necesario:

      • Certificado de entidad de certificación de confianza: habilite esta opción para configurar el certificado de ca del servidor. Seleccione la suscripción, el grupo de recursos y el almacén de claves y proporcione el nombre del certificado.
      • Certificado de cliente y clave: habilite esta opción para configurar el certificado y la clave de cliente.
        • Use el mismo almacén de claves de certificado CA: active esta casilla cuando ambos certificados se almacenen en el mismo almacén de claves. A continuación, proporcione el nombre del certificado.
        • Si no activa esta casilla, seleccione la suscripción, el grupo de recursos y el almacén de claves y proporcione el nombre del certificado.

      Nota:

      La configuración de TLS/mTLS de esta sección se encuentra actualmente en versión preliminar.

      En el caso de los orígenes de una red privada, asegúrese de que el Azure Key Vault que contiene sus certificados esté conectado a la red virtual de Azure que utiliza la puerta de enlace de datos para redes virtuales de transmisión para la integración en la red virtual del conector Eventstream (por ejemplo, a través de un punto de conexión privado).

    Captura de pantalla que muestra la primera página de la configuración de conexión de Amazon MSK Kafka.

Requisitos de certificados TLS/mTLS

Si configuró la configuración de TLS/mTLS, consulte esta sección para ver las especificaciones de formato de certificado y errores de configuración comunes al cargar en Azure Key Vault.

Cadena de certificados

Certificate Tamaño de la clave Firmado por propósito
Certificado de CA RSA de 4096 bits Autofirmado Ancla de confianza: el intermediario verifica los certificados de cliente en esta CA.
Certificado de servidor RSA de 2048 bits CA Identidad del corredor: el cliente comprueba que el corredor es quien afirma ser.
Certificado de cliente RSA de 2048 bits CA Identidad de cliente: el agente comprueba que el conector está autorizado.

Requisitos de SAN de certificado de servidor

El certificado de servidor debe incluir la dirección IP del intermediario y el nombre DNS en el Nombre Alternativo del Sujeto (SAN) para pasar la verificación del nombre 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

Carga de certificados en Azure Key Vault

Los certificados se cargan como objetos de certificado Azure Key Vault en formato PEM. El archivo de agrupación PEM es certificado + clave privada concatenada en un archivo:

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

Use una directiva de importación que coincida con las propiedades clave:

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

Para importar el certificado, ejecute el siguiente comando:

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

Errores comunes

Evite Haga esto en su lugar.
Cargar como PKCS#12/PFX Use el formato PEM con contentType: application/x-pem-file.
Carga del certificado sin clave privada El paquete PEM debe contener el certificado y la clave.
Establecer keySize: 2048 para una clave de 4096 bits El keySize valor debe coincidir con el tamaño de clave real.
Establezca issuerParameters.name: "Self". Use "Unknown" para certificados firmados externamente.
Usar finales de línea en Windows (CRLF) El archivo PEM debe usar terminaciones de línea de Unix (solo LF).

Visualización de Eventstream actualizado

Puede ver el origen de Amazon MSK Kafka agregado a su flujo de eventos en Modo de edición. 

Captura de pantalla que muestra el origen de Amazon MSK Kafka en el modo de edición.

Después de completar estos pasos, el origen de Amazon MSK Kafka está disponible para su visualización en la vista en directo.

Captura de pantalla que muestra el origen de Amazon MSK Kafka en la vista en directo.

Nota:

Para obtener una vista previa de los eventos de este origen de Amazon MSK Kafka, asegúrese de que la clave utilizada para crear la conexión en la nube tiene permiso de lectura para los grupos de consumidores con el prefijo "preview-".

En el caso del origen de Kafka de Amazon MSK, solo se pueden obtener una vista previa de los mensajes en formato JSON .

Captura de pantalla que muestra la versión preliminar de datos de origen de Amazon MSK Kafka.

Otros conectores: