Infograb logo
로그인 규칙

사용자가 구성된 SSO 공급자를 통해 Teleport 클러스터에 로그인할 때, 로그인 규칙은 IdP에서 제공하는 속성을 변환하여 Teleport 내의 접근을 구성하는 데 필요한 요구를 충족할 수 있습니다. 로그인 규칙은 Teleport Enterprise의 기능입니다.

로그인 규칙의 몇 가지 사용 사례는 다음과 같습니다:

  • 사용자의 속성을 논리적 규칙에 기반하여 수정해야 할 때, 예를 들어 "db-admins 그룹의 사용자는 db-users 그룹에도 추가되어야 한다"는 경우, 로그인 규칙은 이러한 변경을 필요에 따라 IdP의 클레임을 수정하지 않고도 수행할 수 있는 강력한 표현 언어를 제공합니다.
  • IdP가 많은 값이 있는 큰 수의 속성을 제공하는 경우, 이러한 모든 속성은 사용자의 SSH 인증서와 JWT에 포함되며, 이는 일부 서드파티 애플리케이션이 처리하기에는 너무 클 수 있습니다. 로그인 규칙은 불필요한 속성을 필터링하고 필요한 속성만 유지할 수 있습니다.
  • 여러 역할 템플릿이 외부 속성을 결합하고 변형하는 동일한 논리를 반복하는 경우, 로그인 규칙을 사용하여 논리를 한 곳으로 통합하고 역할을 간소화하는 것을 고려하세요.

로그인 규칙은 조직의 IdP에 대한 변경 없이 이러한 문제를 해결할 수 있습니다.

로그인 규칙은 클러스터 구성 시 최대의 유연성을 제공하는 술어 언어를 사용합니다. 이를 통해 사용자가 부여받아야 할 속성을 정의하기 위해 간단하거나 복잡한 표현식을 작성할 수 있습니다.

예를 들어, username 속성의 값을 소문자로 변환하고 다음 스니펫을 사용하여 그룹 속성의 값을 조건적으로 확장할 수 있습니다:

traits_map:
  username:
    - 'strings.lower(external.username)'
  groups:
    - 'ifelse(external.groups.contains("db-admins"), external.groups.add("db-users"), external.groups)'

로그인 규칙 가이드를 확인하여 클러스터에 첫 번째 로그인 규칙을 작성하고, 테스트하고, 추가하는 방법을 간략하게 살펴보세요. 예제 로그인 규칙을 참조하여 일반적인 사용 사례를 해결하는 방법을 알아보세요.

클러스터에서 로그인 규칙을 최대한 활용할 준비가 되면, 로그인 규칙 참조에서 이들을 지원하는 표현 언어에 대한 세부정보를 확인하세요. 로그인 규칙 참조

FAQ

어떤 사용자에게 로그인 규칙이 적용되나요?

로그인 규칙은 OIDC, SAML 또는 GitHub를 통해 로그인하는 모든 사용자에게 적용됩니다. 로컬 Teleport 사용자에게는 적용되지 않습니다.

로그인 규칙은 언제 평가되나요?

로그인 규칙은 각 사용자 로그인 시 한 번 평가되며, IdP에서 클레임 또는 주장을 수신한 후, Teleport 역할에 클레임/주장을 매핑하기 전, 사용자 인증서를 생성하기 전 단계에서 평가됩니다. 로그인 규칙이 역할 매핑에 사용되는 속성을 수정하는 경우, 역할 매핑에 영향을 미칠 것입니다.

술어 언어를 위한 사용자 정의 헬퍼 함수를 정의할 수 있나요?

아니요, 하지만 현재 지원되는 헬퍼 함수로는 충분히 충족되지 않는 사용 사례가 있다면, 지원팀에 문의하거나 GitHub 문제를 제출하면 일반적으로 유용한 헬퍼 추가를 고려하겠습니다.

단일 클러스터에 여러 로그인 규칙을 가질 수 있나요?

예. 클러스터에 설치된 모든 로그인 규칙은 우선 순위에 따라 정렬된 다음 순서대로 평가됩니다. 각 후속 로그인 규칙은 이전 규칙의 전체 출력을 입력으로 받게 됩니다. 각 로그인 규칙에 고유한 우선 순위를 부여하는 것이 강력히 권장되지만, 동점인 경우 규칙 이름으로 정렬하여 우선 순위를 결정합니다.

Teleport 원문 보기