앤서블(Ansible)로 키클락(Keycloak) SSO 설치하기
이번달 들어 2번째 앤서블 기사네요. 앤서블로 키클락 SSO(Single Sign On) 설치 방법을 가이드하는 기사 공유합니다. middleware_automation.keycloak이라는 앤서블 컬렉션(Collection)을 기반으로 설치합니다. [전제조건(Prerequisites)] 앤서블 v2.9 이상의 버전과 함께, Red Hat Enterprise Linux 또는 Fedora가 필요합니다. 1. 컬렉션 설치 $ ansible-galaxy collection install middleware_automation.keycloak 컬렉션을 위한 dependencies는 다음과 같습니다. - middleware_automation.redhat_csp: 이 컬렉션을 통해 Ansible은 Red Hat 고객 포털에 연결하여 제품화되고 지원되는 Keycloak 버전인 Red Hat의 싱글 사인온 기술을 다운로드할 수 있습니다. - middleware_automation.wildfly: Keycloak은 Red Hat에서 지원하는 Wildfly 버전인 JBoss EAP(Red Hat JBoss Enterprise Application Platform)를 포함한 Wildfly 애플리케이션 서버에서 실행됩니다. 🖱️일부 Python dependencies 설치 # pip3 install lxml jmespath 🖱️컬렉션이 성공적으로 설치되었는지 확인 # ansible-galaxy collection list --- - name: Playbook for keycloak Hosts hosts: keycloak collections: - middleware_automation.keycloak tasks: 2. 앤서블로 키클락 설치 앤서블 컬렉션을 사용하면 키클락의 설치나 구성 자동화가 매우 쉽습니다. 단, 키클락의 설치 작업을 이해해야 하며, 각 요구사항은 다음과 같습니다. 1) 적절한 OS 사용자 및 그룹 계정 생성(이름은 둘다 keycloak) 2) 키클락 Keycloak 웹사이트에서 설치 아카이브 다운로드 3) 모든 파일이 올바른 권한과 함께 적절한 사용자 및 그룹과 연결되어 있는지 확인 후 컨텐츠 unarchiving 4) JVM의 필수 버전이 설치되어 있는지 확인 5) 소프트웨어를 호스트 서비스 관리 시스템(이 경우에는 리눅스 systemd 데몬)에 통합 이 모든 것은 아래와 같은 짧은 플레이북에 의해 달성되고 완전히 자동화됩니다. - name: Playbook for Keycloak Hosts hosts: keycloak collections: - middleware_automation.keycloak tasks: - name: Include keycloak role ansible.builtin.include_role: name: middleware_automation.keycloak.keycloak vars: keycloak_admin_password: "changeme" 아래와 같이 플래이북을 실행합니다. # ansible-playbook -i inventory playbook.yml 포함되어 있는 role에서 40개 이상의 작업이 실행되었으며, 앞에서 언급한 모든 요구사항(사용자 및 그룹 생성, 소프트웨어 다운로드, 필수 JVM 설치 등))을 처리하는 것을 보실 수 있습니다. 플레이북 실행이 완료되면 서비스 상태를 확인하여 Keycloak이 이제 서비스로 실행되고 있음을 확인할 수 있습니다. 플레이북 실행 자체는 서비스가 실행 중이고 Keycloak 서버 자체도 사용 가능한지 확인합니다. 그러나 철저히 하기 위해 Keycloak 포트에 실제로 액세스할 수 있는지 다시 확인해야 합니다. # curl -I http://localhost:9990/health 이 플레이북 실행이 끝나면 Keycloak 인스턴스를 관리하는 시스템 서비스가 실행됩니다. 3, 결론 및 요약 앤서블 및 키클락용 앤서블 컬렉션을 사용하면 SSO 서버의 배포를 완전히 자동화할 수 있습니다. 앤서블 소프트웨어 다운로드, OS 준비(유저, 그룹, 방화벽), 바이너리 파일 및 구성 배포, 서비스 설정(systemd), 필요한 관리 계정 준비까지 모든 어려운 작업을 수행했습니다. 키클락용 앤서블 컬렉션을 사용하면 키클락의 설치 및 구성을 간소화할 수 있으므로 필요에 따라 배포를 확장하고 모든 배포에서 반복성을 보장할 수 있습니다. 다음 기사에서는 앤서블을 사용하여 relms과 해당 구성원(member)을 생성하여 키클락의 SSO 서비스를 추가로 자동화하는 방법에 대해 알아 보겠습니다. 원본 기사는 아래와 같습니다. 감사합니다.