Red Hat Training

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

24.5. 인증 기관 ACL 규칙

CA ACL(인증 기관 액세스 제어 목록) 규칙은 어떤 사용자, 서비스 또는 호스트에 대한 인증서를 발급하는 데 사용할 수 있는 프로필을 정의합니다. 프로필, 주체 및 그룹을 연결하면 CA ACL에서 주체 또는 그룹이 특정 프로필을 사용하여 인증서를 요청할 수 있습니다.
  • ACL은 여러 프로필에 대한 액세스를 허용할 수 있습니다.
  • ACL에는 연결된 여러 사용자, 서비스, 호스트, 사용자 그룹 및 호스트 그룹이 있을 수 있습니다.
예를 들어 관리자는 CA ACL을 사용하여 런던에 위치한 사무실에서 작업하는 직원을 런던 사무소 관련 그룹의 구성원으로만 사용하도록 제한할 수 있습니다.
참고
관리자는 24.4절. “인증서 프로필” 및 CA ACL에 설명된 인증서 프로필을 결합하여 사용자 정의 인증서 프로필에 대한 액세스를 정의하고 제어할 수 있습니다. 프로필 및 CA ACL을 사용하여 사용자 인증서를 발급하는 방법에 대한 설명은 24.6절. “IdM CA에서 사용자 인증서 발급에 인증서 프로필과 ACL 사용” 을 참조하십시오.

24.5.1. 명령줄에서 CA ACL 관리

CA ACL 규칙 관리를 위한 caacl 플러그인을 사용하면 권한 있는 사용자가 지정된 CA ACL을 추가, 표시, 수정 또는 삭제할 수 있습니다. 플러그인에서 지원하는 모든 명령을 표시하려면 ipa caacl 명령을 실행합니다.
$ ipa caacl
Manage CA ACL rules.

...

EXAMPLES:

  Create a CA ACL "test" that grants all users access to the
  "UserCert" profile:
    ipa caacl-add test --usercat=all
    ipa caacl-add-profile test --certprofiles UserCert

  Display the properties of a named CA ACL:
    ipa caacl-show test

  Create a CA ACL to let user "alice" use the "DNP3" profile on "DNP3-CA":
    ipa caacl-add alice_dnp3
    ipa caacl-add-ca alice_dnp3 --cas DNP3-CA
    ipa caacl-add-profile alice_dnp3 --certprofiles DNP3
    ipa caacl-add-user alice_dnp3 --user=alice
...
caacl 작업을 수행하려면 필요한 권한이 있는 사용자로 작동해야 합니다. IdM에는 기본적으로 다음 CA ACL 관련 권한이 포함됩니다.
시스템: CA ACL 읽기
사용자가 CA ACL의 모든 속성을 읽을 수 있습니다.
시스템: CA ACL 추가
사용자가 새 CA ACL을 추가할 수 있습니다.
시스템: CA ACL 삭제
사용자가 기존 CA ACL을 삭제할 수 있습니다.
시스템: CA ACL 수정
사용자가 CA ACL의 속성을 수정하고 CA ACL을 비활성화 또는 활성화하도록 활성화합니다.
시스템: CA ACL 멤버십 관리
사용자가 CA ACL의 CA, 프로필, 사용자, 호스트 및 서비스 멤버십을 관리할 수 있습니다.
이러한 권한은 모두 기본 CA 관리자 권한에 포함됩니다. IdM 역할 기반 액세스 제어 및 권한 관리에 대한 자세한 내용은 10.4절. “역할 기반 액세스 제어 정의” 을 참조하십시오.
이 섹션에서는 CA ACL 관리에 ipa caacl 명령 사용의 가장 중요한 측면만 설명합니다. 명령에 대한 전체 정보를 보려면 추가된 --help 옵션을 사용하여 이를 실행합니다. 예를 들면 다음과 같습니다.
$ ipa caacl-mod --help
Usage: ipa [global-options] caacl-mod NAME [options]

Modify a CA ACL.
Options:
  -h, --help            show this help message and exit
  --desc=STR            Description
  --cacat=['all']       CA category the ACL applies to
  --profilecat=['all']  Profile category the ACL applies to
...

CA ACL 생성

새 CA ACL을 생성하려면 ipa caacl-add 명령을 사용합니다. 옵션 없이 명령을 실행하면 ipa caacl-add 스크립트에서 새 CA ACL에 대한 필수 정보를 묻는 대화형 세션이 시작됩니다.
$ ipa caacl-add
ACL name: smime_acl
------------------------
Added CA ACL "smime_acl"
------------------------
  ACL name: smime_acl
  Enabled: TRUE
