고급 Entra ID 통합 옵션
Teleport v18.10요약
이 페이지에서는 Teleport Entra ID 통합과 관련된 고급 설정 옵션을 나열합니다. Teleport는 전체 동기화와 델타 동기화, 두 가지 동기화 모드를 지원합니다. 전체 동기화는 기본 동기화 모드로, Teleport가 Microsoft Entra ID 디렉터리에 존재하는 사용자, 그룹, 그룹 구성원, 그룹 소유자의 전체 집합을 동기화합니다.
이 페이지에서는 Teleport Entra ID 통합과 관련된 고급 설정 옵션을 나열합니다.
동기화 모드 및 간격#
Teleport는 전체 동기화와 델타 동기화, 두 가지 동기화 모드를 지원합니다.
전체 동기화는 기본 동기화 모드로, Teleport가 Microsoft Entra ID 디렉터리에 존재하는 사용자, 그룹, 그룹 구성원, 그룹 소유자의 전체 집합을 동기화합니다. 5분마다 실행됩니다.
델타 동기화 모드에서는 Teleport가 Microsoft Entra ID 디렉터리에서 발생한 증분 변경 사항만 추적하여 Teleport로 동기화합니다. 델타 동기화는 기본적으로 활성화되어 있지 않습니다. Teleport v18.9.2 이상에서만 사용할 수 있는 옵트인 기능입니다.
동기화 모드 및 간격 구성#
기본적으로 플러그인은 5분 간격으로 전체 동기화를 실행합니다.
플러그인의 sync_intervals 설정에서 full 및 delta 필드에 양수 기간을 구성하면 각 동기화 모드가 활성화됩니다.
다음 예제는 델타 동기화를 2분 간격으로, 전체 동기화를 1시간 간격으로 구성합니다.
먼저 tctl을 사용하여 Entra ID 플러그인 스펙을 편집 모드로 엽니다:
$ tctl edit plugins/entra-id-default
다음으로 sync_intervals 필드로 플러그인 스펙을 업데이트합니다:
kind: plugin
metadata:
name: entra-id-default
spec:
Settings:
entra_id:
sync_settings:
sync_intervals:
delta: "2m"
full: "1h"
# 간결성을 위해 다른 설정 생략
version: v1
delta와 full 모두 2분을 나타내는 2m 또는 1시간을 나타내는 1h와 같은 Go 시간 기간 문자열을 허용합니다.
간격 값이 0(0)이면 해당 동기화 모드가 비활성화됩니다.
델타 동기화와 전체 동기화가 모두 비활성화된 경우, 플러그인은 5분 간격의 전체 동기화 사용으로 폴백합니다.
델타 동기화와 전체 동기화 간격이 모두 구성된 경우, 델타 동기화는 연속된 두 전체 동기화 간격 사이에서 실행됩니다.
T+0m FULL (initial one)
T+2m DELTA
T+4m DELTA
T+6m DELTA
...
T+60m FULL
T+62m DELTA
T+64m DELTA
T+66m DELTA
...
T+120m FULL
full과 delta 동기화 중 선택하기#
전체 동기화와 델타 동기화 중 선택할 때 가장 중요한 고려 사항은 Graph API 테넌트가 스로틀링에 얼마나 취약한지입니다.
Graph API 할당량은 API 호출당 조회되는 리소스 수와 해당 호출 빈도를 기준으로 합니다. 예를 들어, 사용자 1,000명 이상, 그룹당 구성원이 100~1,000명으로 다양한 그룹 50,000개 이상을 보유한 대규모 Entra ID 디렉터리에서는 Teleport의 빈번한 전체 스캔이 스로틀링에 취약합니다.
또한 Graph API 할당량은 Entra ID 테넌트에 구성된 모든 클라이언트가 공유합니다. 관련 없는 서드파티 애플리케이션이 전체 Graph API 할당량을 소진하면 Teleport도 스로틀링될 수 있습니다.
소규모 디렉터리와 연동하거나 Teleport가 디렉터리를 조회하는 유일한 API 소비자인 경우, 기본 전체 동기화를 사용하세요. 즉각적인 동기화가 필요하지 않다면 스로틀링 위험을 줄이기 위해 전체 동기화 간격을 늘릴 수 있습니다.
대규모 디렉터리의 경우, 델타 동기화는 짧은 간격(예: 2분)으로 실행하고 전체 동기화는 긴 간격(예: 1시간)으로 실행하도록 델타와 전체 동기화를 모두 구성하세요.
여러 클라이언트가 대규모 데이터셋을 자주 폴링하여 테넌트가 스로틀링에 민감한 경우, 전체 동기화를 비활성화하고 델타 동기화만 실행할 수 있습니다. 하지만 위에서 설명한 대로 전체 동기화와 델타 동기화를 모두 구성하는 것이 효율적인 API 사용과 연동 기능 사이에서 최상의 균형을 제공합니다.
델타 동기화 제한 사항#
처리 지연#
델타 동기화는 일반적으로 Entra ID 변경 사항을 즉시 감지합니다. 하지만 델타 API에는 처리 지연이 있는 것으로 알려져 있습니다.
흔하지는 않지만, 리소스 감지 지연으로 인한 혼란을 방지하기 위해 처리 지연을 유의할 필요가 있습니다. 델타 동기화를 더 짧은 간격(예: 2분)으로 실행하면 영향을 줄일 수 있습니다.
그룹 소유자#
접근 목록 소유자의 소스로 Entra ID를 사용하지만 Entra ID 그룹에 소유자가 없는 경우, Teleport는 플러그인에 구성된 기본 소유자 사용으로 폴백합니다.
이후의 델타 동기화에서 Teleport는 이러한 기본 소유자를 제거하지 않습니다.
이후의 full 동기화는 delta와 full 동기화를 모두 실행하는 연동에 대해 이러한 기본 소유자를 조정합니다.
동기화 상태#
Entra ID 연동 상태 페이지는 아직 델타 동기화 상태를 표시하지 않습니다. 델타 동기화 상태 지원은 향후 릴리즈에서 추가될 예정입니다.
그룹 필터#
기본적으로 Microsoft Entra ID 디렉터리에 존재하는 모든 그룹이 Teleport로 가져와집니다.
이 가져오기 동작은 그룹 필터를 사용하여 제어할 수 있으며, 이를 통해 그룹 객체 ID 또는 그룹 표시 이름을 기반으로 특정 그룹을 포함하거나 제외할 수 있습니다.
그룹 필터는 tctl을 사용해서만 설정할 수 있으며, Teleport 웹 UI를 통한 설정 기능은 개발 중입니다.
그룹 필터 우선순위#
- 필터가 설정되지 않은 경우, 모든 그룹이 가져와집니다(기본 동작).
- 포함 필터가 정의된 경우, 일치하는 그룹만 가져와집니다.
- 그룹이 포함 필터와 제외 필터 모두에 일치하는 경우, 제외 필터가 우선합니다.
설치 중 그룹 필터 설정#
설치 중 그룹 필터 설정 예제:
$ tctl plugins install entraid \
--name entra-id-default \
--auth-connector-name entra-id \
--default-owner=admin \
--no-access-graph \
--use-system-credentials \
--manual-setup \
--group-id 25f9c527-2314-414c-a75d-ef7efabcc99b \
--group-name "admin*" \
--exclude-group-id 080b50c3-1c98-4d8e-a54e-20143dbd4f99 \
--exclude-group-name "fin*"
--group-id: 지정된 그룹 ID와 일치하는 그룹을 포함합니다. 여러 플래그 허용.--group-name: 지정된 그룹 이름 정규식과 일치하는 그룹을 포함합니다. 여러 플래그 허용.--exclude-group-id: 지정된 그룹 ID와 일치하는 그룹을 제외합니다. 여러 플래그 허용.--exclude-group-name: 지정된 그룹 이름 정규식과 일치하는 그룹을 제외합니다. 여러 플래그 허용.
그룹 필터 업데이트#
그룹 필터는 Teleport Entra ID 플러그인 리소스 스펙의 sync_settings에서 사용 가능한 group_filters 플래그를 사용하여 업데이트할 수 있습니다.
참조 설정 스펙:
kind: plugin
metadata:
name: entra-id
spec:
Settings:
entra_id:
sync_settings:
... # 간결성을 위해 다른 설정 생략
group_filters:
- id: 080b50c3-1c98-4d8e-a54e-20143dbd4f99
- id: 45f9c527-2314-414c-a75d-ef7efabcc99b
- id: 35f9c527-2314-414c-a75d-ef7efabcc99b
- nameRegex: 'admin*'
- excludeId: 080b50c52-1c98-4d8e-a54e-20143dbd4f99
- excludeNameRegex: 'finance*'
version: v1
플러그인 스펙은 tctl edit plugins/entra-id 명령으로 편집할 수 있습니다.
접근 목록 소유자#
접근 목록 소유자는 Teleport에서 접근 목록을 관리할 권한이 있으며, Microsoft Entra ID 그룹 소유자와 유사합니다.
접근 목록 소유자의 소스를 설정하여 Teleport Entra ID 플러그인이 Microsoft Entra ID 그룹에 대해 생성된 접근 목록의 소유자를 선택하는 방법을 제어할 수 있습니다.
다음 옵션이 지원됩니다:
- 소스
plugin: 플러그인 동기화 설정에서 설정된 기본 소유자를 사용합니다. 기본 옵션입니다. - 소스
entraid: Microsoft Entra ID 그룹 소유자를 접근 목록 소유자로 사용합니다. 사용자 유형의 그룹 소유자만 지원됩니다. 서비스 주체(Service Principal)를 그룹 소유자로 사용하는 것은 지원되지 않으며 필터링됩니다. 다음 조건에서 Teleport가plugin소스를 사용하도록 폴백할 수 있습니다:- Microsoft Entra ID 그룹에 설정된 소유자가 없는 경우.
- Microsoft Entra ID 그룹 소유자가 지원되지 않아 지원되는 소유자가 없는 경우.
- 소스
plugin-and-entraid:plugin및entraid소스 모두를 사용하여 접근 목록 소유자를 설정합니다.
설치 중 소스 설정#
설치 중 접근 목록 소유자 소스 설정 예제:
$ tctl plugins install entraid \
--name entra-id-default \
--auth-connector-name entra-id \
--default-owner admin \
--no-access-graph \
--use-system-credentials \
--manual-setup \
--access-list-owners-source entraid
--access-list-owners-source플래그는 접근 목록 소유자의 소스를 설정합니다. 값은plugin,entraid또는plugin-and-entraid일 수 있습니다.
접근 목록 소유자 소스 업데이트#
Teleport Entra ID 플러그인 리소스 스펙의 sync_settings에서 사용 가능한 access_list_owners_source 필드를 사용하여 접근 목록 소유자의 소스를 업데이트할 수 있습니다.
access_list_owners_source 필드는 다음 값 중 하나를 지원합니다:
- 정수 값
1: "plugin" 소스를 설정합니다. - 정수 값
2: "entraid" 소스를 설정합니다. - 정수 값
3: "plugin-and-entraid" 소스를 설정합니다.
tctl edit plugins/entra-id 명령을 사용하여 플러그인 스펙을 업데이트할 수 있습니다.
아래에 플러그인 리소스 스펙에 대한 참조가 제공됩니다:
kind: plugin
metadata:
name: entra-id
spec:
Settings:
entra_id:
sync_settings:
... # 간결성을 위해 다른 설정 생략
access_list_owners_source: 3
version: v1