Infograb logo
액세스 목록 참조

액세스 목록을 사용하면 Teleport 사용자가 Teleport 내에서 관리되는 리소스에 장기적으로 액세스할 수 있습니다. 액세스 목록을 통해 관리자 및 액세스 목록 소유자는 특정 역할과 특성에 대한 멤버십을 정기적으로 감사하고 제어할 수 있으며, 이는 Teleport의 기존 RBAC 시스템과 쉽게 연결됩니다.

감사 리뷰는 향후 릴리스에 포함됩니다

감사 리뷰는 Teleport의 향후 릴리스에 포함될 예정입니다.

액세스 목록은 무엇을 하나요?

액세스 목록은 사용자에게 장기적으로 역할과 특성을 부여합니다. 액세스 목록에 추가되고 멤버십 요구 사항을 충족하는 사용자는 Teleport에 로그인할 때 이러한 역할과 특성을 부여받습니다. 이 기능을 액세스 목록의 내장된 정기 감사 및 액세스 리뷰와 결합함으로써, Teleport 관리자는 사용자가 부여받은 장기 액세스에 대한 감사 흔적을 가질 수 있습니다.

액세스 목록과 액세스 요청의 차이점은 무엇인가요?

액세스 목록은 Teleport 리소스에 대한 장기적인 액세스를 목표로 하며, 액세스 요청은 임시 권한 상승을 목표로 합니다. 액세스 목록을 통해 부여된 액세스는 몇 개월 동안 유지될 것으로 예상되며, 액세스 요청을 통해 부여된 액세스는 몇 시간 또는 며칠 동안 유지되는 것을 목표로 합니다.

액세스 목록 소유권

액세스 목록 소유자는 액세스 목록에 대한 특별 권한이 부여된 Teleport 사용자 또는 중첩된 액세스 목록입니다. 이 소유자는 액세스 목록의 일부로 명시적으로 정의되며, 액세스 목록에 대한 RBAC 액세스 권한을 가진 Teleport 사용자에 의해 추가되어야 합니다. 미리 설정된 editor 역할이 있습니다. 소유권이 유효하려면 소유자가 요구 사항을 충족해야 합니다.

요구 사항을 충족하면 소유자는 다음을 수행할 수 있습니다:

  • 멤버십 요구 사항을 제어합니다.
  • 액세스 목록 멤버를 나열합니다.
  • 액세스 목록에 대한 멤버십을 지정하고 철회합니다.
  • 액세스 목록을 감사합니다.

소유자는 액세스 목록에서 소유자를 추가하거나 제거하거나 액세스 목록에 의해 부여되는 역할과 특성을 제어할 수 없습니다.

액세스 목록 멤버십

액세스 목록 멤버는 액세스 목록에서 지정한 역할과 특성을 부여받는 Teleport 사용자 또는 중첩된 액세스 목록입니다. 로그인 시, 사용자는 정적으로 정의된 사용자 권한과 함께 이러한 역할과 특성을 부여받게 됩니다. 이러한 역할과 특성은 Teleport의 기존 RBAC 시스템과 연결됩니다. 멤버는 선택적으로 만료일이 부여될 수 있으며, 이 날짜 이후에는 멤버십이 사용자에게 더 이상 권한을 부여하지 않습니다.

멤버가 되기 위해서는 요구 사항을 충족해야 합니다.

중첩 액세스 목록

액세스 목록은 다른 액세스 목록 내에서 멤버 또는 소유자로 중첩될 수 있습니다. 이를 통해 여러 수준의 상위 액세스 목록으로부터 권한을 상속받는 계층적 권한 구조가 가능합니다. 상속은 재귀적이며, 자식 액세스 목록의 멤버는 그들 자신의 멤버를 가진 액세스 목록일 수 있고, 그와 같은 방식으로 계속됩니다.

멤버십 상속

액세스 목록이 다른 액세스 목록의 멤버인 경우, 중첩 액세스 목록의 멤버는 상위 액세스 목록의 멤버 부여(역할과 특성)를 상속받습니다.

상속을 통해 멤버십이 부여된 사용자는 중첩 액세스 목록의 멤버십 요구 사항과 상위 액세스 목록의 멤버십 요구 사항을 모두 충족해야 멤버십이 유효합니다.

소유권 상속

액세스 목록이 다른 액세스 목록의 소유자인 경우, 중첩 액세스 목록의 멤버는 상위 액세스 목록의 소유자 부여(역할과 특성)를 상속받으며, 상위 액세스 목록에 대한 소유권을 상속받습니다.

