Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

23.2. ID 관리에서 인증서 매핑 규칙 구성

23.2.1. 스마트 카드에서 인증 구성을 위한 인증서 맵핑 규칙

인증서 매핑 규칙은 IdM(Identity Management) 관리자에게 특정 사용자의 인증서에 액세스할 수 없는 시나리오에서 인증서를 사용하여 인증할 수 있는 편리한 방법입니다. 이러한 액세스 부족은 일반적으로 외부 인증 기관에서 인증서를 발급했기 때문에 발생합니다. 특별한 사용 사례는 IdM 도메인이 신뢰 관계에 있는 AD(인증 기관)에서 발급한 인증서로 표시됩니다.
또한 인증서 매핑 규칙은 IdM 환경이 스마트 카드를 사용하는 많은 사용자와 함께 사용하는 경우에도 편리합니다. 이 경우 전체 인증서를 추가하는 것이 복잡할 수 있습니다. 주제와 발급자는 대부분의 시나리오에서 예측 가능하므로 전체 인증서보다 미리 추가하기가 더 쉽습니다. 시스템 관리자는 인증서 매핑 규칙을 생성하고 인증서를 특정 사용자에게 발급하기 전에도 사용자 항목에 인증서 매핑 데이터를 추가할 수 있습니다. 인증서가 발급되면 사용자는 전체 인증서가 항목에 업로드되지 않은 경우에도 인증서를 사용하여 로그인할 수 있습니다.
또한 인증서를 정기적으로 갱신해야 하므로 인증서 매핑 규칙은 관리 오버헤드를 줄입니다. 사용자의 인증서가 갱신되면 관리자가 사용자 항목을 업데이트할 필요가 없습니다. 예를 들어 매핑이 SubjectIssuer 값을 기반으로 하고 새 인증서의 주체 및 발급자가 이전 인증서와 동일한 경우 매핑이 계속 적용됩니다. 반대로 전체 인증서가 사용된 경우 관리자는 새 인증서를 사용자 항목에 업로드하여 이전 인증서를 교체해야 합니다.
인증서 매핑을 설정하려면 다음을 수행합니다.
  1. 관리자는 인증서 매핑 데이터(일반적으로 발급자 및 주체) 또는 전체 인증서를 사용자 계정으로 로드해야 합니다.
  2. 관리자는 사용자의 IdM에 성공적으로 로그인할 수 있는 인증서 매핑 규칙을 생성해야 합니다.
    • 해당 계정에 인증서 매핑 데이터 항목이 포함되어 있습니다.
    • 인증서 매핑 데이터 항목이 인증서의 정보와 일치하는 경우
    매핑 규칙을 구성하고 이를 얻는 방법에 대한 자세한 내용은 IdM의 ID 매핑 규칙 구성 요소 및 일치하는 규칙에 사용하기 위해 인증서에서 발급자 가져오기를 참조하십시오.

23.2.1.1. Active Directory 도메인을 사용한 신뢰에 대한 인증서 매핑 규칙

이 섹션에서는 IdM 배포가 AD(Active Directory) 도메인과 신뢰 관계에 있는 경우 가능한 다양한 인증서 매핑 사용 사례에 대해 간단히 설명합니다.
인증서 매핑 규칙은 신뢰할 수 있는 AD 인증서 시스템이 발급한 스마트 카드 인증서를 보유한 사용자에 대해 IdM 리소스에 액세스할 수 있는 편리한 방법입니다. AD 구성에 따라 다음 시나리오가 가능합니다.

23.2.1.2. IdM의 ID 매핑 규칙의 구성 요소

이 섹션에서는 IdM의 ID 매핑 규칙의 구성 요소와 구성 방법을 설명합니다. 각 구성 요소에는 재정의할 수 있는 기본값이 있습니다. 웹 UI 또는 명령줄에 구성 요소를 정의할 수 있습니다. 명령줄에서 ipa certmaprule-add 명령을 사용하여 ID 매핑 규칙이 생성됩니다.
매핑 규칙
매핑 규칙 구성 요소는 하나 이상의 사용자 계정이 있는 인증서를 연결(또는 매핑)합니다. 규칙은 인증서를 원하는 사용자 계정과 연결하는 LDAP 검색 필터를 정의합니다.
다른 CA(인증 기관)에서 발급한 인증서는 다른 속성을 가질 수 있으며 다른 도메인에서 사용할 수 있습니다. 따라서 IdM은 무조건 매핑 규칙을 적용하지 않고 적절한 인증서에만 적용합니다. 적절한 인증서는 일치하는 규칙을 사용하여 정의합니다.
매핑 규칙 옵션을 비워 두면 인증서가 userCertificate 속성에서 DER 인코딩 바이너리 파일로 검색됩니다.
map rule 옵션을 사용하여 명령줄에서 매핑 규칙을 정의합니다.
일치하는 규칙
domain 목록은 IdM에서 ID 매핑 규칙을 처리할 때 사용자를 검색하려는 ID 도메인을 지정합니다. 옵션을 지정하지 않으면 IdM 클라이언트가 속한 로컬 도메인의 사용자만 검색합니다.
domain 옵션을 사용하여 명령줄에서 도메인을 정의합니다.
우선순위
여러 규칙을 인증서에 적용할 수 있는 경우 우선 순위가 가장 높은 규칙이 우선합니다. 다른 모든 규칙은 무시됩니다.
  • 숫자 값이 낮을수록 ID 매핑 규칙의 우선 순위가 높습니다. 예를 들어 우선 순위 1이 있는 규칙은 우선 순위가 2인 규칙보다 우선 순위가 높습니다.
  • 규칙의 우선 순위 값이 정의되지 않은 경우 우선 순위가 가장 낮습니다.
