Visão geral dos controles de política

Os controles de política aplicam padrões para a operação da autoridade certificadora (CA) e os certificados emitidos por ela. Os controles de política são as regras e restrições que você implementa para definir como a CA vai emitir certificados e quais parâmetros podem ser incluídos em uma solicitação e quais valores são aceitos. No Certificate Authority Service, os controles de política são de um de dois tipos:

  • Políticas de granularidade grossa, como políticas de emissão de certificados: elas se aplicam a todo o pool de ACs e definem restrições de alto nível, como tipos de chaves permitidos, tempos de vida permitidos de certificados e restrições de assunto e nome alternativo do assunto (SAN, na sigla em inglês).

  • Políticas refinadas, como modelos de certificado: Com os modelos de certificado, é possível definir quais tipos de certificado podem ser emitidos e quem tem autoridade para emitir, evitando o uso indevido e mantendo a segurança. Os modelos de certificado oferecem um controle mais granular, permitindo que você defina diferentes tipos de certificados para finalidades distintas. Por exemplo, é possível criar modelos de certificado para casos de uso específicos, como certificados TLS para servidores da Web e certificados de assinatura de código para desenvolvedores. Também é possível criar modelos para diferentes departamentos ou equipes, permitindo que cada uma solicite certificados com as permissões específicas de que precisam.

Além das políticas de emissão e dos modelos de certificado, também é possível aplicar controles de política específicos, como restrições de nome, para impedir que uma CA emita certificados para domínios ou entidades não autorizados.

Sobre as políticas de emissão de certificados

Uma política de emissão de certificados define controles sobre todas as emissões de certificados em um pool de AC. Um administrador de CA pode anexar uma política de emissão de certificados a um pool de CAs para definir restrições sobre o tipo de certificados que as CAs no pool podem emitir. As políticas de emissão de certificados ajudam você a fazer o seguinte:

  • Adicione restrições aos assuntos e SANs permitidos que podem ser solicitados. Isso valida quem ou o que pode ser identificado no certificado, como permitir apenas certificados para o domínio da sua empresa.
  • Defina restrições para identidades e ciclos de vida de certificados, tipos de chaves, duração de data retroativa e modos de solicitação de certificado.
  • Anexar extensões X.509 específicas a todos os certificados emitidos.

Recomendamos usar uma política de emissão de certificados quando um ou ambos os cenários a seguir se aplicam a você:

  1. Seu pool de CA foi projetado para emitir certificados de acordo com um único perfil bem definido. Por exemplo, você tem um pool de CA dedicado que emite certificados apenas para servidores da Web internos da sua empresa. Todos esses certificados precisam dos mesmos parâmetros básicos.

    • Todos os certificados emitidos têm O=My organization no assunto.
    • Todos os nomes DNS terminam com .cymbalgroup.com.
    • Elas são válidas por um ano.

    Uma política de emissão de certificados aplica essas regras e garante que todos os certificados emitidos por esse pool de CA sigam esse perfil.

  2. Você quer definir um valor de referência comum para extensões X.509 e outras restrições aplicáveis a todos os perfis de emissão de certificados. Por exemplo, você tem diferentes tipos de certificados, como certificados de assinatura de e-mail de funcionários (válidos por dois anos) e certificados TLS para sites públicos (válidos por um ano). É possível definir uma política de emissão básica que se aplica a todos os certificados:

    • Todos os certificados precisam incluir o nome da empresa no assunto.
    • Todos precisam usar um conjunto específico de extensões X.509 para os padrões de segurança da sua organização.

    Em seguida, use modelos de certificado para definir as variações específicas de cada tipo de certificado com base nesse valor de referência.

Para informações sobre como adicionar uma política de emissão de certificado, consulte Adicionar uma política de emissão de certificado a um pool de CA.

Sobre modelos de certificado

Um modelo de certificado representa um esquema de emissão de certificado relativamente estático e bem definido em uma organização. Ao usar modelos de certificado, os certificados emitidos de vários pools de CA compartilham o mesmo formato e as mesmas propriedades, independente da CA emissora. O recurso CertificateTemplate inclui o seguinte:

  • Uma expressão da Common Expression Language (CEL) que é avaliada em relação ao assunto e aos SANs solicitados em todas as solicitações de certificado que usam o modelo. Para mais informações sobre o uso da CEL, consulte Como usar a CEL.
  • Uma lista de permissões que especifica se o assunto ou o nome alternativo do assunto pode ser copiado da solicitação do usuário final para o certificado emitido.
  • Uma lista de permissões opcional que especifica quais extensões X.509, se houver, podem ser copiadas da solicitação do usuário final para o certificado emitido.
  • Um conjunto opcional de valores de extensão X.509 que são adicionados a todos os certificados emitidos que usam o modelo.

