로컬 사용자
Teleport v18.9Teleport에서 로컬 사용자는 서드파티 아이덴티티 프로바이더가 아닌 Teleport를 통해 직접 관리되는 사용자입니다. 이 가이드는 다음을 수행하는 방법을 보여줍니다: 이 가이드는 사람 사용자를 관리하는 방법을 보여줍니다.
Teleport에서 로컬 사용자는 서드파티 아이덴티티 프로바이더가 아닌 Teleport를 통해 직접 관리되는 사용자입니다. 모든 로컬 사용자는 Teleport의 클러스터 상태 백엔드에 저장되며, 사용자 이름, 역할과 속성, bcrypt 비밀번호 해시를 포함합니다.
이 가이드는 다음을 수행하는 방법을 보여줍니다:
이 가이드는 사람 사용자를 관리하는 방법을 보여줍니다. AI 에이전트와 머신에 대해서는 Machine & Workload Identity - 소개를 참조하세요.
사전 요구사항#
-
실행 중인 Teleport 클러스터. Teleport를 시작하려면 무료 체험판에 가입하거나 데모 환경을 구성하세요.
-
tctlandtshclients.Installing `tctl` and `tsh` clients
-
Teleport 클러스터의 버전을 확인합니다.
tctlandtshclients는 Teleport 클러스터 버전보다 최대 한 개의 메이저 버전까지만 뒤처질 수 있습니다. Proxy Service의/v1/webapi/find로 GET 요청을 보내고 JSON 쿼리 도구를 사용하여 클러스터 버전을 확인합니다.teleport.example.com:443를 Teleport Proxy Service의 웹 주소로 바꿉니다:$ TELEPORT_DOMAIN=teleport.example.com:443 $ TELEPORT_VERSION="$(curl -s https://$TELEPORT_DOMAIN/v1/webapi/find | jq -r '.server_version')" -
사용 중인 플랫폼에 대한 지침에 따라
tctlandtshclients를 설치합니다:
-
Mac
`tctl` and `tsh` clients가 포함된, 서명된 Teleport macOS .pkg 설치 프로그램을 다운로드합니다:
```code
$ curl -O https://cdn.teleport.dev/teleport-${TELEPORT_VERSION?}.pkg
```
Finder에서 `pkg` 파일을 더블 클릭하여 설치를 시작합니다.
Homebrew를 사용하여 Teleport를 설치하는 것은 지원되지 않습니다. Homebrew의
Teleport 패키지는 Teleport에서 유지 관리하지 않으므로 신뢰성이나 보안을
보장할 수 없습니다.
Windows - Powershell
```code
$ curl.exe -O https://cdn.teleport.dev/teleport-v${TELEPORT_VERSION?}-windows-amd64-bin.zip
# Unzip the archive and move the `tctl` and `tsh` clients to your %PATH%
# NOTE: Do not place the `tctl` and `tsh` clients in the System32 directory, as this can cause issues when using WinSCP.
# Use %SystemRoot% (C:\Windows) or %USERPROFILE% (C:\Users\<username>) instead.
```
Linux
Linux 설치판의 모든 Teleport 바이너리에는 `tctl` and `tsh` clients가 포함되어 있습니다. RPM/DEB
패키지 및 i386/ARM/ARM64용 다운로드를 포함한 더 많은 옵션은
[설치 페이지](../installation/installation.mdx)를 참조하세요.
```code
$ curl -O https://cdn.teleport.dev/teleport-v${TELEPORT_VERSION?}-linux-amd64-bin.tar.gz
$ tar -xzf teleport-v${TELEPORT_VERSION?}-linux-amd64-bin.tar.gz
$ cd teleport
$ sudo ./install
# Teleport binaries have been copied to /usr/local/bin
```
Teleport cluster에 연결할 수 있는지 확인하려면 tsh login으로 로그인한 다음,
현재 자격 증명으로 tctl 명령을 실행할 수 있는지 확인합니다.
예를 들어, teleport.example.com에 cluster 내 Teleport Proxy Service의
도메인 이름을, email@example.com에 Teleport 사용자 이름을 지정하여
다음 명령을 실행합니다:
$ tsh login --proxy=teleport.example.com --user=email@example.com
$ tctl status
# Cluster (=teleport.url=)
# Version (=teleport.version=)
# CA pin (=presets.ca_pin=)
cluster에 연결하여 tctl status 명령을 실행할 수 있다면, 현재 자격 증명을 사용하여
워크스테이션에서 이후의 tctl 명령을 실행할 수 있습니다.
자체 Teleport cluster를 호스팅하는 경우, 전체 권한을 얻기 위해 Teleport Auth Service를
호스팅하는 컴퓨터에서 tctl 명령을 실행할 수도 있습니다.
로컬 사용자 추가#
Teleport의 사용자 아이덴티티는 클러스터 범위 내에 존재합니다. Teleport 관리자는 Teleport 사용자 계정을 생성하고 사용자가 사용할 수 있는 역할에 매핑합니다.
다음 표를 살펴보겠습니다:
| Teleport 사용자 | SSH 로그인 | 설명 |
|---|---|---|
joe |
joe, root |
Teleport 사용자 joe는 SSH 서버에서 joe 또는 root 사용자로 로그인할 수 있습니다. |
bob |
bob |
Teleport 사용자 bob은 SSH 서버에서 bob 사용자로 로그인할 수 있습니다. |
kim |
Teleport 사용자 kim에게는 지정된 SSH 로그인이 없습니다. |
SSH 로그인은 Teleport 역할에서 사용할 수 있는 사용자 속성 중 하나입니다. 지원되는 모든 속성은 tctl users add 참조 문서를 확인하세요.
tctl 도구를 사용하여 Teleport에 새 사용자를 추가해 보겠습니다:
$ tctl users add joe --logins=joe,root --roles=access,editor
$ tctl users add joe --logins=joe,root --roles=access,editor,reviewer
Teleport는 자동 만료 토큰(TTL 1시간)을 생성하고 토큰 URL을 출력하며, 이 URL은 TTL이 만료되기 전에 사용해야 합니다.
User "joe" has been created but requires a password. Share this URL with the user to complete user setup, link is valid for 1h:
https://<proxy_host>:443/web/invite/<token>
NOTE: Make sure <proxy_host>:443 points at a Teleport proxy which users can access.
사용자는 웹 브라우저에서 이 URL을 방문하여 비밀번호를 설정하고 다단계 인증을 구성함으로써 등록을 완료합니다. 자격 증명이 올바르면 Teleport Auth Service가 새 사용자 인증서를 생성하고 서명합니다.
이 인증서는 기본적으로 12시간이 지나면 자동으로 만료되며, 만료 후에는 사용자가 자격 증명으로 다시 로그인해야 합니다. 이 TTL은 다른 값으로 구성할 수 있습니다.
인증이 완료되면 해당 계정은 tctl을 통해 확인할 수 있습니다:
$ tctl users ls
# User Roles
# ---- --------------
# admin editor
# kim access
# joe access,editor
사용자 편집#
관리자는 tctl을 통해 사용자 항목을 편집할 수 있습니다.
예를 들어 전체 사용자 레코드 목록을 확인하려면 관리자는 다음을 실행할 수 있습니다:
$ tctl get users
사용자 joe를 편집하려면 다음 명령어를 실행하세요:
$ tctl edit user/joe
변경한 다음, 편집기에서 파일을 저장하고 닫아 변경 사항을 적용하세요.
사용자 삭제#
관리자는 tctl을 통해 로컬 사용자를 삭제할 수 있습니다:
$ tctl users rm joe
다음 단계#
사용자 외에도 tctl을 사용하여 역할 및 기타 동적 리소스를 관리할 수 있습니다.
자세한 내용은 Teleport 리소스 참조를 참조하세요.
사용 가능한 모든 tctl 명령어와 플래그는 CLI 참조를 참조하세요.
또한 사용자가 SSO 프로바이더를 사용하여 로그인할 수 있도록 Teleport를 구성할 수 있습니다. 자세한 내용은 다음을 참조하세요:
필수 역할 게이트, 주기적 검토, 명확한 감사 추적을 통해 많은 사용자에 걸쳐 역할 할당을 관리하려면 접근 목록 시작하기를 참조하세요.
사용자 외에도 tctl을 사용하여 역할 및 기타 동적 리소스를 관리할 수 있습니다.
자세한 내용은 Teleport 리소스 참조를 참조하세요.
사용 가능한 모든 tctl 명령어와 플래그는
CLI 참조를 참조하세요.
또한 사용자가 GitHub를 사용하여 로그인할 수 있도록 Teleport를 구성할 수 있습니다. 자세한 내용은 GitHub SSO를 참조하세요.