우선 순위 옵션을 사용하여 명령줄에서 매핑 규칙 우선 순위를 정의합니다.

예 23.1. 인증서 맵핑 규칙 예

명령줄을 사용하여 해당 인증서의 주체 가 IdM의 사용자 계정의 certmapdata 항목과 일치하는 한, EXAMPLE.ORG 조직의 스마트 카드 CA에서 발급한 인증서에 대한 인증을 허용하는 simple_rule 이라는 인증서 매핑 규칙을 정의합니다.
# 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})'

23.2.1.3. 일치 규칙에 사용할 인증서에서 발급자 얻기

다음 절차에서는 인증서 매핑 규칙의 일치 규칙에 복사하여 붙여넣을 수 있도록 인증서에서 발급자 정보를 가져오는 방법을 설명합니다. 일치하는 규칙에 필요한 발급자 형식을 가져오려면 openssl x509 명령을 사용합니다.

사전 요구 사항

  • 사용자 인증서가 .pem 또는 .crt 형식으로 되어 있습니다.

절차

  1. 인증서에서 사용자 정보를 가져옵니다. 다음과 같이 openssl 인증서 표시 및 서명 유틸리티를 사용합니다.
    • 인코딩된 버전의 요청을 방지하는 no out 옵션
    • 발급자 이름을 출력하는 -issuer 옵션
    • 인증서를 읽을 입력 파일 이름을 지정하는 -in 옵션
    • 가장 구체적인 상대 고유 이름(RDN)을 먼저 표시하는 RFC2253 값과 함께 -nameopt 옵션
    입력 파일에 ID 관리 인증서가 포함된 경우 명령 출력에 Issuer가 사용 중 정보를 사용하여 정의되어 있음을 보여줍니다.
    # openssl x509 -noout -issuer -in idm_user.crt -nameopt RFC2253
    issuer=CN=Certificate Authority,O=REALM.EXAMPLE.COM
    입력 파일에 Active Directory 인증서가 포함된 경우 명령 출력에 Issuer가 도메인 구성 요소 정보를 사용하여 정의되어 있음을 보여줍니다.
    # # openssl x509 -noout -issuer -in ad_user.crt -nameopt RFC2253
    issuer=CN=AD-WIN2012R2-CA,DC=AD,DC=EXAMPLE,DC=COM
  2. 필요한 경우 일치하는 규칙에 따라 명령줄에 새 매핑 규칙을 생성하려면 인증서 발행자가 ad.example.com 도메인의 추출된 AD-knative2012R2-CA 여야 하며 인증서의 주체가 IdM의 사용자 계정의 certmapdata 항목과 일치해야 합니다.
    # 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})'

추가 정보

일치하는 규칙 및 매핑 규칙에 대해 지원되는 형식에 대한 정보 및 우선 순위 및 도메인 필드에 대한 설명을 포함하여 certmap 명령에 대한 자세한 내용은 sss-certmap(5) 매뉴얼 페이지를 참조하십시오.

23.2.2. IdM에 저장된 사용자의 인증서 매핑 구성

이 섹션에서는 인증 인증을 구성하는 사용자가 IdM에 저장된 경우 IdM에서 인증서 매핑을 활성화하기 위해 수행해야 하는 단계에 대해 설명합니다.

사전 요구 사항

  • 사용자가 IdM에 계정이 있습니다.
  • 관리자에게는 사용자 항목에 추가할 전체 인증서 또는 인증서 매핑 데이터가 있습니다.

23.2.2.1. IdM에 인증서 맵핑 규칙 추가

