Geração de certificados por meio da integração do Cert-Manager
Solicite um certificado por Kubernetes gerenciador de certificados usando o. 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 o cert-manager em seu Kubernetes ambiente. Atualizar gerente.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-emitor) 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 O emissor externo é compatível com a arquitetura amd64 junto com a versão mais recente do Kubernetes, 1.33.3.
ServiceNow Emissor externo (sn-external-issor)
- Os emissores externos expandem a funcionalidade de gerenciador de certificados 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 certificação é criada, o UID da solicitação de certificado e o SYS ID da tarefa de certificado são armazenados no cache JSON local e na tabela UID da solicitação de certificado para mapa de tarefas na instância.
- . ServiceNow O emissor externo pesquisa a instância para monitorar o status da tarefa de certificação.
- Se a tarefa de certificação estiver em Trabalho em andamento O estado, o UID da solicitação de certificado e o SYS ID da tarefa de certificação 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.
- Quando a tarefa for marcada como concluída e o certificado for 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
- Na página de download da instância da ServiceNow, obtenha o gráfico de helm ou o pacote zip YAML.
- Personalize o.
gerente.yamlouvalores.yamlarquivos 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. - Crie um Kubernetes segredo nomeado
clusterissuiner-servicenow-credentialscom o nome de usuário e a senha da instância.Comando de exemplo:- Crie um Kubernetes segredo nomeado
clusterissuiner-servicenow-credentialscom 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.
- Crie um Kubernetes segredo nomeado
- 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 - (Opcional) Personalize todas as configurações adicionais nos arquivos para atender aos seus requisitos específicos.
- Certifique-se de que a implantação seja bem-sucedida e que o emissor externo da ServiceNow esteja em funcionamento.
Solicitar novo fluxo de certificado
Após a implantação, envie um recurso de certificação com as seguintes informações em um arquivo chamado certificate_clusterisser.yaml .
- IssuerRef: Clusterisserisser-seceNow
- emissor: emissor-servicenow
- Tipo: ClusterIssuer
- IssuerRef: servicenow-issuer.servicenow.com
Aqui está 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 certificação usando kubectl aplicar -f certificate_clusterisser.yaml