인포레터에서 최신 DevOps 트렌드를 격주로 만나보세요!
신뢰할 수 있는 장치 관리
이 가이드는 신뢰할 수 있는 장치 등록, 장치 등록 토큰 생성 및 신뢰할 수 있는 장치 제거와 같은 장치 신뢰 관리 작업을 수행하는 방법에 대한 지침을 제공합니다.
필수 조건
-
실행 중인 Teleport 클러스터. Teleport를 시작하려면 가입하여 무료 평가판을 이용해 보십시오.
-
tctl
관리자 도구 및tsh
클라이언트 도구.tctl
및tsh
다운로드에 대한 지침은 설치 를 방문하십시오.
- macOS 장치를 등록하려면 다음이 필요합니다:
- 서명되고 공증된
tsh
바이너리. macOS tsh 설치 프로그램 다운로드.
- 서명되고 공증된
- Windows 장치를 등록하려면 다음이 필요합니다:
- TPM 2.0이 포함된 장치.
- 관리자 권한이 있는 사용자. 이는 등록 과정에서만 필요합니다.
tsh
v13.1.2 이상. Windows tsh 설치 프로그램 다운로드.
- Linux 장치를 등록하려면 다음이 필요합니다:
- TPM 2.0이 포함된 장치.
- /dev/tpmrm0 장치를 사용할 수 있는 권한이 있는 사용자 (일반적으로 사용자를
tss
그룹에 할당하여 확인합니다). tsh
v15.0.0 이상. Linux용 tsh 설치.
- 웹 UI 세션을 인증하려면 Teleport Connect가 필요합니다.
- v13.3.6 이후에 생성된 클러스터의 경우, Teleport는 장치를 관리하기 위해 미리 설정된
device-admin
역할을 지원합니다.
신뢰할 수 있는 장치 등록
장치 인벤토리를 관리하기 위해 tctl
도구를 사용합니다. 장치 관리자는 장치를 관리하고, 새로운 장치를 인벤토리에 추가하며, 더 이상 사용되지 않는 장치를 제거하는 책임이 있습니다.
자체 등록
미리 설정된 editor
또는 device-admin
역할을 가진 사용자는 다음 명령어를
사용하여 장치를 등록하고 enroll할 수 있습니다:
tsh device enroll --current-device
Jamf Pro와 동기화
Teleport는 Jamf Pro와의 장치 동기화를 지원합니다. 구성 후, 장치는 Teleport의 장치 인벤토리에서 자동으로 업데이트됩니다.
장치를 enroll하기 위해서는 먼저 등록해야 합니다. 장치를 등록하려면 먼저 해당 장치의 일련 번호를 확인해야 합니다.
tsh
를 사용하여 장치 일련 번호를 검색합니다 (등록할 장치에서 실행해야 함):
tsh device asset-tagC00AA0AAAA0A
일련 번호는 Apple 메뉴 -> "이 Mac에 대하여" -> "일련 번호"에서 확인할 수 있습니다.
Windows와 Linux 장치는 제조업체의 구성에 따라 여러 개의 일련 번호를 가질 수 있습니다.
Teleport는 다음 중 첫 번째로 사용 가능한 값을 선택합니다:
- 시스템 자산 태그
- 시스템 일련 번호
- 메인보드 일련 번호
Teleport가 선택한 값을 찾으려면 다음 명령어를 실행하세요:
tsh device asset-tagC00AA0AAAA0A
등록할 장치의 일련 번호로 C00AA0AAAA0A를 교체한 다음 tctl devices add
명령어를 실행합니다:
tctl devices add --os='macos' --asset-tag='C00AA0AAAA0A'장치 C00AA0AAAA0A/macos가 인벤토리에 추가되었습니다.
장치가 등록되었는지 확인하려면 tctl
을 사용하세요:
tctl devices ls자산 태그 OS 등록 상태 장치 ID------------ ----- ------------- ------------------------------------C00AA0AAAA0A macOS 등록되지 않음 9cdfc0ad-64b7-4d9c-this-is-an-example
장치 등록 토큰 생성
등록된 장치는 등록 절차를 거친 후 신뢰할 수 있는 장치가 됩니다. 장치를 등록하려면 장치 등록 토큰이 필요합니다. 이 토큰은 장치 관리자가 생성하여 off-band(예: 회사 채팅)를 통해 등록을 수행하는 사람에게 전송됩니다.
등록 토큰을 생성하려면 아래 명령어를 실행하세요. 여기서 --asset-tag
는 등록할 장치의 일련 번호입니다:
tctl devices enroll --asset-tag="C00AA0AAAA0A""(`=(devicetrust.asset_tag=)")" 장치에서 등록하려면 아래 명령어를 실행하세요:tsh device enroll --token=AAAAAAAAAAAAAAAAAAAAAAAA-this-is-an-example
신뢰할 수 있는 장치 등록
등록 세러머니를 수행하려면 위에 지정된 장치를 사용하여 tctl devices enroll
에 의해 인쇄된 명령어를 입력하십시오:
tsh device enroll --token=AAAAAAAAAAAAAAAAAAAAAAAA-this-is-an-example장치 "C00AA0AAAA0A"/macOS 등록됨tsh logouttsh login --proxy=teleport.example.com --user=myuser # 새로운 인증서 가져오기Teleport 사용자 myuser 의 비밀번호 입력:모든 보안 키를 탭하세요보안 키 탭 감지됨> 프로필 URL: teleport.example.com:443 로그인한 사용자: myuser 클러스터: teleport.example.com 역할: access, editor 로그인: myuser Kubernetes: enabled 유효 기간: 2023-06-23 02:47:05 -0300 -03 [12시간 유효] 확장: teleport-device-asset-tag, teleport-device-credential-id, teleport-device-id
teleport-device-*
확장의 존재는 장치가 성공적으로 등록되고 인증되었음을 보여줍니다. 위의 장치는 이제 신뢰할 수 있는 장치입니다.
자동 등록
여러 사용자에게 등록 토큰을 배포하는 것은 어려울 수 있습니다. 이를 해결하기 위해 Teleport는 자동 등록을 지원합니다. 자동 등록이 활성화되면 사용자의 장치는 다음 Teleport (tsh
) 로그인 시 자동으로 등록됩니다.
자동 등록이 작동하려면 다음 조건이 충족되어야 합니다:
- 장치가 등록되어 있어야 합니다. 등록은 수동 또는 Jamf Pro 통합과 같은 통합을 사용하여 수행할 수 있습니다.
- 클러스터 설정에서 자동 등록이 활성화되어 있어야 합니다.
클러스터 설정에서 자동 등록을 활성화하십시오. 그렇게 하려면 다음 명령을 사용하여 동적 구성을 수정하십시오:
tctl edit cluster_auth_preference
다음과 같은 변경을 하십시오:
kind: cluster_auth_preference
version: v2
metadata:
name: cluster-auth-preference
spec:
# ...
device_trust:
mode: "required"
+ auto_enroll: true
변경 사항을 적용하려면 편집기를 저장하고 종료하십시오.
활성화되면 Teleport에 등록된 사용자는 다음 로그인 시 장치가 Teleport에 등록됩니다.
tsh logout모든 사용자가 로그아웃 되었습니다.tsh login --proxy=teleport.example.com --user=myuserTeleport 사용자 myuser 의 비밀번호 입력:모든 보안 키를 탭하세요보안 키 탭 감지됨> 프로필 URL: teleport.example.com:443 로그인한 사용자: myuser 클러스터: teleport.example.com 역할: access, editor 로그인: myuser Kubernetes: enabled 유효 기간: 2023-06-23 02:47:05 -0300 -03 [12시간 유효] 확장: teleport-device-asset-tag, teleport-device-credential-id, teleport-device-id
teleport-device-*
확장의 존재는 장치가 성공적으로 등록되고 인증되었음을 보여줍니다.
신뢰할 수 있는 장치 제거
더 이상 사용하지 않는 장치는 tctl devices rm --device-id=<ID>
또는 tctl devices rm --asset-tag=<SERIAL>
을 사용하여 제거할 수 있습니다.
먼저, 삭제할 장치를 찾습니다:
tctl devices ls자산 태그 OS 등록 상태 장치 ID------------ ----- ------------- ------------------------------------C00AA0AAAA0A macOS 등록됨 c9cbb327-68a8-497e-b820-6a4b2bf58269
이제 자산 태그 또는 장치 ID를 사용하여 장치를 삭제합니다:
자산 태그를 사용하여 삭제:
tctl devices rm --asset-tag=C00AA0AAAA0A장치 "C00AA0AAAA0A" 제거됨장치 ID를 사용하여 삭제:
tctl devices rm --device-id=c9cbb327-68a8-497e-b820-6a4b2bf58269장치 "c9cbb327-68a8-497e-b820-6a4b2bf58269" 제거됨
TPM EKCert CA 허용 리스트 구성
이 조언은 TPM을 사용하는 플랫폼에서의 Device Trust에만 적용됩니다. 예를 들어 Windows 및 Linux입니다.
일부 TPM에는 제조업체의 인증 기관(CA)이 서명한 인증서, 즉 EKCert가 포함되어 있습니다. 이 인증서는 서드파티(예: Teleport 클러스터)가 통신하는 TPM이 합법적인 것인지 알 수 있도록 합니다. 이는 장치가 등록되기 전에 변조되지 않았는지 확인하기 위한 관리자의 부담을 상당히 줄여줍니다.
기본적으로 Teleport 클러스터는 EKCert를 검증하지 않습니다. 이는 모든 TPM이 EKCert를 포함하고 있지 않으며, 제조업체의 CA에 대한 지식 없이는 EKCert를 검증할 수 없기 때문입니다. 이 검증은 ekcert_allowed_cas
라는 Teleport 구성 필드를 포함하여 활성화됩니다.
구성이 완료되면, 해당 필드에서 지정된 CA가 서명한 EKCert가 포함된 TPM을 가진 장치만 등록할 수 있습니다. 이전에 등록된 장치는 영향을 받지 않습니다.
ekcert_allowed_cas
를 구성하려면 먼저 귀하의 장치에 포함된 TPM 제조업체로부터 PEM 형식의 CA 인증서를 얻어야 합니다. 이 단계는 제조업체에 따라 다릅니다.
PEM 형식의 CA 인증서를 얻은 후, 다음 명령을 사용하여 동적 구성 리소스를 수정합니다:
tctl edit cluster_auth_preference
다음 변경을 수행하십시오:
kind: cluster_auth_preference
version: v2
metadata:
name: cluster-auth-preference
spec:
...
device_trust:
mode: "required" # 이 줄을 추가합니다
+ ekcert_allowed_cas:
+ # CA가 리소스 내에서 인라인으로 구성됩니다:
+ - |
+ -----BEGIN CERTIFICATE-----
+ --snip--
+ -----END CERTIFICATE-----
변경 사항을 적용하려면 편집기를 저장하고 닫습니다.
문제 해결
tsh device enroll
에서 "binary missing signature or entitlements" 오류
신뢰할 수 있는 장치를 등록하고 사용하려면 서명되고 인증된 tsh
바이너리가 필요합니다. 문제를 해결하려면 macOS tsh 설치 프로그램을 다운로드하십시오.
신뢰할 수 있는 장치를 사용할 때 "unauthorized device" 오류
신뢰할 수 있는 장치는 Teleport에 의해 인식되기 전에 등록 및 등록이 필요합니다. 등록 및 등록 단계를 따르고, 등록이 완료된 후에는 tsh logout
및 tsh login
을 수행해야 합니다.
리눅스에서 "Failed to open the TPM device" 오류
리눅스 사용자는 TPM 장치인 /dev/tpmrm0
에서 읽고 쓸 수 있는 권한이 필요합니다. 이러한 권한이 없으면 tsh
는 대부분의 작업에 대해 sudo
프롬프트가 필요합니다.
이를 해결하는 가장 간단한 방법은 배포판이 tss
그룹을 제공하는지 확인하고 이를 OS 사용자에게 할당하는 것입니다. 그렇지 않은 경우 다른 해결책을 찾고 있다면, TPM2 Software Stack에서 제공하는 것과 유사한 udev 규칙을 작성하는 것을 권장합니다.
자동 등록이 작동하지 않음
자동 등록 의식은 자동화된 특성 때문에 일반 등록보다 엄격합니다. 추가 자동 등록 검사는 다음을 포함합니다:
- Jamf와 같은 출처의 장치 프로파일 데이터가 실제 장치와 일치하는지 확인
- 장치가 다른 사용자에 의해 등록되지 않았는지 확인 (자동 등록은 이미 등록된 장치를 가져올 수 없음)
감사 로그를 확인하여 단서를 찾으십시오: "Device Enroll Token Created" 이벤트에 대한 실패를 찾고 세부정보의 "message" 필드를 확인하십시오.
(1)이 문제라고 의심되는 경우, 실제 장치를 재고 정의와 비교하십시오(tsh device collect
를 실제 장치에서 실행한 것과 tctl get device/<asset_tag>
). 장치 프로파일을 조정하거나 수동 등록을 하거나 다음 MDM 동기화를 기다리면 문제가 해결될 수 있습니다.
(2) 문제라고 의심되는 경우, tctl edit device/<asset_tag>
를 사용하여 장치 등록을 해제하고 "enroll_status" 필드를 "not_enrolled"로 변경할 수 있습니다.
앱 접근 및 "access to this app requires a trusted device" 오류
아래의 Web UI 문제 해결 섹션 지침을 따르십시오 (Teleport v16 이상).
또는 App Access 지원에서 설명하는 tsh 명령 중 하나를 사용할 수 있습니다. 예를 들어, myapp
라는 앱의 경우, tsh proxy app myapp -p 8888
를 실행한 후 브라우저에서 http://localhost:8888을 엽니다.
이미 tsh proxy app
을 실행 중이거나 tsh app login
을 통해 획득한 증명을 사용하는 경우, 당신의 장치가 등록되거나 등록되지 않았을 가능성이 큽니다. 이 경우, 위의 신뢰할 수 있는 장치에서의 unauthorized device 섹션의 조언을 따르십시오.
데스크탑 접근 및 "access to this app requires a trusted device" 오류
아래의 Web UI 문제 해결 섹션 지침을 따르십시오.
웹 UI가 신뢰할 수 있는 장치 인증에 실패했습니다
웹 UI는 로그인하는 동안 Teleport Connect를 사용하여 장치를 인증하려고 시도합니다. 로그인 직후에 장치 인증을 요청받지 않는 경우, 아래 단계를 따라 진행하십시오:
- 귀하의 장치가 등록되고 등록되었는지 확인합니다.
- Teleport Connect 를 설치합니다. Linux에서는 DEB 또는 RPM 패키지를 사용하십시오 (tarball은 사용자 정의 URL 핸들러를 등록하지 않습니다).
- Teleport Connect가 웹에서 접근하려는 동일한 리소스에 접근할 수 있는지 확인합니다.
- 클러스터 관리者에게 장치 신뢰가 활성화되었는지 (클러스터 모드 "선택적" 또는 그 이상) 문의합니다.
위의 모든 단계를 완료한 경우, 웹 UI에서 로그아웃한 후 다시 로그인해 보십시오.
웹 UI에서 장치 신뢰 권한 상태 확인
웹 UI에서 장치 신뢰를 사용하도록 성공적으로 승인되면, 사용자는 화면 오른쪽 상단에 로그인한 사용자 이름 옆에 녹색 방패 아이콘을 보게 됩니다. 또한 사용자 메뉴를 표시하기 위해 사용자 이름을 클릭하면 해당 세션이 장치 신뢰로 승인되었음을 나타냅니다.
사용자가 웹 UI에서 장치 신뢰를 사용할 수 있는 권한이 없는 경우, 클러스터 전체 구성이나 부여된 역할 중 하나가 신뢰할 수 있는 장치를 사용할 것을 요구하는 경우, 사용자는 화면 오른쪽 상단에 로그인한 사용자 이름 옆에 노란색 경고 방패 아이콘을 보게 됩니다. 또한 사용자 이름을 클릭하여 사용자 메뉴를 표시하면 해당 세션이 장치 신뢰로 승인되지 않았음을 나타내므로 사용자의 접근이 제한됩니다.
테마 | 장치 신뢰로 승인된 세션 | 장치 신뢰로 승인되지 않은 세션 |
---|---|---|
라이트 | ![]() | ![]() |
다크 | ![]() | ![]() |