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-ca 및 ipa caacl-remove-ca
- CA를 추가하거나 제거합니다.
- IPA caacl-add-host 및 ipa caacl-remove-host
- 호스트 또는 호스트 그룹을 추가하거나 제거합니다.
- IPA caacl-add-profile 및 ipa caacl-remove-profile
- 프로필을 추가하거나 제거합니다.
- IPA caacl-add-service 및 ipa caacl-remove-service
- 서비스를 추가하거나 제거합니다.
- IPA caacl-add-user 및 ipa 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을 관리하려면 다음을 수행합니다.
- Authentication 탭과 10.0.0.1 을 엽니다.
- CA ACL 섹션을 엽니다.
그림 24.9. 웹 UI의 CA ACL 규칙 관리
CA ACL 섹션에서는 새 CA ACL을 추가하고, 기존 CA ACL에 대한 정보를 표시하고, 속성을 수정하고, 선택한 CA ACL을 활성화, 비활성화 또는 삭제할 수 있습니다.
예를 들어 기존 CA ACL을 수정하려면 다음을 수행합니다.
- CA ACL의 이름을 클릭하여 CA ACL 구성 페이지를 엽니다.
- CA ACL 구성 페이지에서 필요한 정보를 입력합니다.Profiles 및 Permitted는 인증서 발행 섹션을 통해 CA ACL을 인증서 프로필, 사용자 또는 사용자 그룹, 호스트 또는 호스트 그룹 또는 서비스와 연결할 수 있습니다. 버튼을 사용하여 이러한 오브젝트를 추가하거나 Anyone 옵션을 선택하여 CA ACL을 모든 사용자, 호스트 또는 서비스와 연결할 수 있습니다.
그림 24.10. 웹 UI에서 CA ACL 규칙 수정