Compartilhar via


Fornecer certificados SSL para monitoramento

A partir da versão de dezembro de 2021, os serviços de dados habilitados para Azure Arc permitem fornecer certificados SSL/TLS para os painéis de monitoramento. Você pode usar esses certificados para painéis de logs (Kibana) e métricas (Grafana).

É possível especificar o certificado ao criar um controlador de dados com:

  • Extensão da az CLI do arcdata Azure
  • Implantação nativa do Kubernetes

A Microsoft fornece arquivos de exemplo para criar os certificados no repositório GitHub /microsoft/azure_arc/.

Você pode clonar o arquivo localmente para acessar os arquivos de exemplo.

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

Os arquivos referenciados neste artigo estão no repositório em /arc_data_services/deploy/scripts/monitoring.

Criar ou adquirir certificados apropriados

Você precisa de certificados apropriados para cada IU. Um para logs e outro para métricas. A tabela a seguir descreve os requisitos.

A tabela a seguir descreve os requisitos de cada certificado e chave.

Requisito Certificado de logs Certificado de métricas
CN logsui-svc metricsui-svc
SANs Nenhum necessário metricsui-svc.${NAMESPACE}.${K8S_DNS_DOMAIN_NAME}
keyUsage digitalsignature

keyEncipherment
digitalsignature

keyEncipherment
extendedKeyUsage serverAuth serverAuth

Observação

O padrão K8S_DNS_DOMAIN_NAME é svc.cluster.local, embora possa ser diferente dependendo do ambiente e da configuração.

O diretório do repositório GitHub inclui arquivos de modelo de exemplo que identificam as especificações do certificado.

O repositório GitHub de exemplos do Azure Arc fornece um exemplo que pode ser usado na geração de um certificado em conformidade e de uma chave privada para um ponto de extremidade.

Confira o código de /arc_data_services/deploy/scripts/monitoringcreate-monitoring-tls-files.sh.

Para usar o exemplo e criar certificados, atualize o comando a seguir com seu namespace e o diretório para os certificados (output_directory). Em seguida, execute o comando.

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

Isso cria certificados em conformidade no diretório.

Implantar com a CLI

Depois de ter o certificado/chave privada para cada ponto de extremidade, crie o controlador de dados com o comando az dc create....

Para aplicar seu próprio certificado/chave privada, use os argumentos a seguir.

  • --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>

Veja o seguinte exemplo, que cria um controlador de dados com certificados designados para os painéis da IU de logs e de 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

Você só pode especificar certificados quando inclui --use-k8s na instrução az arcdata dc create ....

Implantar com ferramentas nativas do Kubernetes

Se você estiver usando as ferramentas nativas do Kubernetes para a implantação, crie segredos do Kubernetes que contenham os certificados e as chaves privadas. Crie os seguintes segredos:

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

Verifique se os serviços estão listados como SANs (nomes alternativos de entidade) e se os parâmetros de uso do certificado estão corretos.

  1. Verifique se cada segredo tem os seguintes campos:
    • certificate.pem contendo o certificado codificado em Base64
    • privatekey.pem contendo a chave privada