인증 옵션
Teleport는 Proxy Service를 통해 사용자를 인증하거나, 인증 커넥터를 통해 identity provider와 함께 인증합니다. 이 가이드는 사람 사용자를 위한 인증 옵션을 설명합니다. 로컬 인증은 로컬 Teleport 사용자 데이터베이스에 대해 인증하는 데 사용됩니다.
Teleport는 Proxy Service를 통해 사용자를 인증하거나, 인증 커넥터를 통해 identity provider와 함께 인증합니다.
이 가이드는 사람 사용자를 위한 인증 옵션을 설명합니다. AI 에이전트 및 기계의 경우 Machine & Workload ID를 참조하세요.
로컬 (인증 커넥터 없음)#
로컬 인증은 로컬 Teleport 사용자 데이터베이스에 대해 인증하는 데 사용됩니다. 이 데이터베이스는 tctl users 명령어로 관리됩니다. Teleport는 로컬 커넥터를 위한
다중 인증(MFA)도 지원합니다. MFA에는 여러 가지 가능한 값(유형)이 있습니다:
otp는 셀프 호스팅 Teleport 배포의 기본값입니다. TOTP 표준을 구현합니다. Google Authenticator, Authy 또는 다른 TOTP 클라이언트를 사용할 수 있습니다.webauthn은 클라우드 호스팅 Teleport Enterprise 계정의 기본값입니다. 다중 인증 요소 및 하드웨어 장치 활용을 위한 Web Authentication 표준을 구현합니다. YubiKeys, SoloKeys 또는 FIDO2 또는 FIDO U2F 표준을 구현하는 다른 인증 장치를 사용할 수 있습니다. Teleport를 위한 WebAuthn 설정에 대한 자세한 지침은 IdP 침해로부터 클러스터 강화하기 가이드를 참조하십시오.on은 TOTP와 WebAuthn 모두 활성화하며, 모든 로컬 사용자는 적어도 하나의 MFA 장치를 등록해야 합니다.optional은 TOTP와 WebAuthn 모두 활성화하지만 사용자에게 선택적입니다. MFA 장치를 등록한 로컬 사용자는 로그인 중에 인증을 요청받습니다. 이 옵션은 값을on으로 전환하기 전에 MFA 사용을 점진적으로 활성화해야 할 때 유용합니다.off는 다중 인증을 끕니다.
Single Sign-On 솔루션과 함께 Teleport를 사용하는 경우, 사용자는 MFA 장치를 등록할 수 있지만 Teleport는 로그인 중에 MFA를 요청하지 않습니다. SSO 사용자의 MFA는 SSO 제공자가 처리해야 합니다.
정적 구성 파일이나 동적 구성 리소스를 사용하여 이러한 설정을 수정할 수 있습니다.
정적 구성#
기본적으로 /etc/teleport.yaml에 저장된 Teleport 구성 파일에 다음을 추가하십시오.
auth_service:
authentication:
type: local
second_factors: ["webauthn"]
webauthn:
rp_id: example.teleport.sh
동적 리소스#
cluster_auth_preference 리소스를 편집하십시오:
$ tctl edit cap
리소스에 다음 내용이 포함되어 있는지 확인하십시오:
kind: cluster_auth_preference
metadata:
name: cluster-auth-preference
spec:
type: local
second_factors: ["webauthn"] # 가능한 값: "otp", "webauthn", "sso"
webauthn:
rp_id: example.teleport.sh
version: v2
변경 사항을 적용하려면 편집기에서 파일을 저장하고 닫으십시오.
동적 구성 리소스를 사용하여 이러한 설정을 수정할 수 있습니다.
tctl 관리 도구를 사용할 수 있도록 로컬 머신에서 Teleport에 로그인하십시오:
$ tsh login --proxy=myinstance.teleport.sh
$ tctl status
cluster_auth_preference 리소스를 편집하십시오:
$ tctl edit cap
cap.yaml에 다음 내용이 포함되어 있는지 확인하십시오:
kind: cluster_auth_preference
metadata:
name: cluster-auth-preference
spec:
type: local
second_factors: ["webauthn"] # 가능한 값: "otp", "webauthn", "sso"
webauthn:
rp_id: example.teleport.sh
version: v2
변경 사항을 적용하려면 편집기에서 파일을 저장하고 닫으십시오.
로컬 사용자 정책#
Teleport는 로컬 사용자의 비밀번호가 최소 12자 이상이어야 합니다.
또한 Teleport는 30분 이내에 여러 번의 로그인 실패가 발생하면 로컬 사용자 계정을 잠급니다. 사용자가 다시 로그인을 시도하기 전까지 계정은 30분 동안 잠긴 상태로 유지됩니다.
차단 해제는 내장된 editor 역할에서 제공되는 user 리소스를 유지할 권한이 있는 사용자에게 가능합니다. 차단을 해제하려면 다음 단계에 따라 사용자 항목을 업데이트하십시오.
편집기에서 사용자 리소스를 열고, 을 Teleport 사용자 이름으로 지정하십시오:
$ tctl edit users/
리소스는 다음과 유사해야 합니다:
kind: user
metadata:
name: jeff
spec:
roles:
- access
status:
is_locked: true
lock_expires: "2023-04-22T01:55:02.228158166Z"
locked_message: user has exceeded maximum failed login attempts
version: v2
status 아래의 is_locked 필드를 false로 업데이트하고, 파일을 저장한 후 편집기를 닫으십시오.
사용자는 이제 로그인 시도에서 차단 해제되어 다시 인증을 시도할 수 있습니다.
인증 커넥터#
GitHub#
이 커넥터는 GitHub의 OAuth 2.0 인증 플로우를 구현합니다. OAuth 앱을 생성하고 등록하는 방법을 알아보려면 OAuth 앱 만들기에 대한 GitHub 문서를 참조하십시오.
cluster_auth_preference 리소스에서 이 설정의 예시입니다:
kind: cluster_auth_preference
metadata:
name: cluster-auth-preference
spec:
type: github
version: v2
구성 방법에 대한 자세한 내용은 GitHub OAuth 2.0을 참조하십시오.
SAML#
이 커넥터 유형은 SAML 인증을 구현합니다. Okta 또는 Auth0 같은 외부 identity manager에 대해 구성할 수 있습니다.
cluster_auth_preference 리소스에서 이 설정의 예시입니다:
kind: cluster_auth_preference
metadata:
name: cluster-auth-preference
spec:
type: saml
version: v2
OIDC#
Teleport는 OpenID Connect (OIDC) 인증을 구현합니다.
cluster_auth_preference 리소스에서 이 설정의 예시입니다:
kind: cluster_auth_preference
metadata:
name: cluster-auth-preference
spec:
type: oidc
version: v2
GitHub#
이 커넥터는 GitHub의 OAuth 2.0 인증 플로우를 구현합니다. OAuth 앱을 생성하고 등록하는 방법을 알아보려면 OAuth 앱 만들기에 대한 GitHub 문서를 참조하십시오.
teleport.yaml에서 이 설정의 예시입니다:
auth_service:
authentication:
type: github
구성 방법에 대한 자세한 내용은 GitHub OAuth 2.0을 참조하십시오.
SAML#
이 커넥터 유형은 SAML 인증을 구현합니다. Okta 또는 Auth0 같은 외부 identity manager에 대해 구성할 수 있습니다.
teleport.yaml에서 이 설정의 예시입니다:
auth_service:
authentication:
type: saml
OIDC#
Teleport는 원칙적으로 SAML과 유사한 OpenID Connect (OIDC) 인증을 구현합니다.
teleport.yaml에서 이 설정의 예시입니다:
auth_service:
authentication:
type: oidc
GitHub#
이 커넥터는 GitHub의 OAuth 2.0 인증 플로우를 구현합니다. OAuth 앱을 생성하고 등록하는 방법을 알아보려면 OAuth 앱 만들기에 대한 GitHub 문서를 참조하십시오.
teleport.yaml에서 이 설정의 예시입니다:
auth_service:
authentication:
type: github
구성 방법에 대한 자세한 내용은 GitHub OAuth 2.0을 참조하십시오.
오늘의 메시지 표시 요구#
Teleport는 Teleport 웹 UI와 CLI에서 인증하기 전에 사용자에게 사용자 정의 오늘의 메시지(MOTD)를 표시할 수 있습니다.
Self-Hosted#
기본적으로 /etc/teleport.yaml에 저장된 Teleport 구성 파일에 다음을 추가하십시오.
auth_service:
message_of_the_day: |
Welcome to the Example Teleport Cluster
All activity is monitored and should follow organization policies
이 변경 사항을 적용하려면 Teleport Auth Service 인스턴스를 다시 시작하십시오.
Teleport Enterprise Cloud/Dynamic#
cluster_auth_preference 리소스를 편집하십시오:
$ tctl edit cap
리소스에 message_of_the_day 필드가 포함되어 있는지 확인하십시오:
kind: cluster_auth_preference
metadata:
name: cluster-auth-preference
spec:
message_of_the_day: |
Welcome to the Example Teleport Cluster
All activity is monitored and should follow organization policies
type: local
second_factor: "on"
webauthn:
rp_id: example.teleport.sh
version: v2
변경 사항을 적용하려면 편집기에서 파일을 저장하고 닫으십시오.