Um modelo de certificado pode se tornar uma estrutura completa de emissão de certificados verticais. Para mais detalhes, consulte a definição completa da mensagem CertificateTemplate.

Use um modelo de certificado quando tiver um cenário de emissão de certificado bem definido. É possível usar modelos de certificado para garantir a consistência entre certificados emitidos de diferentes pools de CA. Você também pode usar um modelo de certificado para restringir os tipos de certificados que diferentes pessoas podem emitir.

Também é possível usar uma combinação de modelos de certificado e vinculações de papel condicionais do Identity and Access Management (IAM) para definir restrições aplicáveis a solicitações de certificado feitas por contas de serviço específicas. Por exemplo, é possível criar um modelo de certificado que permita apenas nomes de DNS que terminem com .altostrat.com. Em seguida, você pode adicionar uma vinculação de função condicional para conceder à conta de serviço my-service-account@my-project.iam.gserviceaccount.com permissão para usar apenas esse modelo ao solicitar certificados de um pool de ACs específico. Isso limita a conta de serviço a emitir certificados com essa restrição específica de SAN.

Para saber como criar modelos de certificado, consulte Criar um modelo de certificado.

Restrições de nome do certificado de CA

O CA Service impõe restrições de nome em certificados de CA, conforme definido na seção Restrições de nome do documento RFC 5280. Com as restrições de nome, você controla quais nomes são permitidos ou excluídos em certificados emitidos por CAs.

As restrições de nome são implementadas usando a extensão de restrições de nome em certificados X.509. Com essa extensão, é possível especificar namespaces permitidos e excluídos para várias formas de nomes, como nomes DNS, endereços IP, endereços de e-mail e URLs.

Por exemplo, é possível criar uma AC com restrições de nome para aplicar as seguintes condições:

  • Somente myownpersonaldomain.com e os subdomínios dele podem ser usados como nomes de DNS.
  • examplepetstore.com e os subdomínios dele são proibidos como nomes de DNS.

As restrições de nome são definidas no próprio certificado da CA. Isso significa que todos os certificados emitidos por essa CA estão vinculados a essas restrições. Quando uma AC emite um certificado, ela verifica o nome do assunto solicitado e todos os nomes alternativos do assunto (SANs) em relação às restrições de nome definidas. Se algum nome violar as restrições, a emissão do certificado será rejeitada.

É possível especificar restrições de nome apenas no momento da criação da CA.

Benefícios de usar controles de políticas

Os controles de política ajudam você a fazer o seguinte:

  • Aumente a segurança limitando os tipos de certificados que podem ser emitidos e reduzindo o risco de criação e uso indevido de certificados não autorizados.
  • Atenda aos requisitos regulatórios e às práticas recomendadas do setor para gerenciamento de certificados.
  • Reduzir o esforço manual e possíveis erros. Os modelos de certificado facilitam a emissão de certificados de forma consistente e eficiente.
  • Estabeleça confiança com políticas claramente definidas e controles fortes que aumentam a confiança nos certificados emitidos.

Como aplicar controles de políticas

Quando alguém solicita um certificado, o CA Service avalia esses controles de política nos seguintes níveis:

  1. Permissões do Identity and Access Management (IAM): primeiro, o serviço verifica se o solicitante tem as permissões do IAM necessárias para criar certificados ou usar o modelo de certificado especificado. Isso garante que apenas usuários autorizados possam receber certificados.

  2. Política de emissão de certificados: o serviço valida a solicitação de certificado com a política de emissão do pool de CA. Isso garante que a solicitação atenda aos requisitos gerais para certificados emitidos por essa CA.

  3. Modelo de certificado: se um modelo for usado, a solicitação será validada ainda mais em relação às restrições específicas do modelo. Isso garante que o certificado seja adequado para o uso pretendido.

As extensões X.509 da política de emissão de certificados do pool de ACs e do modelo de certificado são adicionadas ao certificado, e alguns valores são descartados com base nessas mesmas políticas. Antes de assinar o certificado, as restrições de nome nos certificados de CA são validadas em relação ao certificado para garantir que o assunto esteja em conformidade.

Conflitos de políticas

Ao usar diferentes mecanismos de controle de políticas em conjunto, é possível que as políticas em diferentes níveis entrem em conflito. Por exemplo, um modelo de certificado pode permitir um tipo de chave (como ECDSA) que a política de emissão do pool de CA proíbe. Ou o modelo de certificado e a política de emissão podem especificar valores diferentes para a mesma extensão X.509.

Para saber como gerenciar conflitos de política no serviço de CA, consulte Sobre conflitos de política.

A seguir