Keycloak을 사용한 Teleport 인증
Keycloak을 사용하여 Teleport 접근을 구성하는 방법
이 가이드는 SAML 인증 커넥터로 특정 사용자 그룹에게 자격 증명을 발급하도록 Keycloak을 구성하는 방법을 설명합니다. 역할 기반 접근 제어(RBAC)와 함께 사용하면 Teleport 관리자가 다음과 같은 정책을 정의할 수 있습니다: "DBA" 그룹의 구성원만 PostgreSQL 데이터베이스에 연결할 수 있습니다. 개발자는 프로덕션 서버에 절대 SSH 접근을 하면 안 됩니다. 다음 단계는 Keycloak 그룹과 일치하는 예제 SAML 인증 커넥터를 구성합니다. 다른 옵션을 구성하도록 선택할 수 있습니다. 작동 방식 # Teleport cluster를 Keycloak에 애플리케이션으로 등록한 다음, 애플리케이션에 대한 정보를 Teleport에 제공하는 authentication connector 리소스를 생성할 수 있습니다. 사용자가 Teleport에 로그인하면 Keycloak가 자체 인증 플로우를 실행한 후, 인증이 완료되었음을 알리기 위해 Teleport cluster에 HTTP 요청을 보냅니다. Teleport는 수명이 짧은 인증서를 발급하여 사용자를 인프라에 인증합니다. 사용자가 SSO 인증 플로우를 완료하면 Teleport는 사용자에게 수명이 짧은 TLS 및 SSH 인증서를 발급합니다. 또한 Teleport는 Auth Service 백엔드에 임시 사용자를 생성합니다. Teleport role은 사용자의 인증서에 인코딩됩니다. 사용자에게 Teleport role을 할당하기 위해 Auth Service는 authentication connector 내의 role mapping 을 검사하며, 이는 Keycloak의 사용자 데이터를 하나 이상의 Teleport role 이름과 연결합니다. 사전 요구 사항 # 시작하기 전에 다음이 필요합니다: realm과 관리 작업을 수행하기 위해 Keycloak Admin Console에 대한 관리자 계정. 마스터 realm이 아닌 다른 realm에 있어야 합니다. realm 디렉터리에 하나 이상의 사용자가 등록되어 있어야 합니다. realm 디렉터리에 최소 두 그룹을 만들고 각 그룹에 하나 이상의 사용자를 할당해야 합니다. saml 리소스를 유지 관리할 수 있는 접근 권한이 있는 Teleport 역할. 기본 editor 역할에서 사용 가능합니다. 실행 중인 Teleport Enterprise 클러스터. Teleport를 시작하려면 무료 체험판에 가입 하거나 데모 환경을 구성 하세요. tctl and tsh clients. Installing `tctl` and `tsh` clients Teleport 클러스터의 버전을 확인합니다. tctl and tsh clients는 Teleport 클러스터 버전보다 최대 한 개의 메이저 버전까지만 뒤처질 수 있습니다. Proxy Service의 /v1/webapi/find 로 GET 요청을 보내고 JSON 쿼리 도구를 사용하여 클러스터 버전을 확인합니다. teleport.example.com:443 를 Teleport Proxy Service의 웹 주소로 바