Visão geral dos controles de política
Os controles de política aplicam padrões para a operação da autoridade certificadora (AC) 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 AC vai emitir certificados, quais parâmetros podem ser incluídos em uma solicitação e quais valores são aceitos. No serviço de autoridade certificadora, os controles de política são de dois tipos:
Políticas de granularidade grosseira, como políticas de emissão de certificados: as políticas de emissão de certificados se aplicam a todo o pool de ACs e definem restrições de alto nível, como tipos de chave permitidos, períodos de validade de certificados e restrições de assunto e nome alternativo do assunto (SAN, na sigla em inglês).
Políticas detalhadas, como modelos de certificado: os modelos de certificado permitem definir quais tipos de certificado podem ser emitidos e quem tem autoridade para emiti-los, 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 diferentes. 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 equipe solicite certificados com as permissões específicas necessárias.
Além das políticas de emissão de certificados e dos modelos de certificado, você também pode aplicar controles de políticas específicos, como restrições de nome, para impedir que uma AC emita certificados para domínios ou entidades não autorizadas.
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 ACs. Um administrador de ACs pode anexar uma política de emissão de certificados a um pool de ACs para definir restrições ao tipo de certificados que as ACs no pool podem emitir. As políticas de emissão de certificados ajudam você a fazer o seguinte:
- Adicione restrições ao assunto permitido e aos SANs 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 em identidades de certificado, tempo de validade de certificado, tipos de chave e modos de solicitação de certificado.
- Anexe extensões X.509 específicas a todos os certificados emitidos.
Recomendamos o uso de uma política de emissão de certificados quando um ou ambos os cenários abaixo se aplicam a você:
O pool de ACs foi projetado para emitir certificados de acordo com um perfil único e bem definido. Por exemplo, você tem um pool de AC dedicado que emite certificados apenas para os 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 de 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 ACs obedeçam a esse perfil.
- Todos os certificados emitidos têm
Você quer definir uma referência comum para extensões X.509 e outras restrições que se aplicam 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 de referência 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 nessa referência.
Para informações sobre como adicionar uma política de emissão de certificados, consulte Adicionar uma política de emissão de certificados a um pool de ACs.
Sobre os 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 ACs compartilham o mesmo formato e as mesmas propriedades, independentemente
da AC emissora. O recurso CertificateTemplate
inclui
o seguinte:
- Uma expressão da Common Expression Language (CEL) que é avaliada em relação ao assunto solicitado e aos SANs 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 um framework de emissão de certificados vertical completo. Para mais detalhes, consulte a definição completa da mensagem CertificateTemplate.
É possível usar um modelo de certificado quando você tem um cenário de emissão de certificado bem definido. É possível usar modelos de certificado para permitir a consistência entre certificados emitidos de diferentes pools de ACs. Também é possível 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 função condicional do Identity and Access Management (IAM) para definir restrições que se aplicam 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 terminam com .altostrat.com
. Em seguida, é possível
adicionar uma vinculação de função condicional
para conceder à conta de serviço my-service-account@my-project.iam.gserviceaccount.com
a permissão de usar apenas esse modelo ao solicitar certificados de um pool de AC 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 serviço de AC impõe restrições de nome em certificados de AC, conforme definido na seção Restrições de nome do documento RFC 5280. As restrições de nome permitem controlar quais nomes são permitidos ou excluídos em certificados emitidos por ACs.
As restrições de nome são implementadas usando a extensão Name Constraints em certificados X.509. Essa extensão permite especificar namespaces permitidos e excluídos para vários formatos de nome, 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 seus subdomínios são proibidos como nomes de DNS.
As restrições de nome são definidas no certificado da própria AC. Isso significa que todos os certificados emitidos por essa AC são vinculados a essas restrições. Quando uma AC emite um certificado, ela verifica o nome do assunto solicitado e quaisquer nomes alternativos do assunto (SANs, na sigla em inglês) 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 AC.
Benefícios do uso de controles de política
Os controles de políticas ajudam você a fazer o seguinte:
- Melhore 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 regulamentares e às práticas recomendadas do setor para gerenciamento de certificados.
- Reduza 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 a confiança, já que políticas claramente definidas e controles fortes aumentam a confiança nos certificados que você emite.
Como aplicar controles de políticas
Quando alguém solicita um certificado, o serviço de AC avalia esses controles de política nos seguintes níveis:
Permissões de gerenciamento de identidade e acesso (IAM): primeiro, o serviço verifica se o solicitante tem as permissões necessárias do IAM para criar certificados ou usar o modelo de certificado especificado. Isso garante que apenas usuários autorizados possam receber certificados.
Política de emissão de certificados: o serviço valida a solicitação de certificado de acordo com a política de emissão do pool de AC. Isso garante que a solicitação atenda aos requisitos gerais de certificados emitidos por essa AC.
Modelo de certificado: se um modelo for usado, a solicitação será validada de acordo com as 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 excluídos com base nessas mesmas políticas. Antes de assinar o certificado, as restrições de nome em certificados de AC 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 níveis diferentes 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 AC 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 AC, consulte Sobre conflitos de política.
A seguir
- Saiba como implementar controles de políticas.
- Saiba mais sobre como usar a Common Expression Language (CEL).