Red Hat Training

A Red Hat training course is available for RHEL 8

Capítulo 43. Configuração de regras de mapeamento de certificados na Gestão de Identidade

43.1. Regras de mapeamento de certificados para configuração de autenticação em Cartões Smart Card

As regras de mapeamento de certificados são uma forma conveniente de permitir aos usuários autenticar usando certificados em cenários em que o administrador de Gerenciamento de Identidade (IdM) não tem acesso a certos certificados dos usuários. Esta falta de acesso é normalmente causada pelo fato de os certificados terem sido emitidos por uma autoridade de certificados externa. Um caso de uso especial é representado por certificados emitidos pelo Sistema de Certificados de um Diretório Ativo (AD) com o qual o domínio IdM está em uma relação de confiança.

As regras de mapeamento de certificados também são convenientes se o ambiente IdM for grande com muitos usuários usando cartões inteligentes. Nesta situação, a adição de certificados completos pode ser complicada. O assunto e o emissor são previsíveis na maioria dos cenários e, portanto, mais fáceis de adicionar antes do que o certificado completo. Como administrador do sistema, você pode criar uma regra de mapeamento de certificados e adicionar dados de mapeamento de certificados a uma entrada de usuário mesmo antes de um certificado ser emitido para um determinado usuário. Uma vez emitido o certificado, o usuário pode entrar usando o certificado, mesmo que o certificado completo ainda não tenha sido carregado para a entrada do usuário.

Além disso, como os certificados têm que ser renovados a intervalos regulares, as regras de mapeamento de certificados reduzem as despesas administrativas. Quando um certificado de usuário é renovado, o administrador não tem que atualizar a entrada do usuário. Por exemplo, se o mapeamento for baseado nos valores Subject e Issuer, e se o novo certificado tiver o mesmo assunto e emissor que o antigo, o mapeamento ainda se aplica. Se, em contraste, o certificado completo fosse utilizado, então o administrador teria que carregar o novo certificado para a entrada do usuário para substituir o antigo.

Para estabelecer o mapeamento de certificados:

  1. Um administrador tem que carregar os dados de mapeamento do certificado (normalmente o emissor e o sujeito) ou o certificado completo em uma conta de usuário.
  2. Um administrador tem que criar uma regra de mapeamento de certificados para permitir o login bem sucedido no IdM para um usuário

    1. cuja conta contém um certificado de mapeamento de entrada de dados
    2. cuja entrada de dados de mapeamento de certificado corresponda às informações do certificado

    Para detalhes sobre os componentes individuais que compõem uma regra de mapeamento e como obtê-los e utilizá-los, consulte Componentes de uma regra de mapeamento de identidade em IdM e Obtenção do emissor de um certificado para uso em uma regra de correspondência.

Posteriormente, quando o usuário final apresenta o certificado, armazenado no sistema de arquivos ou em um cartão inteligente, a autenticação é bem sucedida.

43.1.1. Regras de mapeamento de certificados para trusts com domínios do Active Directory

Esta seção descreve os diferentes casos de uso de mapeamento de certificados que são possíveis se uma implantação de IdM estiver em uma relação de confiança com um domínio do Active Directory (AD).

As regras de mapeamento de certificados são uma forma conveniente de permitir o acesso aos recursos de IdM para usuários que possuem certificados de cartão inteligente que foram emitidos pelo confiável Sistema de Certificados AD. Dependendo da configuração do AD, os seguintes cenários são possíveis:

43.1.2. Componentes de uma regra de mapeamento de identidade na IdM

Esta seção descreve os componentes de um identity mapping rule em IdM e como configurá-los. Cada componente tem um valor padrão que você pode ignorar. Você pode definir os componentes tanto na interface web como na CLI. Na CLI, a regra de mapeamento de identidade é criada usando o comando ipa certmaprule-add.

Regra de mapeamento

O componente de regra de mapeamento associa (ou maps) um certificado com uma ou mais contas de usuário. A regra define um filtro de busca LDAP que associa um certificado com a conta de usuário pretendida.

Os certificados emitidos por diferentes autoridades certificadoras (CAs) podem ter propriedades diferentes e podem ser usados em domínios diferentes. Portanto, a IdM não aplica incondicionalmente as regras de mapeamento, mas somente aos certificados apropriados. Os certificados apropriados são definidos usando matching rules.

