Compartir vía


Pruebas de carga de puntos finales seguros con Azure Load Testing

En este artículo, aprenderá a usar Azure Load Testing con puntos de conexión de aplicación que requieren autenticación. En función de la implementación de la aplicación, puede usar un token de acceso, credenciales de usuario o certificados de cliente para autenticar solicitudes.

Azure Load Testing admite las siguientes opciones para los puntos de conexión autenticados:

Requisitos previos

Autenticación con un secreto compartido o credenciales

En este escenario, el punto de conexión de la aplicación requiere el uso de un secreto compartido, como un token de acceso, una clave de API o credenciales de usuario para la autenticación.

En el diagrama siguiente, se muestra cómo usar secretos compartidos o credenciales para realizar la autenticación con un punto de conexión de la aplicación en la prueba de carga.

Diagrama en el que se muestra cómo usar la autenticación mediante secretos compartidos con Azure Load Testing.

El flujo para autenticarse con un secreto compartido o credenciales de usuario es:

  1. Almacene de forma segura el secreto o las credenciales, por ejemplo, en Azure Key Vault o en el almacén de secretos de CI/CD.
  2. Haga referencia al secreto en la configuración de la prueba de carga.
  3. En el script JMeter, recupere el valor del secreto con la función GetSecret y pase el valor secreto a la solicitud de aplicación.

Almacenamiento seguro del secreto

Para evitar almacenar y divulgar información de seguridad en el script de JMeter, puede almacenar secretos de manera segura en Azure Key Vault o en el almacén de secretos de CI/CD.

Puede agregar la información de seguridad en un almacén de secretos de dos maneras:

Haga referencia al secreto en la configuración de la prueba de carga

Antes de poder recuperar el valor secreto en el script de prueba de JMeter, debe hacer referencia al secreto en la configuración de la prueba de carga.

En Azure Portal, puede hacer referencia a secretos almacenados en Azure Key Vault. Para agregar y configurar un secreto de prueba de carga en Azure Portal:

  1. Vaya al recurso de pruebas de carga en Azure Portal y luego seleccione Pruebas para ver la lista de pruebas de carga.

  2. Seleccione la prueba en a lista y luego seleccione Editar para editar la configuración de prueba de carga.

    Captura de pantalla en la que se muestra cómo editar una prueba de carga en Azure Portal.

  3. En la pestaña Parámetros, escriba los detalles del secreto.

    Campo Valor
    Nombre Nombre del secreto. Proporcione este nombre a la función GetSecret para recuperar el valor secreto en el script JMeter.
    Valor Coincide con el identificador del secreto de Azure Key Vault.

    Captura de pantalla en la que se muestra cómo agregar secretos a una prueba de carga en Azure Portal.

  4. Seleccione Aplicar para guardar los cambios en la configuración de prueba de carga.

Recuperar y usar el valor secreto en el script JMeter

Ahora puede recuperar el valor secreto en el script JMeter mediante la función personalizada GetSecret y pasarlo a la solicitud de aplicación. Por ejemplo, use un encabezado HTTP de Authorization para pasar un token de OAuth a una solicitud.

  1. Cree una variable definida por el usuario que recupere el valor del secreto con la función personalizada GetSecret:

    La función GetSecret abstrae la recuperación del valor de Azure Key Vault o del almacén de secretos de CI/CD.

    Captura de pantalla en la que se muestra cómo agregar una variable definida por el usuario que utiliza la función GetSecret en JMeter.

  2. Actualice el componente de muestra de JMeter para pasar el secreto en la solicitud.

    Por ejemplo, para proporcionar un token de acceso de OAuth2, configure el encabezado HTTP de Authorization agregando un HTTP Header Manager:

    Captura de pantalla en la que se muestra cómo agregar un encabezado de autorización a una solicitud en JMeter.

Autenticación con certificados de cliente