이 섹션에서는 매핑 규칙에 지정된 조건과 일치하는 인증서를 사용하여 IdM 사용자가 IdM에 인증할 수 있도록 인증서 매핑 규칙을 설정하는 방법을 설명합니다.
23.2.2.1.1. IdM 웹 UI에 인증서 매핑 규칙 추가
  1. 관리자로 IdM 웹 UI에 로그인합니다.
  2. AuthenticationCertificate Identity Mapping Rules 이동합니다.
  3. 추가를 클릭합니다.

    그림 23.1. IdM 웹 UI에 새 인증서 매핑 규칙 추가

    IdM 웹 UI에 새 인증서 매핑 규칙 추가
  4. 규칙 이름을 입력합니다.
  5. 매핑 규칙을 입력합니다. 예를 들어, IdM에서 제공된 인증서의 발급자주체 항목을 검색하고, 제공된 인증서의 두 항목에 있는 정보를 인증하거나 사용하지 않도록 결정하는 내용을 입력하십시오.
    (ipacertmapdata=X509:<I>{issuer_dn!nss_x500}<S>{subject_dn!nss_x500})
  6. 일치하는 규칙을 입력합니다. 예를 들어 EXAMPLE.ORG 조직의 Smart Card CA 에서 발행한 인증서만 허용하여 사용자를 IdM에 인증하려면 다음을 입력합니다.
    <ISSUER>CN=Smart Card CA,O=EXAMPLE.ORG

    그림 23.2. IdM 웹 UI에서 인증서 매핑 규칙의 세부 정보 입력

    IdM 웹 UI에서 인증서 매핑 규칙의 세부 정보 입력
  7. 대화 상자 하단에서 추가 를 클릭하여 규칙을 추가하고 상자를 닫습니다.
  8. SSSD(System Security Services Daemon)는 인증서 매핑 규칙을 주기적으로 다시 읽습니다. 새로 생성된 규칙을 즉시 로드하려면 SSSD를 다시 시작하십시오.
    # systemctl restart sssd
이제 IdM 사용자 항목의 인증서 매핑 데이터와 스마트 카드 인증서에서 찾을 수 있는 매핑 규칙에 지정된 데이터 유형을 비교하는 인증서 매핑 규칙을 설정해야 합니다. 일치하는 항목을 찾으면 일치하는 사용자를 인증합니다.
23.2.2.1.2. 명령줄을 사용하여 인증서 매핑 규칙 추가
  1. 관리자의 인증 정보를 가져옵니다.
    # kinit admin
  2. 매핑 규칙이 기반으로 하는 매핑 규칙과 일치 규칙을 입력합니다. 예를 들어, 제공된 인증서의 IssuerSubject 항목을 검색하고 제시된 인증서의 이 두 항목에 있는 정보를 인증하라는 결정을 내리기 위해 EXAMPLE.ORG 조직의 스마트 카드 CA 에서 발급한 인증서만 인식합니다.
    # ipa certmaprule-add rule_name --matchrule '<ISSUER>CN=Smart Card CA,O=EXAMPLE.ORG' --maprule '(ipacertmapdata=X509:<I>{issuer_dn!nss_x500}<S>{subject_dn!nss_x500})'
    -------------------------------------------------------
    Added Certificate Identity Mapping Rule "rule_name"
    -------------------------------------------------------
      Rule name: rule_name
      Mapping rule: (ipacertmapdata=X509:<I>{issuer_dn!nss_x500}<S>{subject_dn!nss_x500})
      Matching rule: <ISSUER>CN=Smart Card CA,O=EXAMPLE.ORG
      Enabled: TRUE
  3. SSSD(System Security Services Daemon)는 인증서 매핑 규칙을 주기적으로 다시 읽습니다. 새로 생성된 규칙을 즉시 로드하려면 SSSD를 다시 시작하십시오.
    # systemctl restart sssd
이제 IdM 사용자 항목의 인증서 매핑 데이터와 스마트 카드 인증서에서 찾을 수 있는 매핑 규칙에 지정된 데이터 유형을 비교하는 인증서 매핑 규칙을 설정해야 합니다. 일치하는 항목을 찾으면 일치하는 사용자를 인증합니다.

23.2.2.2. IdM의 사용자 항목에 인증서 매핑 데이터 추가