Observe que se você deixar a opção de regra de mapeamento vazia, os certificados são pesquisados no atributo userCertificate como um arquivo binário codificado com DER.

Definir a regra de mapeamento na CLI usando a opção --maprule.

Regra de correspondência

O componente de regra de correspondência seleciona um certificado ao qual você deseja aplicar a regra de mapeamento. A regra de correspondência padrão corresponde aos certificados com o uso do digitalSignature key e o uso do clientAuth extended key.

Definir a regra de correspondência na CLI usando a opção --matchrule.

Lista de domínios

A lista de domínios especifica os domínios de identidade nos quais você quer que a IdM procure os usuários ao processar regras de mapeamento de identidade. Se você deixar a opção não especificada, a IdM busca os usuários somente no domínio local ao qual o cliente IdM pertence.

Defina o domínio na CLI usando a opção --domain.

Prioridade

Quando múltiplas regras são aplicáveis a um certificado, a regra com a maior prioridade tem precedência. Todas as outras regras são ignoradas.

  • Quanto menor o valor numérico, maior será a prioridade da regra de mapeamento de identidade. Por exemplo, uma regra com prioridade 1 tem prioridade mais alta do que uma regra com prioridade 2.
  • Se uma regra não tem um valor de prioridade definido, ela tem a prioridade mais baixa.

Definir a prioridade da regra de mapeamento na CLI usando a opção --priority.

Exemplo de regra de mapeamento de certificados

Para definir, usando a CLI, uma regra de mapeamento de certificados chamada simple_rule que permite autenticação para um certificado emitido pelo Smart Card CA da organização EXAMPLE.ORG desde que o Subject desse certificado corresponda a uma entrada certmapdata em uma conta de usuário no IdM:

# ipa certmaprule-add simple_rule --matchrule '<ISSUER>CN=Smart Card CA,O=EXAMPLE.ORG' --maprule '(ipacertmapdata=X509:<I>{issuer_dn!nss_x500}<S>{subject_dn!nss_x500})'

43.1.3. Obtenção do emissor de um certificado para uso em uma regra de correspondência

Este procedimento descreve como obter a informação do emissor de um certificado para que você possa copiá-lo e colá-lo na regra de correspondência de uma regra de mapeamento de certificado. Para obter o formato do emissor exigido por uma regra de correspondência, use o utilitário openssl x509.

Pré-requisitos

  • Você tem o certificado de usuário em um formato .pem ou .crt

Procedimento

  1. Obter as informações do usuário do certificado. Use o utilitário de exibição e assinatura do certificado openssl x509:

    • a opção -noout para evitar a saída de uma versão codificada do pedido
    • a opção -issuer para emitir o nome do emissor
    • a opção -in para especificar o nome do arquivo de entrada para ler o certificado de
    • a opção -nameopt com o valor RFC2253 para exibir primeiro a saída com o nome distinto relativo mais específico (RDN)

      Se o arquivo de entrada contiver um certificado de Gerenciamento de Identidade, a saída do comando mostra que o Emissor é definido usando as informações do Organisation:

      # openssl x509 -noout -issuer -in idm_user.crt -nameopt RFC2253
      issuer=CN=Certificate Authority,O=REALM.EXAMPLE.COM

      Se o arquivo de entrada contiver um certificado do Active Directory, a saída do comando mostra que o Emissor está definido usando as informações do Domain Component:

      # openssl x509 -noout -issuer -in ad_user.crt -nameopt RFC2253
      issuer=CN=AD-WIN2012R2-CA,DC=AD,DC=EXAMPLE,DC=COM
  2. Opcionalmente, para criar uma nova regra de mapeamento na CLI baseada em uma regra de correspondência que especifica que o emissor do certificado deve ser o AD-WIN2012R2-CA extraído do domínio ad.example.com e o assunto no certificado deve corresponder à entrada certmapdata em uma conta de usuário no IdM:

    # ipa certmaprule-add simple_rule --matchrule '<ISSUER>CN=AD-WIN2012R2-CA,DC=AD,DC=EXAMPLE,DC=COM' --maprule '(ipacertmapdata=X509:<I>{issuer_dn!nss_x500}<S>{subject_dn!nss_x500})'

Informações adicionais

Para obter detalhes sobre os formatos suportados para a regra de correspondência e a regra de mapeamento, e uma explicação dos campos de prioridade e domínio, consulte a página de manual sss-certmap(5).