Proporcionar certificados SSL para la supervisión

A partir de la versión publicada en diciembre de 2021, los servicios de datos habilitados para Azure Arc permiten proporcionar certificados SSL o TLS para los paneles de supervisión. Puede usar estos certificados para los paneles de registros (Kibana) y de métricas (Grafana).

Puede especificar el certificado al crear un controlador de datos con:

  • Extensión arcdata para la CLI de Azure az
  • Implementación nativa de Kubernetes

Microsoft proporciona archivos de ejemplo para crear los certificados en el repositorio /microsoft/azure_arc/ de GitHub.

Puede clonar el archivo localmente para acceder a los archivos de ejemplo.

git clone https://github.com/microsoft/azure_arc

Los archivos a los que se hace referencia en este artículo se encuentran en el repositorio, en /arc_data_services/deploy/scripts/monitoring.

Creación o adquisición de los certificados adecuados

Necesita los certificados adecuados para cada interfaz de usuario. Uno para los registros y otro para las métricas. En la siguiente tabla se describen los requisitos.

En la tabla siguiente se describen los requisitos de cada certificado y cada clave.

Requisito Certificado de registros Certificado de métricas
CN logsui-svc metricsui-svc
SAN No se requiere ninguna metricsui-svc.${NAMESPACE}.${K8S_DNS_DOMAIN_NAME}
keyUsage digitalsignature

keyEncipherment
digitalsignature

keyEncipherment
extendedKeyUsage serverAuth serverAuth

Nota:

El valor predeterminado de K8S_DNS_DOMAIN_NAME es svc.cluster.local, aunque puede diferir en función del entorno y la configuración.

En el directorio del repositorio de GitHub se incluyen archivos de plantilla de ejemplo que identifican las especificaciones de certificado.

En el repositorio de GitHub de ejemplos de Azure Arc se proporciona un ejemplo que puede usar para generar una clave privada y un certificado compatibles para un punto de conexión.

Consulte el código de /arc_data_services/deploy/scripts/monitoringcreate-monitoring-tls-files.sh.

Para usar el ejemplo a fin de crear certificados, actualice el siguiente comando con su valor de namespace y el directorio de los certificados (output_directory). Después, ejecute el comando.

./create-monitor-tls-files.sh <namespace> <output_directory>

De esta forma, se crean certificados compatibles en el directorio.

Implementación con la CLI

Una vez que tenga el certificado o la clave privada para cada punto de conexión, cree el controlador de datos con el comando az dc create....

Para aplicar su propio certificado o clave privada, use los argumentos siguientes.

  • --logs-ui-public-key-file <path\file to logs public key file>
  • --logs-ui-private-key-file <path\file to logs private key file>
  • --metrics-ui-public-key-file <path\file to metrics public key file>
  • --metrics-ui-private-key-file <path\file to metrics private key file>

Por ejemplo, en el ejemplo siguiente se crea un controlador de datos con certificados designados para los paneles de la interfaz de usuario de registros y métricas:

az arcdata dc create --profile-name azure-arc-aks-default-storage --k8s-namespace <namespace> --use-k8s --name arc --subscription <subscription id> --resource-group <resource group name> --location <location> --connectivity-mode indirect --logs-ui-public-key-file <path\file to logs public key file> --logs-ui-private-key-file <path\file to logs private key file> --metrics-ui-public-key-file <path\file to metrics public key file> --metrics-ui-private-key-file <path\file to metrics private key file>

#Example:
#az arcdata dc create --profile-name azure-arc-aks-default-storage  --k8s-namespace arc --use-k8s --name arc --subscription xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --resource-group my-resource-group --location eastus --connectivity-mode indirect --logs-ui-public-key-file /path/to/logsuipublickeyfile.pem --logs-ui-private-key-file /path/to/logsuiprivatekey.pem --metrics-ui-public-key-file /path/to/metricsuipublickeyfile.pem --metrics-ui-private-key-file /path/to/metricsuiprivatekey.pem

Solo puede especificar certificados cuando incluya --use-k8s en la instrucción az arcdata dc create ....

Implementación con herramientas nativas de Kubernetes

Si usa herramientas nativas de Kubernetes para la implementación, cree secretos de Kubernetes que almacenen los certificados y las claves privadas. Cree los secretos siguientes:

  • logsui-certificiate-secret
  • metricsui-certificate-secret.

Asegúrese de que los servicios aparecen como nombres alternativos del firmante (SAN) y de que los parámetros de uso del certificado son correctos.

  1. Compruebe que cada secreto tiene los siguientes campos:
    • certificate.pem con el certificado codificado en Base64
    • privatekey.pem con la clave privada