이 섹션에서는 모두 인증서 매핑 데이터 항목에 지정된 값이 포함된 한 사용자가 여러 인증서를 사용하여 인증할 수 있도록 인증서 매핑 데이터를 IdM 사용자 항목에 입력하는 방법을 설명합니다.
23.2.2.2.1. IdM 웹 UI에서 사용자 항목에 인증서 매핑 데이터 추가
  1. 관리자로 IdM 웹 UI에 로그인합니다.
  2. Users(사용자) ActiveUsers(활성 사용자 ) 로 이동하여 사용자 항목을 클릭합니다.
  3. 인증서 매핑 데이터 옵션을 찾아 추가 를 클릭합니다.
  4. 사용 중인 사용자의 인증서가 있는 경우:
    1. 명령줄 인터페이스에서 cat 유틸리티 또는 텍스트 편집기를 사용하여 인증서를 표시합니다.
      # [root@server ~]# cat idm_user_certificate.pem
      -----BEGIN CERTIFICATE-----
      MIIFFTCCA/2gAwIBAgIBEjANBgkqhkiG9w0BAQsFADA6MRgwFgYDVQQKDA9JRE0u RVhBTVBMRS5DT00xHjAcBgNVBAMMFUNlcnRpZmljYXRlIEF1dGhvcml0eTAeFw0x ODA5MDIxODE1MzlaFw0yMDA5MDIxODE1MzlaMCwxGDAWBgNVBAoMD0lETS5FWEFN
      [...output truncated...]
    2. 인증서를 복사합니다.
    3. IdM 웹 UI에서 인증서 옆에 있는 추가 를 클릭하고 표시되는 창에 인증서를 붙여넣습니다.

      그림 23.3. 사용자의 인증서 맵핑 데이터 추가: certificate

      사용자의 인증서 맵핑 데이터 추가: certificate
      다른 방법으로는 사용자 인증서가 없지만 발급자 및 인증서 주체 를 알고 있는 경우 Issuer 및 subject 의 라디오 버튼을 확인하고 두 개의 각 상자에 값을 입력합니다.

      그림 23.4. 사용자의 인증서 맵핑 데이터 추가: 발행자 및 주체

      사용자의 인증서 맵핑 데이터 추가: 발행자 및 주체
  5. 추가를 클릭합니다.
  6. 필요한 경우 .pem 형식의 전체 인증서에 액세스할 수 있는 경우 사용자 및 인증서가 연결되어 있는지 확인합니다.
    1. sss_cache 유틸리티를 사용하여 SSSD 캐시에 있는 사용자 레코드를 무효화하고 사용자 정보를 강제로 다시 로드합니다.
      # sss_cache -u user_name
    2. IdM 사용자의 인증서가 포함된 파일 이름으로 ipa certmap-match 명령을 실행합니다.
      # ipa certmap-match idm_user_cert.pem
      --------------
      1 user matched
      --------------
       Domain: IDM.EXAMPLE.COM
       User logins: idm_user
      ----------------------------
      Number of entries returned 1
      ----------------------------
    출력은 이제 사용자에게 인증서 매핑 데이터가 추가되었음을 확인하고 23.2.2.1절. “IdM에 인증서 맵핑 규칙 추가” 에 정의된 해당 매핑 규칙이 있는지 확인합니다. 즉, 정의된 인증서 매핑 데이터와 일치하는 인증서를 사용하여 사용자로 인증할 수 있습니다.
23.2.2.2.2. 명령줄을 사용하여 사용자 항목에 인증서 매핑 데이터 추가
  1. 관리자의 인증 정보를 가져옵니다.
    # kinit admin
  2. 사용자 인증서가 있는 경우 ipa user-add-cert 명령을 사용하여 사용자 계정에 인증서를 추가하십시오.
    # CERT=`cat idm_user_cert.pem | tail -n +2 | head -n -1 | tr -d '\r\n'\`
    # ipa user-add-certmapdata idm_user --certificate $CERT
    또는 사용자 인증서에 사용자 인증서가 없지만 사용자 인증서의 발급자주체 를 알고 있는 경우:
    # ipa user-add-certmapdata idm_user --subject "O=EXAMPLE.ORG,CN=test" --issuer "CN=Smart Card CA,O=EXAMPLE.ORG"
    --------------------------------------------
    Added certificate mappings to user "idm_user"
    --------------------------------------------
      User login: idm_user
      Certificate mapping data: X509:<I>O=EXAMPLE.ORG,CN=Smart Card CA<S>CN=test,O=EXAMPLE.ORG
  3. 필요한 경우 .pem 형식의 전체 인증서에 액세스할 수 있는 경우 사용자 및 인증서가 연결되어 있는지 확인합니다.
    1. sss_cache 유틸리티를 사용하여 SSSD 캐시에 있는 사용자 레코드를 무효화하고 사용자 정보를 강제로 다시 로드합니다.
      # sss_cache -u user_name
    2. IdM 사용자의 인증서가 포함된 파일 이름으로 ipa certmap-match 명령을 실행합니다.
      # ipa certmap-match idm_user_cert.pem
      --------------
      1 user matched
      --------------
       Domain: IDM.EXAMPLE.COM
       User logins: idm_user
      ----------------------------
      Number of entries returned 1
      ----------------------------

23.2.3. 전체 인증서가 포함된 AD 사용자 항목 사용자에 대한 인증서 매핑 구성

이 섹션에서는 IdM 배포가 AD(Active Directory)와 신뢰되고 AD의 사용자 항목에 전체 인증서가 포함된 경우 IdM에서 인증서 매핑을 활성화하는 데 필요한 단계를 설명합니다.

사전 요구 사항

  • 사용자에게 IdM에 계정이 없습니다.
  • 사용자에게 인증서가 포함된 AD 계정이 있습니다.
  • IdM 관리자는 IdM 인증서 매핑 규칙을 기반으로 할 수 있는 데이터에 액세스할 수 있습니다.

23.2.3.1. IdM 웹 UI를 사용하여 전체 인증서가 포함된 사용자를 위한 인증서 매핑 규칙 추가

