2.4. CA(인증 기관) 인증서 가져오기
추가 리소스
CA(인증 기관)는 자동화 메시 환경에서 개별 노드 인증서를 확인하고 서명합니다. Red Hat Ansible Automation Platform 설치 프로그램의 인벤토리 파일에 인증서의 경로와 개인 RSA 키 파일을 지정하여 자체 CA를 제공할 수 있습니다.
Ansible Automation Platform 설치 프로그램은 CA를 제공하지 않는 경우 CA를 생성합니다.
프로세스
-
편집할
인벤토리파일을 엽니다. -
mesh_ca_keyfile변수를 추가하고 개인 RSA 키(.key)의 전체 경로를 지정합니다. -
mesh_ca_certfile변수를 추가하고 CA 인증서 파일의 전체 경로(.crt)를 지정합니다. - 인벤토리 파일에 변경 사항을 저장합니다.
예
[all:vars] mesh_ca_keyfile=/tmp/<mesh_CA>.key mesh_ca_certfile=/tmp/<mesh_CA>.crt
[all:vars]
mesh_ca_keyfile=/tmp/<mesh_CA>.key
mesh_ca_certfile=/tmp/<mesh_CA>.crt
+ 인벤토리 파일에 CA 파일이 추가된 상태에서 설치 프로그램을 실행하여 CA를 적용합니다. 이 프로세스는 메시 네트워크의 각 제어 및 실행 노드의 /etc/receptor/tls/ca/ 디렉터리에 CA를 복사합니다.
2.4.1. 자동화 메시에서 사용자 정의 서명된 인증서 사용 링크 복사링크가 클립보드에 복사되었습니다!
기본 자동화 메시 설치 프로그램 제공 인증서를 사용자 정의 조직별 인증서로 교체하는 방법을 알아봅니다.
다음 절차에서 < FQDN/IP Address > 및 <IP Address>를 FQDN(정규화된 도메인 이름) 또는 노드의 IP 주소로 바꿉니다.
프로세스
모든 자동화 컨트롤러 및 실행 노드에서 수신기 서비스를 중지합니다.
# systemctl stop 수신기- 메시 네트워크에 대한 새 CA(인증 기관)를 생성합니다.
아래 명령에서 "common ca"를 필수 일반 이름으로 교체합니다.
receptor --cert-init commonname="common ca" bits=4096 outcert=/etc/receptor/tls/ca/mesh-CA.crt outkey=/etc/receptor/tls/ca/mesh-CA.key
# receptor --cert-init commonname="common ca" bits=4096 outcert=/etc/receptor/tls/ca/mesh-CA.crt outkey=/etc/receptor/tls/ca/mesh-CA.keyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 각 컨트롤러 및 실행 노드에 대한 자체 서명된 인증서 요청을 생성합니다.
receptor --cert-makereq commonname=<FQDN/IP Address> bits=4096 nodeid=<FQDN/IP Address> outreq=/etc/receptor/tls/<FQDN/IP Address>.csr outkey=/etc/receptor/tls/<FQDN/IP Address>.key ipaddress=<IP Address> ipaddress=<IP Address>
# receptor --cert-makereq commonname=<FQDN/IP Address> bits=4096 nodeid=<FQDN/IP Address> outreq=/etc/receptor/tls/<FQDN/IP Address>.csr outkey=/etc/receptor/tls/<FQDN/IP Address>.key ipaddress=<IP Address> ipaddress=<IP Address>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 새로 생성된 인증서에 CA에 서명합니다. 조직의 요구 사항에 맞게
notafter=날짜를 조정해야 합니다. 표시된 예제에서는 향후의 날짜를 사용합니다.receptor --cert-signreq verify=yes cacert=/etc/receptor/tls/ca/mesh-CA.crt cakey=/etc/receptor/tls/ca/mesh-CA.key req=/etc/receptor/tls/<FQDN/IP Address>.csr outcert=/etc/receptor/tls/<FQDN/IP Address>.crt notafter="2034-07-29T20:48:02Z"
# receptor --cert-signreq verify=yes cacert=/etc/receptor/tls/ca/mesh-CA.crt cakey=/etc/receptor/tls/ca/mesh-CA.key req=/etc/receptor/tls/<FQDN/IP Address>.csr outcert=/etc/receptor/tls/<FQDN/IP Address>.crt notafter="2034-07-29T20:48:02Z"Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
새로 생성된 인증서 및 서명된 인증서를
/etc/receptor/tls/디렉터리에 있는 해당 노드에 전송합니다. -
mesh-CA.crt파일은/etc/receptor/tls/ca에 배치해야 합니다. 인증서 파일의 권한 및 소유권이 올바르게 설정되어 있는지 확인합니다.
- 모든 파일은 수신기에 의해 소유되어야 합니다
모든 인증서 파일에는 0640 권한이 있어야 합니다.
# chown -R 수신기: /etc/receptor; chmod 0640 /etc/receptor/tls/<FQDN/IP Address>.crt
모든 컨트롤러 및 실행 노드에서 수신기 서비스를 시작합니다.
# systemctl start 수신기- Ansible Automation Platform UI에서 노드 상태를 확인합니다.
-
탐색 패널에서
선택합니다. - default 인스턴스 그룹을 선택한 다음 Instances(인스턴스) 탭으로 이동합니다.
- 모든 노드의 상태가 Ready로 표시되는지 확인합니다.
노드가 Unavailable 으로 표시되면 다음을 수행합니다.
- 사용할 수 없는 노드를 선택합니다.
- 를 클릭합니다.
- 페이지를 새로고침하면 노드가 Ready로 표시됩니다.
2.4.2. 서명된 여러 인증서 수정 링크 복사링크가 클립보드에 복사되었습니다!
/etc/receptor/tls/ca/mesh-CA.crt (RPM 기반 설치용) 또는 $HOME/aap/receptor/etc/mesh-CA.crt 에 10개 이상의 인증서가 포함된 경우 오류가 발생합니다.
Ansible Automation Platform 환경 내의 모든 자동화 컨트롤러 및 실행 노드에서 다음 단계를 수행합니다.
RPM 기반 설치의 경우
프로세스
mesh-CA.crt파일의 백업 만들기cp -p /etc/receptor/tls/ca/mesh-CA.crt /etc/receptor/tls/ca/mesh-CA.crt-$(date +%F)-
mesh-CA.crt파일(즉, 파일 상단에 있는 첫 번째 인증서만 유지)에서 첫 번째 인증서를 지난 모든 인증서를 삭제합니다. 재시작 수신기
systemctl restart 수신기
컨테이너화된 설치의 경우
mesh-CA.crt파일의 백업 만들기cp -p $HOME/aap/receptor/etc/mesh-CA.crt $HOME/aap/receptor/etc/mesh-CA.crt-$(date +%F)-
mesh-CA.crt파일(즉, 파일 상단에 있는 첫 번째 인증서만 유지)에서 첫 번째 인증서를 지난 모든 인증서를 삭제합니다. 재시작 수신기
systemctl --user restart receptor