접근 목록을 사용하면 Teleport 사용자가 Teleport 내에서 관리되는 리소스에 대해 장기적인 접근 권한을 부여받을 수 있습니다. 접근 목록을 통해 관리자는 특정 역할 및 특성에 대한 구성원을 정기적으로 감사하고 제어할 수 있으며, 이는 Teleport의 기존 RBAC 시스템과 쉽게 연결됩니다.
감사 검토가 Teleport의 향후 릴리즈에 포함될 예정입니다.
접근 목록은 무엇을 하나요?
접근 목록은 사용자에게 장기적인 계획으로 역할과 특성을 부여합니다. 접근 목록에 추가되고 회원 요구 사항을 충족하는 사용자는 Teleport에 로그인할 때 이러한 역할과 특성을 부여받습니다. 이러한 기능을 접근 목록의 내장된 정기 감사 및 접근 검토 기능과 결합함으로써, Teleport 관리자는 Teleport 사용자에게 부여된 장기 접근에 대한 감사 추적을 보유하게 됩니다.
접근 목록과 접근 요청의 비교
접근 목록은 Teleport 리소스에 대한 장기 접근 권한을 위한 것이며, 접근 요청은 일시적인 권한 상승을 위한 것입니다. 접근 목록에 의해 전달된 접근 권한은 수개월 동안 지속될 것으로 기대되며, 접근 요청에 의해 전달된 접근 권한은 수시간 또는 수일 동안 지속될 것으로 의도됩니다.
접근 목록 소유권
접근 목록 소유자는 접근 목록에 대해 특별한 권한이 부여된 Teleport 사용자입니다. 이러한 소유자는 접근 목록의 일부로 명시적으로 정의되어야 하며, 접근 목록에 대한 RBAC 접근 권한을 가진 Teleport 사용자에 의해 추가되어야 합니다. 이 권한은 미리 설정된 editor
역할이 가집니다. 소유자가 되기 위해서는 요구 사항을 충족해야 합니다.
요구 사항을 충족하는 경우, 소유자는 다음과 같은 작업을 수행할 수 있습니다:
- 회원 요구 사항 제어.
- 접근 목록 구성원 목록.
- 접근 목록에 대한 회원 추가 및 철회.
- 접근 목록 감사.
소유자는 접근 목록에서 소유자를 추가하거나 제거할 수 없으며, 접근 목록에 의해 부여되는 역할 및 특성을 제어할 수 없습니다.
접근 목록 구성원
접근 목록 구성원은 해당 접근 목록에 의해 지정된 역할 및 특성을 부여받는 Teleport 사용자입니다. 로그인 시 사용자는 정적으로 정의된 사용자 권한과 함께 이러한 역할 및 특성을 부여받습니다. 이러한 역할과 특성은 Teleport의 기존 RBAC 시스템과 연결됩니다. 구성원은 선택적으로 만료 날짜를 부여받을 수 있으며, 그 이후에는 해당 구성원이 더 이상 사용자에게 어떤 혜택을 제공하지 않습니다.
구성원은 자신의 회원 자격을 유효하게 하기 위해 요구 사항을 충족해야 합니다.
접근 목록 감사
접근 목록은 감사 빈도를 명시해야 하며, 이는 접근 목록이 얼마나 자주 감사되어야 하는지를 나타냅니다. 접근 목록이 제때 감사되지 않으면, 소유자는 웹 UI를 통해 감사 검토가 이루어질 때까지 통지를 받게 됩니다.
접근 목록 리소스 개요
version: v1
kind: access_list
metadata:
name: ea6cccbe-ceac-4776-8a89-4b1365fc03f5
spec:
title: "접근 목록 제목"
# 감사는 접근 목록과 그 회원이 얼마나 자주 감사되어야 하는지를 정의하며,
# 다음 감사 날짜와 함께합니다.
audit:
recurrence:
# 빈도는 접근 목록 검토 사이의 빈도입니다.
# 기본값은 6개월입니다.
# 가능한 값: 1개월, 3개월, 6개월, 1년
frequency: 6months
# 검토가 예정된 월의 날짜입니다.
# 기본값은 1입니다.
# 가능한 값: 1, 15, last
day_of_month: "1"
# 이 접근 목록이 감사되어야 하는 다음 시간입니다.
# 설정하지 않으면, 다음 감사 날짜는 자동으로 선택됩니다.
notifications:
# 액세스 요청 플러그인이 감사 마감일 전에 언제 통지를 시작할 것인지.
# golang의 time.ParseDuration 함수 형식:
# https://pkg.go.dev/time#ParseDuration
# 기본값은 2주입니다.
start: 336h # 두 주
next_audit_date: "2025-01-01T00:00:00Z"
description: "접근 목록 및 그 목적에 대한 설명입니다."
# 소유자는 접근 목록을 소유한 Teleport 사용자 목록입니다. 소유자가
# 소유 요구 사항을 충족하는 경우, 이러한 사용자는 접근 목록에 대한
# 회원 요구 사항과 회원을 제어할 수 있습니다.
owners:
- description: 테스트 사용자 1
name: teleport-admin
# ownership_requires는 소유자가 접근 목록과 그 회원을 관리할 수 있도록
# 요구되는 역할과 특성을 정의합니다.
ownership_requires:
roles:
- access
# grants는 이 접근 목록의 소유자에게 부여되는 역할과 특성을 제어합니다.
owner_grants:
roles:
- access
traits:
trait1:
- value1
# grants는 이 접근 목록의 구성원에게 부여되는 역할과 특성을 제어합니다.
grants:
roles:
- access
traits:
trait1:
- value1
# membership_requires는 위의 역할과 특성을 부여받기 위해 구성원이
# 충족해야 하는 역할과 특성을 정의합니다. 사용자가 접근 목록의 구성원으로
# 추가되더라도 이러한 요구 사항을 충족하지 않으면 회원 자격은 효과가 없습니다.
membership_requires:
roles:
- required_role1
traits:
required_trait1:
- required_value1
CLI에서 접근 목록 관리
웹 UI를 사용하는 것 외에도, CLI를 사용하여 접근 목록을 생성하고 관리할 수 있습니다. CLI에서 접근 목록을 생성하려면, 위에서 설명한 대로 접근 목록 YAML 파일을 생성하고 tctl create <filename>
을 실행하면 됩니다. 접근 목록은 tctl create -f <filename>
를 사용하여 업데이트할 수 있습니다.
tctl
은 또한 tctl acl
하위 명령어 하에 접근 목록 중심의 명령어 집합을 지원합니다. 이를 통해 접근 목록을 나열하고 특정 접근 목록에 대한 정보를 얻고 접근 목록 사용자를 관리할 수 있습니다. 더 많은 세부 정보는 tctl acl --help
를 실행하여 확인할 수 있습니다. 더 많은 세부 정보는 CLI 참조에서 확인할 수 있습니다.