IdM 웹 UI에 인증서 매핑 규칙을 추가하려면 다음을 수행합니다.
  1. 관리자로 IdM 웹 UI에 로그인합니다.
  2. AuthenticationCertificate Identity Mapping Rules 이동합니다.
  3. 추가를 클릭합니다.

    그림 23.5. IdM 웹 UI에 새 인증서 매핑 규칙 추가

    IdM 웹 UI에 새 인증서 매핑 규칙 추가
  4. 규칙 이름을 입력합니다.
  5. 매핑 규칙을 입력합니다. AD에서 사용할 수 있는 항목에 비해 인증을 위해 IdM에 제공되는 전체 인증서를 사용하려면 다음을 수행합니다.
    (userCertificate;binary={cert!bin})
  6. 일치하는 규칙을 입력합니다. 예를 들어 AD.EXAMPLE.COM 도메인의 AD-ROOT-CA 에서 발급한 인증서만 인증하려면 다음을 수행합니다.
    <ISSUER>CN=AD-ROOT-CA,DC=ad,DC=example,DC=com

    그림 23.6. 인증서가 AD에 저장된 사용자의 인증서 맵핑 규칙

    인증서가 AD에 저장된 사용자의 인증서 맵핑 규칙
  7. 추가를 클릭합니다.
  8. SSSD(System Security Services Daemon)는 인증서 매핑 규칙을 주기적으로 다시 읽습니다. 새로 생성된 규칙을 즉시 로드하려면 SSSD를 다시 시작하십시오.
    # systemctl restart sssd

23.2.3.2. 명령줄을 사용하여 전체 인증서가 포함된 사용자용 인증서 매핑 규칙 추가

명령줄을 사용하여 인증서 매핑 규칙을 추가하려면 다음을 수행합니다.
  1. 관리자의 인증 정보를 가져옵니다.
    # kinit admin
  2. 매핑 규칙이 기반으로 하는 매핑 규칙과 일치 규칙을 입력합니다. AD에서 사용할 수 있는 것과 비교하여 인증에 제공되는 전체 인증서를 얻으려면 AD.EXAMPLE.COM 도메인의 AD-ROOT-CA 에서 발급한 인증서만 인증할 수 있습니다.
    # ipa certmaprule-add simpleADrule --matchrule '<ISSUER>CN=AD-ROOT-CA,DC=ad,DC=example,DC=com' --maprule '(userCertificate;binary={cert!bin})' --domain ad.example.com
    -------------------------------------------------------
    Added Certificate Identity Mapping Rule "simpleADrule"
    -------------------------------------------------------
      Rule name: simpleADrule
      Mapping rule: (userCertificate;binary={cert!bin})
      Matching rule: <ISSUER>CN=AD-ROOT-CA,DC=ad,DC=example,DC=com
      Domain name: ad.example.com
      Enabled: TRUE
  3. SSSD(System Security Services Daemon)는 인증서 매핑 규칙을 주기적으로 다시 읽습니다. 새로 생성된 규칙을 즉시 로드하려면 SSSD를 다시 시작하십시오.
    # systemctl restart sssd

23.2.4. 사용자 인증서를 사용자 계정에 매핑하도록 AD가 구성된 경우 인증서 맵핑 구성

이 섹션에서는 IdM 배포가 AD(Active Directory)를 신뢰하고 AD의 사용자 항목에 인증서 매핑 데이터가 포함된 경우 IdM에서 인증서 매핑을 활성화하는 데 필요한 단계를 설명합니다.

사전 요구 사항

  • 사용자에게 IdM에 계정이 없습니다.
  • 사용자는 IdM certmapdata 속성과 동등한 altSecurityIdentities 속성을 포함하는 AD 계정이 있습니다.
  • IdM 관리자는 IdM 인증서 매핑 규칙을 기반으로 할 수 있는 데이터에 액세스할 수 있습니다.

23.2.4.1. 신뢰할 수 있는 AD 도메인이 사용자 인증서를 매핑하도록 구성된 경우 웹 UI를 사용하여 인증서 매핑 규칙 추가

신뢰할 수 있는 AD 도메인이 사용자 인증서를 매핑하도록 구성된 경우 인증서 매핑 규칙을 추가하려면 다음을 수행합니다.
  1. 관리자로 IdM 웹 UI에 로그인합니다.
  2. AuthenticationCertificate Identity Mapping Rules 이동합니다.
  3. 추가를 클릭합니다.

    그림 23.7. IdM 웹 UI에 새 인증서 매핑 규칙 추가

    IdM 웹 UI에 새 인증서 매핑 규칙 추가
  4. 규칙 이름을 입력합니다.
  5. 매핑 규칙을 입력합니다. 예를 들어 AD DC가 제공된 인증서의 IssuerSubject 항목을 검색하고 제시된 인증서의 이 두 항목에 있는 정보를 인증하거나 찾지 않기로 결정하도록 하려면 다음을 수행합니다.
    (altSecurityIdentities=X509:<I>{issuer_dn!ad_x500}<S>{subject_dn!ad_x500})
  6. 일치하는 규칙을 입력합니다. 예를 들어 AD.EXAMPLE.COM 도메인의 AD-ROOT-CA 에서 발급한 인증서만 허용하여 사용자를 IdM에 인증합니다.
    <ISSUER>CN=AD-ROOT-CA,DC=ad,DC=example,DC=com
  7. 도메인을 입력합니다.
    ad.example.com

    그림 23.8. 매핑을 위해 AD가 구성된 경우 인증서 맵핑 규칙

    매핑을 위해 AD가 구성된 경우 인증서 맵핑 규칙
  8. 추가를 클릭합니다.
  9. SSSD(System Security Services Daemon)는 인증서 매핑 규칙을 주기적으로 다시 읽습니다. 새로 생성된 규칙을 즉시 로드하려면 SSSD를 다시 시작하십시오.
    # systemctl restart sssd

