Todos os dados de métricas precisam ser criptografados em trânsito para garantir a segurança. O componente de monitoramento do appliance isolado do Google Distributed Cloud (GDC) oferece criptografia em trânsito e autenticação por meio do Transport Layer Security (mTLS) mútuo. O método mTLS verifica a identidade de ambas as partes em uma conexão de rede, confirmando que são quem afirmam ser.
Nesta página, explicamos como configurar o mTLS para seu servidor de métricas.
Antes de começar
Para receber as permissões necessárias para gerenciar recursos personalizados do MonitoringTarget, peça ao administrador do IAM da organização ou do projeto para conceder a você uma das funções associadas do MonitoringTarget.
Dependendo do nível de acesso e das permissões necessárias, você pode receber papéis de criador, editor ou leitor para esse recurso em uma organização ou um projeto. Para mais informações, consulte Preparar permissões do IAM.
Depois de receber as permissões necessárias, siga estas etapas antes de ativar a criptografia de métricas:
- Implante o servidor de métricas.
- Colete métricas das suas cargas de trabalho.
- Verifique se o recurso personalizado - MonitoringTargetmostra um status- Ready, como no exemplo a seguir:- apiVersion: monitoring.gdc.goog/v1 kind: MonitoringTarget [...] status: conditions: - lastTransitionTime: "2023-10-27T15:27:51Z" message: "" observedGeneration: 1 reason: Ready status: True type: Ready
- Consulte e veja métricas nos painéis para confirmar se o servidor de métricas está enviando os dados esperados. 
Montar o certificado
Sua carga de trabalho precisa usar um certificado gerado automaticamente quando você ativa o mTLS no recurso personalizado MonitoringTarget. Adicione um volume e
uma montagem de volume para esse certificado usando o seguinte modelo:
apiVersion: apps/v1
kind: Deployment # or StatefulSet
metadata:
  name: "SERVICE_NAME"
spec:
  template:
    spec:
      containers:
        - name: "CONTAINER_NAME"
          volumeMounts:
          - mountPath: "/etc/ssl/MONITORING_TARGET_NAME-cert"
            name: "MONITORING_TARGET_NAME-cert"
            readOnly: true
      volumes:
      - name: "MONITORING_TARGET_NAME-cert"
        secret:
          secretName: "MONITORING_TARGET_NAME-cert"
  [...]
Substitua:
- SERVICE_NAME: o nome do objeto- Deploymentou- StatefulSet.
- CONTAINER_NAME: o nome do contêiner em que você está adicionando a montagem de volume.
- MONITORING_TARGET_NAME: o nome do recurso personalizado- MonitoringTarget. O nome do secret é baseado nesse nome. Por exemplo, um recurso- my-mon-targetcria um nome de secret- my-mon-target-cert.
Exibir métricas
O servidor de métricas precisa veicular métricas de um servidor HTTP habilitado para mTLS. Você pode criptografar métricas em um dos dois cenários a seguir:
- Para aplicativos de sua propriedade: modifique o código-fonte para oferecer suporte ao mTLS e configure o servidor de métricas com o certificado mTLS.
- Para aplicativos que não são seus: consulte a documentação do aplicativo
para ativar um endpoint de métricas HTTPS. Aplique a configuração necessária, como
configurar argumentos de linha de comando ou implantar um arquivo config.
Ativar a coleta de métricas de mTLS
Adicione o seguinte rótulo à seção metadata do recurso personalizado MonitoringTarget
para ativar a coleta de métricas criptografadas:
monitoring.gdc.goog/enable-mtls: "true"
O recurso personalizado precisa ser semelhante ao exemplo a seguir:
  apiVersion: monitoring.gdc.goog/v1
  kind: MonitoringTarget
  metadata:
    namespace: my-project-namespace
    name: "SERVICE_NAME"
    labels:
      monitoring.gdc.goog/enable-mtls: "true" # Enable mTLS metrics collection
  spec:
    [...]
Para verificar se você ativou a autenticação mTLS, confira se o recurso personalizado
MonitoringTarget mostra um status Ready para o certificado
e o secret do certificado, como no exemplo a seguir:
apiVersion: monitoring.gdc.goog/v1
kind: MonitoringTarget
[...]
status:
  conditions:
  - lastTransitionTime: "2023-11-09T11:15:10Z"
    message: "admin,user-vm-1,user-vm-2,org-1-system"
    observedGeneration: 2
    reason: Ready
    status: "True"
    type: Ready
  - lastTransitionTime: "2023-11-09T11:14:43Z"
    message: "Certificate is ready"
    observedGeneration: 2
    reason: Ready
    status: "True"
    type: CertificateReady
  - lastTransitionTime: "2023-11-09T11:15:10Z"
    message: "Successfully created secret"
    observedGeneration: 2
    reason: Ready
    status: "True"
    type: CertificateSecretReady