상속을 통해 소유권이 부여된 사용자는 중첩 액세스 목록의 멤버십 요구 사항과 상위 액세스 목록의 소유권 요구 사항을 모두 충족해야 소유권이 유효합니다.

제한 사항

  • 순환 중첩: 순환 중첩은 허용되지 않습니다. 접근 목록의 구성원 및 소유권은 자기 참조가 될 수 없습니다(직접적 또는 간접적으로).
  • 중첩 깊이: 중첩은 최대 10단계로 제한됩니다. 즉, 자식 접근 목록은 계층에서 루트 접근 목록에서 10단계 이상 떨어져 있을 수 없습니다.
  • 삭제: 다른 접근 목록의 구성원이나 소유자인 접근 목록은 삭제할 수 없습니다. 접근 목록은 삭제되기 전에 모든 상위 접근 목록에서 제거되어야 합니다.

접근 목록 감사

접근 목록은 감사 빈도로 정의되어야 하며, 이는 접근 목록이 얼마나 자주 감사되어야 하는지를 지정합니다. 접근 목록이 제때 감사되지 않으면 소유자는 감사 검토가 발생할 때까지 웹 UI에서 알림을 받게 됩니다.

접근 목록 리소스 개요

version: v1
kind: access_list
metadata:
  name: ea6cccbe-ceac-4776-8a89-4b1365fc03f5
spec:
  title: "접근 목록 제목"
  # audit은 접근 목록과 그 구성원이 얼마나 자주 감사되어야 하는지를 정의합니다.
  # 다음 감사 날짜와 함께.
  audit:
    recurrence:
      # Frequency는 접근 목록 검토 간의 빈도입니다.
      # 기본값은 6개월입니다.
      # 가능한 값: 1개월, 3개월, 6개월, 1년
      frequency: 6months
      # DayOfMonth는 후속 검토가 예약될 월의 날짜입니다.
      # 기본값은 1입니다.
      # 가능한 값: 1, 15, 마지막 날
      day_of_month: "1"
    # 이 접근 목록을 감사해야 하는 다음 시점.
    # 설정하지 않으면 다음 감사 날짜가 자동으로 선택됩니다.
    notifications:
      # 감사 마감일 전에 접근 요청 플러그인이 알림을 시작합니다.
      # golang의 time.ParseDuration 함수 형식:
      # https://pkg.go.dev/time#ParseDuration
      # 기본값은 2주입니다.
      start: 336h # 2주
    next_audit_date: "2025-01-01T00:00:00Z"
  description: "접근 목록과 그 목적에 대한 설명"
  # owners는 접근 목록을 소유하는 Teleport 사용자 또는 접근 목록의 목록입니다.
  # 소유자가 소유 요구 사항을 충족하면 이 사용자들은 접근 목록의 회원 요구 사항과
  # 회원을 제어할 수 있습니다.
  owners:
    - description: test user 1
      name: teleport-admin
      membership_kind: MEMBERSHIP_KIND_USER
  # 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

접근 목록과 거부 규칙

접근 목록 역할에서 거부 규칙 사용은 권장되지 않습니다.
접근 목록은 권한 감소 도구로 사용하기 위해 의도된 것이 아니며, 특정 조건 하에서는 Teleport가 접근 목록을 무시하는 것이 안전하다고 간주할 수 있습니다.
권한을 줄이기 위해 의도된 역할은 사용자에게 직접 할당되어야 합니다.

CLI에서 접근 목록 관리

웹 UI를 사용하는 것 외에도 접근 목록은 CLI에서 생성하고 관리할 수 있습니다.
CLI에서 접근 목록을 생성하려면 접근 목록 YAML 파일을 생성하고(tctl create <filename> 명령어로 설명됨) tctl create <filename>을 실행합니다.
접근 목록은 tctl create -f <filename>을 사용하여 업데이트할 수 있습니다.

tctltctl acl 서브커맨드 하에 접근 목록에 초점을 맞춘 명령어의 하위 집합도 지원합니다.
이 명령어들을 통해 접근 목록을 나열하고, 특정 접근 목록에 대한 정보를 얻고, 접근 목록 사용자를 관리할 수 있습니다.
자세한 내용을 보려면 tctl acl --help 를 실행하십시오. 더 많은 세부 사항은 CLI 참조에서 확인할 수 있습니다.

Teleport 원문 보기