23.2.4.2. 신뢰할 수 있는 AD 도메인이 사용자 인증서를 매핑하도록 구성된 경우 명령줄을 사용하여 인증서 매핑 규칙 추가

명령줄을 사용하여 인증서 매핑 규칙을 추가하려면 다음을 수행합니다.
  1. 관리자의 인증 정보를 가져옵니다.
    # kinit admin
  2. 매핑 규칙이 기반으로 하는 매핑 규칙과 일치 규칙을 입력합니다. 예를 들어 AD에서 제공된 인증서의 IssuerSubject 항목을 검색하고 AD.EXAMPLE.COM 도메인의 AD-ROOT-CA 에서 발급한 인증서만 허용하려면 다음을 수행합니다.
    # ipa certmaprule-add ad_configured_for_mapping_rule --matchrule '<ISSUER>CN=AD-ROOT-CA,DC=ad,DC=example,DC=com' --maprule '(altSecurityIdentities=X509:<I>{issuer_dn!ad_x500}<S>{subject_dn!ad_x500})' --domain=ad.example.com
    -------------------------------------------------------
    Added Certificate Identity Mapping Rule "ad_configured_for_mapping_rule"
    -------------------------------------------------------
      Rule name: ad_configured_for_mapping_rule
      Mapping rule: (altSecurityIdentities=X509:<I>{issuer_dn!ad_x500}<S>{subject_dn!ad_x500})
      Matching rule: <ISSUER>CN=AD-ROOT-CA,DC=ad,DC=example,DC=com
      Domain name: ad.example.com
      Enabled: TRUE
  3. SSSD(System Security Services Daemon)는 인증서 매핑 규칙을 주기적으로 다시 읽습니다. 새로 생성된 규칙을 즉시 로드하려면 SSSD를 다시 시작하십시오.
    # systemctl restart sssd

23.2.4.3. AD Side에서 인증서 맵핑 데이터 확인

altSecurityIdentities 속성은 IdM의 certmapdata 사용자 속성과 동등한 AD(Active Directory)입니다. 사용자 인증서를 사용자 계정에 매핑하도록 신뢰할 수 있는 AD 도메인이 구성된 경우 IdM 시스템 관리자가 AD의 사용자 항목에 altSecurityIdentities 속성이 올바르게 설정되었는지 확인해야 합니다.
AD에 AD에 저장된 사용자에 대한 올바른 정보가 포함되어 있는지 확인하려면 ldapsearch 명령을 사용합니다.
예를 들어 altSecurityIdentities 속성이 ad_user 의 사용자 항목에 설정된 adserver.ad.example.com 서버를 사용하려면 ad.example.com 도메인의 AD-ROOT-CA에서 AD-ROOT-CA 에서 발행한 인증서가 ad.example.com 도메인의 AD-ROOT-CA에서 발행한 인증서가 있음을 규정합니다. DC=example,DC=ad,CN=Users,CN=ad_user:
$ ldapsearch -o ldif-wrap=no -LLL -h adserver.ad.example.com \
-p 389 -D cn=Administrator,cn=users,dc=ad,dc=example,dc=com \
-W -b cn=users,dc=ad,dc=example,dc=com "(cn=ad_user)" \
altSecurityIdentities
Enter LDAP Password:
dn: CN=ad_user,CN=Users,DC=ad,DC=example,DC=com
altSecurityIdentities: X509:<I>DC=com,DC=example,DC=ad,CN=AD-ROOT-CA<S>DC=com,DC=example,DC=ad,CN=Users,CN=ad_user

23.2.5. AD User Entry에 인증서 또는 매핑 데이터가 없는 경우 인증서 맵핑 구성

이 섹션에서는 IdM 배포가 AD(Active Directory)를 신뢰하고 AD의 사용자 항목에 전체 인증서 및 인증서 매핑 데이터를 모두 포함하는 경우 IdM에서 인증서 매핑을 활성화하는 데 필요한 단계를 설명합니다.

