인포레터에서 최신 DevOps 트렌드를 격주로 만나보세요!
비밀번호 없음
비밀번호 없음은 WebAuthn을 활용하여 Teleport에 대한 비밀번호 없는 및 사용자 이름 없는 인증을 제공합니다.
전제 조건
-
실행 중인 Teleport 클러스터 버전 17.0.0-dev 이상. Teleport를 시작하려면 가입하여 무료 평가판을 이용하거나 데모 환경 설정 방법을 확인하십시오.
-
tctl
관리자 도구와tsh
클라이언트 도구.tctl
및tsh
다운로드 방법에 대한 지침은 설치를 방문하십시오.
- Teleport는 WebAuthn에 대해 구성되어야 합니다. 두 번째 인증 수단: WebAuthn 가이드를 참조하세요.
- WebAuthn 및 레지던트 키를 지원하는 하드웨어 장치가 필요합니다. 대안으로, 생체 인식 / Touch ID가 있는 Mac 또는 Windows Hello(Windows 10 19H1 이상)를 지원하는 장치를 사용할 수 있습니다.
- WebAuthn 지원을 갖춘 웹 브라우저가 필요합니다. 브라우저가 WebAuthn을 지원하는지 확인하려면 WebAuthn 호환성 페이지를 확인하세요.
- Touch ID에 필요한
tsh
는 서명 및 공증된 버전이어야 합니다. 이는 Homebrew에서 설치한 버전이나 소스에서 컴파일한 버전이 작동하지 않음을 의미합니다. macOS tsh 설치 프로그램 다운로드. - 연결이 가능한지 확인하기 위해
tsh login
으로 로그인한 다음, 현재 자격 증명을 사용하여tctl
명령어를 실행할 수 있는지 확인하십시오. 예를 들어:클러스터에 연결할 수 있고tsh login --proxy=teleport.example.com --user=email@example.comtctl status클러스터 teleport.example.com
버전 17.0.0-dev
CA 핀 sha256:abdc1245efgh5678abdc1245efgh5678abdc1245efgh5678abdc1245efgh5678
tctl status
명령어를 실행할 수 있다면, 현재 자격 증명을 사용하여 워크스테이션에서 후속tctl
명령어를 실행할 수 있습니다.
자신의 Teleport 클러스터를 호스팅하는 경우, Teleport Auth Service를 호스팅하는 컴퓨터에서 전체 권한으로tctl
명령어를 실행할 수도 있습니다.
WebAuthn을 지원하는 Teleport 클러스터는 자동으로 비밀번호 없이 작동할 수 있습니다.
1/2단계. 등록
tsh
를 사용하여 비밀번호 없는 장치를 등록하세요:
tsh mfa add장치 유형 선택 [TOTP, WEBAUTHN, TOUCHID]: WEBAUTHN
장치 이름 입력: bio
비밀번호 없는 로그인 허용 [YES, NO]: YES
*등록된* 보안 키를 탭하세요
*새로운* 보안 키를 탭하세요
MFA 장치 "bio"가 추가되었습니다.
장치 유형으로 WEBAUTHN
또는 TOUCHID
중 하나를 선택할 수 있습니다. "비밀번호 없는 로그인 허용"에 대해 YES
로 대답해야 합니다.
하드웨어 장치를 사용하는 경우 비밀번호 없는 등록은 레지던트 키 슬롯을 차지합니다. 레지던트 키, 즉 발견 가능한 자격 증명은 인증기(즉, 인증에 사용되는 장치)의 지속적 메모리에 저장됩니다. 반면, MFA 키는 인증기에 의해 암호화되어 Teleport Auth Server에 저장됩니다. 장치 유형에 관계없이 비밀번호 없는 등록은 일반 MFA에도 사용될 수 있습니다.
중요
비밀번호 없이 전적으로 의존할 계획이라면 복수의 장치를 등록하는 것이 좋습니다.
휴대 가능한 하드웨어 장치가 이상적이며, tsh
, Teleport Web UI 및 다양한
컴퓨터 간에 공유할 수 있습니다.
Touch ID 등록은 애플리케이션별로 격리됩니다. tsh
에 대한 Touch ID 등록은
Chrome 또는 Safari에서 진행한 등록과 다릅니다. 여러 애플리케이션에서 동일한
Touch ID 장치를 등록하여 모든 애플리케이션에서 비밀번호 없는 접근을 얻을 수
있습니다.
2/2단계. 인증
비밀번호 없는 자격 증명을 사용하여 인증하세요:
tsh login --proxy=example.com --auth=passwordless보안 키를 탭하세요
> 프로필 URL: https://example.com
사용자로 로그인됨: codingllama
클러스터: example.com
역할: access, editor
로그인: codingllama
Kubernetes: 사용 가능
유효 기간: 2021-10-04 23:32:29 -0700 PDT [유효 기간 12시간 0분 0초]
확장 프로그램: permit-agent-forwarding, permit-port-forwarding, permit-pty
tsh login --proxy=example.com --auth=passwordless보안 키를 탭하세요
> 프로필 URL: https://example.com
사용자로 로그인됨: codingllama
클러스터: example.com
역할: access, editor, reviewer
로그인: codingllama
Kubernetes: 사용 가능
유효 기간: 2021-10-04 23:32:29 -0700 PDT [유효 기간 12시간 0분 0초]
확장 프로그램: permit-agent-forwarding, permit-port-forwarding, permit-pty
완전한 비밀번호 없는 클러스터는 기본적으로 비밀번호 없는 로그인을 제공하므로 --auth=passwordless
가 필요하지 않습니다. 비밀번호 없음을 기본값으로 활성화하는 방법은 다음 섹션을 참조하세요.
웹 UI
Teleport 웹 UI에서도 비밀번호 없는 로그인 실행이 가능합니다. 그렇게 하려면 웹 UI에서 비밀번호 없는 링크를 찾아보세요.
선택 사항: 기본적으로 비밀번호 없는 로그인 활성화
비밀번호 없는 로그인을 선호하는 사용자는 클러스터에서 기본적으로 비밀번호 없는 로그인을 활성화할 수 있습니다.
이 구성은 비밀번호 없는 장치가 등록되지 않은 사용자에게도 Teleport의 동작을 변경하므로, 기존 사용자는 비밀번호 없는 첫 등록을 위해 tsh login --proxy=example.com --auth=local
을 사용하여 인증해야 할 수 있습니다.
기본적으로 비밀번호 없는 로그인을 활성화하려면, 클러스터 구성에 connector_name: passwordless
를 추가하세요.
다음 명령어를 사용하여 클러스터 인증 선호 구성 편집:
tctl edit cluster_auth_preference
구성이 아래와 같이 connector_name
필드를 포함하고 있는지 확인하세요:
kind: cluster_auth_preference
version: v2
metadata:
name: cluster-auth-preference
spec:
type: local
second_factor: "on"
webauthn:
rp_id: example.com
connector_name: passwordless # 기본적으로 비밀번호 없는 로그인
문제 해결
"비밀번호 없는 로그인 허용"이 나타나지 않음
tsh mfa add
에서 "비밀번호 없는 로그인 허용" 프롬프트가 보이지 않으면, 오래된 버전의 tsh
를 사용하고 있을 수 있습니다. 최신 tsh
를 설치 페이지에서 다운로드하세요.
하드웨어 장치 사용 불가
tsh
는 비밀번호 없는 등록을 위해 특정 기능을 갖춘 하드웨어 장치에 대해서만 프롬프트를 표시합니다. 장치가 깜박이지 않는 경우 비밀번호 없는 로그인을 지원하지 않을 수 있습니다.
아래는 요구 사항의 비포괄적인 목록입니다:
- 장치는 WebAuthn (때때로 FIDO2 또는 CTAP2라고도 불림)을 지원해야 합니다.
- 장치는 사용자 검증 (생체 인식 또는 PIN)을 수행할 수 있어야 합니다.
- 장치에는 PIN이 설정되어 있어야 합니다.
- 장치에는 지문이 등록되어 있어야 합니다 (생체 인식일 경우). 이는 일반적으로 PIN 및 지문을 의미합니다.
tsh
는 하드웨어 장치에 접근하기 위해 내장된 libfido2에 의존합니다. Linux에서 실행 중이라면, 장치에 접근하기 위한 필요한 udev 규칙이 없을 수 있습니다. libfido2 설치 지침을 따르세요. 이 지침이 필요한 udev 규칙을 제공할 수 있습니다.
Touch ID 사용 불가
Touch ID에 문제가 있는 경우, 최신 독립형 버전의 tsh
를 사용하고 있는지 확인하세요. macOS tsh 설치 프로그램을 다운로드하세요.
Touch ID 지원은 Touch ID 센서와 Secure Enclave가 있는 Mac이 필요합니다.
tsh touchid diag
명령어를 실행하여 요구 사항을 확인할 수 있습니다. 기능이 있는 장치와 tsh
바이너리는 아래와 유사한 출력을 보여야 합니다:
tsh touchid diag컴파일 지원? true
서명 여부? true
권한? true
LAPolicy 테스트 통과? true
Secure Enclave 테스트 통과? true
Touch ID 활성화? true
Windows Webauthn 사용 불가
tsh
에 대한 Windows Webauthn 지원은 Windows 10 19H1 이상이 필요합니다.
tsh webauthnwin diag
명령어를 실행하여 요구 사항을 확인할 수 있습니다. 기능이 있는 장치와 tsh
바이너리는 아래와 같은 출력을 보여야 합니다:
tsh webauthnwin diagWebauthWin 사용 가능: true
컴파일 지원: true
DLL API 버전: 4
플랫폼 UV 여부: true
등록 성공: true
로그인 성공: true
비밀번호 없는 로그인 비활성화
클러스터에 대한 비밀번호 없는 액세스를 금지하려면, 구성에 passwordless: false
를 추가하세요. 다음 명령어를 사용하여 클러스터 인증 선호를 편집하세요:
tctl edit cluster_auth_preference
편집기에서, cluster_auth_preference
가 아래와 같이 passwordless
필드를 포함하고 있는지 확인하세요:
kind: cluster_auth_preference
version: v2
metadata:
name: cluster-auth-preference
spec:
type: local
second_factor: "on"
webauthn:
rp_id: example.com
passwordless: false # 비밀번호 없는 로그인 비활성화
변경 사항을 적용하려면 편집기를 저장하고 닫으세요.
다중 인증 (MFA) 장치가 패스키가 된 이유는 무엇인가요?
MFA 인증기가 갑자기 패스키로 나열되기 시작했다면, 그것은 항상 패스키였기 때문입니다. 특정 장치나 애플리케이션(예: Chrome 또는 Safari Touch ID 키)은 Teleport의 지침과 관계없이 항상 패스키로 생성됩니다.
인증기가 등록 중 credProps 확장으로 응답하거나, 성공적인 비밀번호 없는 로그인을 위해 사용되는 경우, Teleport는 이전에 그렇지 않았다면 자동으로 이를 패스키로 표시합니다.