En este escenario, el punto de conexión de la aplicación requiere el uso de un certificado de cliente para la autenticación. Azure Load Testing admite el tipo de certificados Public Key Certificate Standard n.° 12 (PKCS12). Solo se puede usar un certificado de cliente en una prueba de carga.

En el diagrama siguiente, se muestra cómo usar un certificado de cliente para realizar la autenticación con un punto de conexión de la aplicación en la prueba de carga.

Diagrama en el que se muestra cómo usar la autenticación mediante certificados de cliente con Azure Load Testing.

El flujo para autenticarse con certificados de cliente es:

  1. Almacene de forma segura el certificado de cliente en Azure Key Vault.
  2. Haga referencia al certificado en la configuración de prueba de carga.
  3. Azure Load Testing pasa de forma transparente el certificado a todas las solicitudes de aplicación en JMeter.

Almacenamiento del certificado de cliente en Azure Key Vault

Para evitar almacenar y divulgar el certificado de cliente junto con el script de JMeter, almacene el certificado en Azure Key Vault.

Siga los pasos descritos en Importación de un certificado para almacenar el certificado en Azure Key Vault.

Importante

Azure Load Testing solo admite certificados PKCS12. Cargue el certificado de cliente en formato de archivo PFX.

Concesión de acceso al almacén de claves de Azure

Al almacenar secretos o certificados de prueba de carga en Azure Key Vault, el recurso de prueba de carga usa una identidad administrada para acceder al almacén de claves. Después de configurar la identidad de administración, debe conceder a la identidad administrada los permisos de recursos de prueba de carga para leer estos valores desde el almacén de claves.

Para conceder permisos de recursos de prueba de carga de Azure para leer secretos o certificados del almacén de claves de Azure:

  1. En Azure Portal, vaya al recurso del almacén de claves de Azure.

    Si no tiene un almacén de claves, siga las instrucciones de Inicio rápido de Azure Key Vault para crear uno.

  2. En el panel de la izquierda, seleccione Directivas de acceso y luego + Crear.

  3. En la pestaña Permisos, en Permisos de secretos, seleccione Obtener, y luego Siguiente.

    Nota:

    Azure Load Testing recupera el certificado como secreto para garantizar que la clave privada del certificado está disponible.

  4. En la pestaña Entidad de seguridad, busque y seleccione la identidad administrada para el recurso de prueba de carga y, a continuación, seleccione Siguiente.

    Si usa una identidad administrada asignada por el sistema, el nombre de la identidad administrada coincide con el del recurso de prueba de carga de Azure.

  5. Seleccione Siguiente de nuevo.

    Cuando se ejecuta la prueba, la identidad administrada asociada al recurso de prueba de carga ahora puede leer los secretos o certificados de la prueba de carga desde el almacén de claves.

Hacer referencia al certificado en la configuración de prueba de carga

Para pasar el certificado del cliente a las solicitudes de la aplicación, debe hacer referencia al certificado en la configuración de la prueba de carga.

Para agregar un certificado de cliente a la prueba de carga en Azure Portal:

  1. Navegue al recurso de prueba de carga en Azure Portal. Si todavía no tiene una prueba de carga, cree una mediante un script de JMeter.

  2. En el panel izquierdo, seleccione Pruebas para ver la lista de pruebas de carga.

  3. Seleccione la prueba en a lista y, luego, seleccione Editar para editar la configuración de prueba de carga.

    Captura de pantalla en la que se muestra cómo editar una prueba de carga en Azure Portal.

  4. En la pestaña Parámetros, escriba los detalles del certificado.

    Campo Valor
    Nombre Nombre del certificado.
    Valor Coincide con el identificador del secreto de Azure Key Vault del certificado.
  5. Seleccione Aplicar para guardar los cambios en la configuración de prueba de carga.

Al ejecutar la prueba de carga, Azure Load Testing recupera el certificado de cliente de Azure Key Vault y lo inserta automáticamente en cada solicitud web de JMeter.