Geração de certificados por meio da integração do Cert-Manager

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 3 min. de leitura
  • Solicite um certificado por meio de Kubernetes cert-manager usando ServiceNow Emissor externo (sn-external-emitor) e salve o certificado e suas informações relacionadas com segurança no Kubernetes cluster como segredo. Em Kubernetes Um segredo é um objeto que permite armazenar e gerenciar informações confidenciais, como senhas, chaves de API e certificados.

    Para obter informações sobre como criar um emissor externo, consulte Criação e implantação de emissor externo para Gestão de certificados [KB1435392] .

    Requisitos de implantação

    • Implante cert-manager em seu Kubernetes ambiente. Atualização yaml Com URL da instância, Grupo do proprietário do certificado, Proprietário do certificado, Ambiente e Acompanhamento de renovação.
    • Implantar o. ServiceNow Emissor externo (sn-external-issuer) em seu Kubernetes ambiente. Crie um Kubernetes segredo clusterissuer-servicenow-credentialscom o nome de usuário e a senha da instância, garantindo que o usuário tenha as funções necessárias para solicitar um certificado.

    ServiceNow Emissor externo (sn-external-issuer)

    • Os emissores externos expandem a funcionalidade de gerenciador de certificação para emitir certificados por meio de APIs e serviços não essenciais.
    • . ServiceNow O emissor externo é uma implementação específica da ServiceNow de um emissor externo.
    • Quando uma nova tarefa de certificado é criada, o UID de solicitação de certificado e o SYS ID da tarefa de certificado são armazenados no cache JSON local e na tabela UID de solicitação de certificado para mapa de tarefa na instância.
    • . ServiceNow O emissor externo pesquisa a instância para monitorar o status da tarefa de certificado.
    • Se a tarefa de certificado estiver no Trabalho em andamento O UID da solicitação de certificado e o SYS ID da tarefa de certificado são adicionados à tabela de mapa de UID do emissor externo na instância e no cache JSON local. Durante esse tempo, o Cert-manager tenta solicitar automaticamente o certificado.
    • Ao receber uma solicitação de certificado, o Cert-manager verifica se há uma tarefa correspondente no cache JSON local. Se encontrado, ele pesquisa a mesma tarefa; caso contrário, consulta a instância em busca de registros da tabela de mapa de UID do emissor externo e preenche o cache JSON local.
    • Depois que a tarefa é marcada como concluída e o certificado é gerado, o. ServiceNow O emissor externo envia outra solicitação para a instância, baixa o anexo do certificado e atualiza o recurso de certificado e o segredo correspondente em Kubernetes.

    Implantando o emissor externo da ServiceNow em Kubernetes

    Implantando o emissor externo da ServiceNow em Kubernetes envolve as seguintes etapas:
    1. Na página de download da instância da ServiceNow, obtenha o gráfico Helm ou o pacote zip YAML.
    2. Personalize o. yaml ou valores.yaml arquivos conforme necessário para seu caso de uso específico. Esses arquivos podem incluir informações essenciais, como o URL da instância e o Grupo do proprietário do certificado.
    3. Crie um Kubernetes segredo nomeado clusterisser-secenow-credentials com o nome de usuário e a senha da instância.
      Comando de exemplo:
      • Crie um Kubernetes segredo nomeado clusterisser-secenow-credentials com o nome de usuário e a senha da instância. Comando de exemplo:
        kubectl create secret generic clusterissuer-servicenow-credentials
                      --from-literal=user=<user_name> --from-literal=password=<password> -n
                    system
      • Certifique-se de que o usuário tenha as funções necessárias para solicitar certificados.
    4. Execute os seguintes comandos para implantação.
      kubectl create ns system
      kubectl apply -f crd
      kubectl apply -f rbac
      kubectl apply -f issuers
      kubectl apply -f manager/manager.yaml
    5. (Opcional) Personalize todas as configurações adicionais nos arquivos para atender aos seus requisitos específicos.
    6. Certifique-se de que a implantação seja bem-sucedida e que o Emissor externo da ServiceNow esteja ativo e em execução.

    Solicitar novo fluxo de certificado

    Após a implantação, envie um recurso de certificado com as seguintes informações em um arquivo chamado certificate_clusterisser.yaml .

    • IssuerRef: Clusterisser-seceNow
    • emissor: emissor-servicenow
    • Tipo: ClusterIssuer
    • IssuerRef: servicenow-issuer.servicenow.com

    Este é um exemplo de recurso de certificado:

    apiVersion: cert-manager.io/v1
    kind: Certificate
    metadata:
    name: certificate-by-clusterissuer
    spec:
    commonName: certificate-by-clusterissuer.servicenow.com
    secretName: certificate-by-clusterissuer
    dnsNames:
    - servicenow.com
    - foo.servicenow.com
    issuerRef:
    name: clusterissuer-servicenow
    group: servicenow-issuer.servicenow.com
    kind: ClusterIssuer

    Aplique o recurso de certificado usando kubectl aplicar -f certificate_clusterisser.yaml