새 CA ACL은 기본적으로 활성화되어 있습니다.
ipa caacl-add 에서 허용하는 가장 주목할 만한 옵션은 CA ACL을 CA, 인증서 프로파일, 사용자, 호스트 또는 서비스 카테고리와 연결하는 옵션입니다.
  • --cacat
  • --profilecat
  • --usercat
  • --hostcat
  • --servicecat
IdM은 모든 CA, 프로필, 사용자, 호스트 또는 서비스와 CA ACL을 연결하는 모든 옵션과 모든 값만 허용합니다. 예를 들어, CA ACL을 모든 사용자 및 사용자 그룹과 연결하려면 다음을 수행합니다.
$ ipa caacl-add ca_acl_name --usercat=all
CA, 프로필, 사용자, 호스트 및 서비스 카테고리는 특정 오브젝트 또는 오브젝트 그룹을 CA ACL에 추가하는 대신, “CA ACL에 항목 추가 및 CA ACL에서 항목 제거” 에 설명되어 있습니다. 카테고리를 사용하고 동일한 유형의 오브젝트 또는 그룹도 추가할 수 없습니다. 예를 들어 --usercat=all 옵션을 사용한 다음 ipa caacl-add-user --users=user_name 명령을 사용하여 CA ACL에 사용자를 추가할 수 없습니다.
참고
사용자 또는 그룹이 해당 CA ACL에 추가되지 않은 경우 인증서 프로필을 사용하여 사용자 또는 그룹에 대한 인증서를 요청하지 않습니다. 예를 들어 다음과 같습니다.
$ ipa cert-request CSR-FILE --principal user --profile-id profile_id
ipa: ERROR Insufficient access: Principal 'user' is not permitted to use CA '.' with profile 'profile_id' for certificate issuance.
“CA ACL에 항목 추가 및 CA ACL에서 항목 제거” 에 설명된 대로 CA ACL에 사용자 또는 그룹을 추가하거나 CA ACL을 all 사용자 카테고리와 연결해야 합니다.

CA ACL 표시

모든 CA ACL을 표시하려면 ipa caacl-find 명령을 사용합니다.
$ ipa caacl-find
-----------------
2 CA ACLs matched
-----------------
  ACL name: hosts_services_caIPAserviceCert
  Enabled: TRUE
...
ipa caacl-find--cacat,--profilecat,--usercat,--hostcat, --servicecat 옵션을 허용합니다. 이 옵션은 해당 CA, 인증서 프로필, 사용자, 호스트 또는 서비스 카테고리로 검색 결과를 CA ACL로 필터링할 수 있습니다. IdM은 이러한 옵션이 있는 모든 카테고리만 허용합니다. 옵션에 대한 자세한 내용은 “CA ACL 생성” 을 참조하십시오.
특정 CA ACL에 대한 정보를 표시하려면 ipa caacl-show 명령을 사용합니다.
$ ipa caacl-show ca_acl_name
  ACL name: ca_acl_name
  Enabled: TRUE
  Host category: all
...

CA ACL 수정

기존 CA ACL을 수정하려면 ipa caacl-mod 명령을 사용합니다. ipa caacl-mod 에서 허용하는 명령줄 옵션을 사용하여 필요한 수정 사항을 전달합니다. 예를 들어 CA ACL에 대한 설명을 수정하고 CA ACL을 모든 인증서 프로필과 연결하려면 다음을 수행합니다.
$ ipa caacl-mod ca_acl_name --desc="New description" --profilecat=all
---------------------------
Modified CA ACL "ca_acl_name"
---------------------------
  ACL name: smime_acl
  Description: New description
  Enabled: TRUE
  Profile category: all
ipa caacl-mod 에서 허용되는 가장 주목할 만한 옵션은 --cacat,--profilecat,--usercat,--hostcat, --servicecat 옵션입니다. 이러한 옵션에 대한 자세한 내용은 “CA ACL 생성” 을 참조하십시오.

CA ACL 비활성화 및 활성화