사전 요구 사항

  • 사용자에게 IdM에 계정이 없습니다.
  • 사용자에게는 IdM certmapdata 속성과 동등한 전체 인증서 또는 altSecurityIdentities 속성이 모두 포함되지 않은 AD에 계정이 있습니다.
  • IdM 관리자에게는 IdM의 AD 사용자의 사용자 ID 재정의에 추가할 전체 AD 사용자 인증서가 있습니다.

23.2.5.1. AD 사용자가 인증서 또는 맵핑 데이터를 포함하지 않는 경우 웹 UI를 사용하여 인증서 맵핑 규칙 추가

AD 사용자 항목에 인증서 또는 매핑 데이터가 없는 경우 웹 UI를 사용하여 인증서 매핑 규칙을 추가하려면 다음을 수행합니다.
  1. 관리자로 IdM 웹 UI에 로그인합니다.
  2. AuthenticationCertificate Identity Mapping Rules 이동합니다.
  3. 추가를 클릭합니다.

    그림 23.9. IdM 웹 UI에 새 인증서 매핑 규칙 추가

    IdM 웹 UI에 새 인증서 매핑 규칙 추가
  4. 규칙 이름을 입력합니다.
  5. 매핑 규칙을 입력합니다. IdM에서 AD 사용자 항목의 사용자 ID 재정의 항목에 저장된 인증서에 비해 인증을 위해 IdM에 제공된 전체 인증서를 확인하려면 다음을 수행합니다.
    (userCertificate;binary={cert!bin})
  6. 일치하는 규칙을 입력합니다. 예를 들어 AD.EXAMPLE.COM 도메인의 AD-ROOT-CA 에서 발급한 인증서만 인증하려면 다음을 수행합니다.
    <ISSUER>CN=AD-ROOT-CA,DC=ad,DC=example,DC=com
  7. 도메인 이름을 입력합니다. 예를 들어 ad.example.com 도메인에서 사용자를 검색하려면 다음을 수행합니다.

    그림 23.10. 인증서가 없거나 AD에 저장된 데이터 맵핑이 없는 사용자의 인증서 맵핑 규칙

    인증서가 없거나 AD에 저장된 데이터 맵핑이 없는 사용자의 인증서 맵핑 규칙
  8. 추가를 클릭합니다.
  9. SSSD(System Security Services Daemon)는 인증서 매핑 규칙을 주기적으로 다시 읽습니다. 새로 생성된 규칙을 즉시 로드하려면 SSSD를 다시 시작하십시오.
    # systemctl restart sssd

23.2.5.2. AD 사용자가 인증서 또는 매핑 데이터를 포함하지 않는 경우 명령줄을 사용하여 인증서 맵핑 규칙 추가

AD 사용자 항목에 인증서 또는 매핑 데이터가 없는 경우 명령줄을 사용하여 인증서 매핑 규칙을 추가하려면 다음을 수행합니다.
  1. 관리자의 인증 정보를 가져옵니다.
    # kinit admin
  2. 매핑 규칙이 기반으로 하는 매핑 규칙과 일치 규칙을 입력합니다. IdM의 AD 사용자 항목의 AD 사용자 항목에 저장된 인증서에 비해 인증에 제공되는 전체 인증서를 사용하려면 AD.EXAMPLE.COM 도메인의 AD-ROOT-CA 에서 발급한 인증서만 인증할 수 있습니다.
    # ipa certmaprule-add simpleADrule --matchrule '<ISSUER>CN=AD-ROOT-CA,DC=ad,DC=example,DC=com' --maprule '(userCertificate;binary={cert!bin})' --domain ad.example.com
    -------------------------------------------------------
    Added Certificate Identity Mapping Rule "simpleADrule"
    -------------------------------------------------------
      Rule name: simpleADrule
      Mapping rule: (userCertificate;binary={cert!bin})
      Matching rule: <ISSUER>CN=AD-ROOT-CA,DC=ad,DC=example,DC=com
      Domain name: ad.example.com
      Enabled: TRUE
  3. SSSD(System Security Services Daemon)는 인증서 매핑 규칙을 주기적으로 다시 읽습니다. 새로 생성된 규칙을 즉시 로드하려면 SSSD를 다시 시작하십시오.
    # systemctl restart sssd

23.2.5.3. 웹 UI를 사용하여 AD 사용자의 ID 재정의에 인증서 추가

