서버 액세스 제어
Teleport 서버 액세스를 위한 역할 기반 접근 제어(RBAC).
Teleport의 역할 기반 접근 제어(RBAC) 시스템을 사용하여 Teleport에 연결된 Linux 서버에 대한 인증 권한을 세분화하여 설정할 수 있습니다. 정책의 예시로는, 서버 관리자는 모든 것에 접근할 수 있고, QA 팀과 엔지니어는 스테이징 서버에 대한 전체 접근 권한을 가지며, 엔지니어는 긴급 상황 시 프로덕션 서버에 대한 임시 접근 권한을 얻을 수 있다 와 같은 정책이 있습니다. Teleport 역할에 대한 일반적인 설명과 예시는 액세스 제어 가이드 를 참조하세요. 이 섹션은 Teleport에 연결된 서버에 대한 RBAC 구성에 초점을 맞춥니다. 역할 구성 # Teleport의 "role" 리소스는 서버 액세스를 제한하기 위한 다음과 같은 수단을 제공합니다: kind: role version: v5 metadata: name: developer spec: allow: # logins 배열은 사용자가 사용할 수 있는 OS/UNIX 로그인을 정의합니다. # 이 필드에서는 문자열과 템플릿 변수 모두 지원됩니다 logins: [ ubuntu , debian , '{{internal.logins}}' ] # node_labels: 이 역할을 가진 사용자는 아래 표현식과 일치하는 # 레이블을 가진 SSH 노드에 연결할 수 있습니다. node_labels: # 리터럴 문자열: 'env': 'test' # 와일드카드('*')는 "모든 노드"를 의미합니다 '*': '*' # 허용된 값 목록: 'region': [ 'us-west-1' , 'eu-central-1' ] # 정규 표현식은 ^로 시작하고 $로 끝납니다 # Teleport는 Go의 regexp 문법을 사용합니다 (https://github.com/google/re2/wiki/Syntax) # 위의 목록 예시는 다음과 같이 표현할 수 있습니다: 'reg': '^us-west-1|eu-central-1$' # 생성된 사용자가 추가될 호스트 그룹 목록. 아직 존재하지 않는 그룹은 # 생성됩니다. create_host_user_mode가 'off'가 아닐 때만 적용됩니다. host_groups: [ ubuntu , nginx , other ] # 사용자를 sudoers 그룹에 할당합니다 host_sudoers: - 'ALL=(ALL) NOPASSWD: ALL' # root 사용자에 대한 접근 거부 deny: logins: - root 거부 규칙 거부 규칙은 탐욕적으로 매칭됩니다. 위의 예시에서 "root" 서버 사용자 계정을 사용하려는 서버 세션은 거부됩니다. 템플릿 변수 # Teleport에서 다른 리소스에 접근하기 위한 역할 필드와 유사하게, 서버 관련 필드도 템플릿 변수를 지원합니다. {{external.xyz}} 형식의 변수는 외부 SSO 공급자의 값으로 대체됩니다. OIDC 로그인의 경우 {{external.xyz}} 는 "xyz" 클레임을 참조하고, SAML 로그인의 경우 {{external.xyz}} 는 "xyz" 어설션을 참조합니다. 예를 들어, 사용자의 Okta envi