CA ACL을 비활성화하려면 ipa caacl-disable 명령을 사용합니다.
$ ipa caacl-disable ca_acl_name
---------------------------
Disabled CA ACL "ca_acl_name"
---------------------------
비활성화된 CA ACL은 적용되지 않으며 인증서를 요청하는 데 사용할 수 없습니다. CA ACL을 비활성화해도 IdM에서 제거되지 않습니다.
비활성화된 CA ACL을 활성화하려면 ipa caacl-enable 명령을 사용합니다.
$ ipa caacl-enable ca_acl_name
---------------------------
Enabled CA ACL "ca_acl_name"
---------------------------

CA ACL 삭제

기존 CA ACL을 제거하려면 ipa caacl-del 명령을 사용합니다.
$ ipa caacl-del ca_acl_name

CA ACL에 항목 추가 및 CA ACL에서 항목 제거

ipa caacl-add-*ipa caacl-remove-* 명령을 사용하면 CA ACL에 새 항목을 추가하거나 기존 항목을 제거할 수 있습니다.
IPA caacl-add-caipa caacl-remove-ca
CA를 추가하거나 제거합니다.
IPA caacl-add-hostipa caacl-remove-host
호스트 또는 호스트 그룹을 추가하거나 제거합니다.
IPA caacl-add-profileipa caacl-remove-profile
프로필을 추가하거나 제거합니다.
IPA caacl-add-serviceipa caacl-remove-service
서비스를 추가하거나 제거합니다.
IPA caacl-add-useripa caacl-remove-user
사용자 또는 그룹을 추가하거나 제거합니다.
예를 들어 다음과 같습니다.
$ ipa caacl-add-user ca_acl_name --groups=group_name
오브젝트 또는 오브젝트 그룹을 CA ACL에 추가할 수 없으며 “CA ACL 생성” 에 설명된 동일한 오브젝트 범주도 사용할 수 없습니다. 이러한 설정은 상호 배타적입니다. 예를 들어 --usercat=all 옵션으로 지정된 CA ACL에서 ipa caacl-add-user --users=user_name 명령을 실행하려고 하면 명령이 실패합니다.
$ ipa caacl-add-user ca_acl_name --users=user_name
ipa: ERROR: users cannot be added when user category='all'
참고
사용자 또는 그룹이 해당 CA ACL에 추가되지 않은 경우 인증서 프로필을 사용하여 사용자 또는 그룹에 대한 인증서를 요청하지 않습니다. 예를 들어 다음과 같습니다.
$ ipa cert-request CSR-FILE --principal user --profile-id profile_id
ipa: ERROR Insufficient access: Principal 'user' is not permitted to use CA '.' with profile 'profile_id' for certificate issuance.
사용자 또는 그룹을 CA ACL에 추가하거나 “CA ACL 생성” 에 설명된 대로 CA ACL을 all 사용자 카테고리와 연결해야 합니다.
이러한 명령에 필요한 구문 및 사용 가능한 옵션에 대한 자세한 정보를 보려면 --help 옵션을 추가하여 명령을 실행합니다. 예를 들어 다음과 같습니다.
$ ipa caacl-add-user --help

24.5.2. 웹 UI의 CA ACL 관리

IdM 웹 UI에서 CA ACL을 관리하려면 다음을 수행합니다.
  1. Authentication 탭과 10.0.0.1 엽니다.
  2. CA ACL 섹션을 엽니다.

    그림 24.9. 웹 UI의 CA ACL 규칙 관리

    웹 UI의 CA ACL 규칙 관리
CA ACL 섹션에서는 새 CA ACL을 추가하고, 기존 CA ACL에 대한 정보를 표시하고, 속성을 수정하고, 선택한 CA ACL을 활성화, 비활성화 또는 삭제할 수 있습니다.
예를 들어 기존 CA ACL을 수정하려면 다음을 수행합니다.
  1. CA ACL의 이름을 클릭하여 CA ACL 구성 페이지를 엽니다.
  2. CA ACL 구성 페이지에서 필요한 정보를 입력합니다.
    ProfilesPermitted는 인증서 발행 섹션을 통해 CA ACL을 인증서 프로필, 사용자 또는 사용자 그룹, 호스트 또는 호스트 그룹 또는 서비스와 연결할 수 있습니다. 추가 버튼을 사용하여 이러한 오브젝트를 추가하거나 Anyone 옵션을 선택하여 CA ACL을 모든 사용자, 호스트 또는 서비스와 연결할 수 있습니다.
  3. 저장 을 클릭하여 새 구성을 확인합니다.

    그림 24.10. 웹 UI에서 CA ACL 규칙 수정

    웹 UI에서 CA ACL 규칙 수정