AD의 사용자 항목에 인증서 또는 매핑 데이터가 없는 경우 AD 사용자 ID에 인증서를 추가하려면 웹 UI를 사용하여 인증서를 재정의합니다.
  1. 관리자로 IdM 웹 UI에 로그인합니다.
  2. IdentityID ViewsDefault Trust View 로 이동합니다.
  3. 추가를 클릭합니다.

    그림 23.11. IdM 웹 UI에서 새 사용자 ID 재정의 추가

    IdM 웹 UI에서 새 사용자 ID 재정의 추가
  4. User to override ( 재정의할 사용자) 필드에 다음 형식으로 사용자 이름을 입력합니다. user_name@domain_name
  5. 사용자 인증서를 복사하여 인증서 필드에 붙여넣습니다.

    그림 23.12. AD 사용자의 사용자 ID 재정의 구성

    AD 사용자의 사용자 ID 재정의 구성
  6. 선택적으로 사용자 및 인증서가 연결되었는지 확인합니다.
    1. sss_cache 유틸리티를 사용하여 SSSD 캐시에 있는 사용자 레코드를 무효화하고 사용자 정보를 강제로 다시 로드합니다.
      # sss_cache -u ad_user@ad.example.com
    2. AD 사용자의 인증서가 포함된 파일 이름으로 ipa certmap-match 명령을 입력합니다.
      # ipa certmap-match ad_user_cert.pem
      --------------
      1 user matched
      --------------
       Domain: AD.EXAMPLE.COM
       User logins: ad_user@ad.example.com
      ----------------------------
      Number of entries returned 1
      ----------------------------
      출력에 ad_user@ad.example.com 에 인증서 매핑 데이터가 추가되고 해당 매핑 규칙이 있는지 확인합니다. 즉, 정의된 인증서 매핑 데이터와 일치하는 모든 인증서를 사용하여 ad_user@ad.example.com 로 인증할 수 있습니다.

23.2.5.4. 명령줄을 사용하여 AD 사용자의 ID 재정의에 인증서 추가

AD의 사용자 항목에 인증서 또는 매핑 데이터가 없는 경우 명령줄을 사용하여 AD 사용자 ID에 인증서를 추가하려면 다음을 수행합니다.
  1. 관리자의 인증 정보를 가져옵니다.
    # kinit admin
  2. ipa idoverrideuser-add-cert 명령을 사용하여 사용자 계정에 사용자 인증서를 추가합니다.
    # CERT=`cat ad_user_cert.pem | tail -n +2 | head -n -1 | tr -d '\r\n'\`
    # ipa idoverrideuser-add-cert ad_user@ad.example.com --certificate $CERT
  3. 선택적으로 사용자 및 인증서가 연결되었는지 확인합니다.
    1. sss_cache 유틸리티를 사용하여 SSSD 캐시에 있는 사용자 레코드를 무효화하고 사용자 정보를 강제로 다시 로드합니다.
      # sss_cache -u ad_user@ad.example.com
    2. AD 사용자의 인증서가 포함된 파일 이름으로 ipa certmap-match 명령을 입력합니다.
      # ipa certmap-match ad_user_cert.pem
      --------------
      1 user matched
      --------------
       Domain: AD.EXAMPLE.COM
       User logins: ad_user@ad.example.com
      ----------------------------
      Number of entries returned 1
      ----------------------------
      출력에 ad_user@ad.example.com 에 인증서 매핑 데이터가 추가되고 해당 매핑 규칙이 있는지 확인합니다. 즉, 정의된 인증서 매핑 데이터와 일치하는 모든 인증서를 사용하여 ad_user@ad.example.com 로 인증할 수 있습니다.

23.2.6. Several Identity Mapping Rules Into One의 결합

여러 ID 매핑 규칙을 하나의 결합된 규칙으로 결합하려면 | (또는) 문자를 사용하여 개별 매핑 규칙 앞에 배치하고 () 대괄호를 사용하여 분리합니다. 예를 들면 다음과 같습니다.
$ ipa certmaprule-add ad_cert_for_ipa_and_ad_users \ --maprule='(|(ipacertmapdata=X509:<I>{issuer_dn!nss_x500}<S>{subject_dn!nss_x500})(altSecurityIdentities=X509:<I>{issuer_dn!ad_x500}<S>{subject_dn!ad_x500}))' \ --matchrule='<ISSUER>CN=AD-ROOT-CA,DC=ad,DC=example,DC=com' \ --domain=ad.example.com
위 예제에서 --maprule 옵션의 필터 정의에는 다음 기준이 포함됩니다.
--maprule 옵션의 필터 정의는 여러 조건을 지정할 수 있도록 논리 연산자 | (또는)를 허용합니다. 이 경우 규칙은 기준 중 하나 이상을 충족하는 모든 사용자 계정을 매핑합니다.
$ ipa certmaprule-add ipa_cert_for_ad_users \
  --maprule='(|(userCertificate;binary={cert!bin})(ipacertmapdata=X509:<I>{issuer_dn!nss_x500}<S>{subject_dn!nss_x500})(altSecurityIdentities=X509:<I>{issuer_dn!ad_x500}<S>{subject_dn!ad_x500}))' \
  --matchrule='<ISSUER>CN=Certificate Authority,O=REALM.EXAMPLE.COM' \
  --domain=idm.example.com --domain=ad.example.com
위 예제에서 --maprule 옵션의 필터 정의에는 다음 기준이 포함됩니다.
map rule 옵션의 필터 정의는 논리 연산자 |(또는)를 수락하므로 여러 기준을 지정할 수 있습니다. 이 경우 규칙은 기준 중 하나 이상을 충족하는 모든 사용자 계정을 매핑합니다.