Skip to main content

ID 공급자 그룹을 사용하여 팀 멤버십 문제 해결

IdP(ID 공급자)에서 그룹을 사용하여 팀 멤버십을 관리하는데 팀 멤버십이 동기화되지 않을 경우 문제를 해결할 수 있습니다.

IdP 그룹을 사용하여 팀 멤버십 관리 정보

SCIM 프로비전을 구성한 경우 GitHub의 팀을 IdP의 그룹과 연결하여 IdP를 통해 엔터프라이즈 내 팀 및 조직 멤버십을 관리할 수 있습니다. 엔터프라이즈 설정에서 IdP 그룹에 동기화한 팀 목록을 검토할 수 있습니다. 자세한 내용은 ID 공급자 그룹을 사용하여 팀 멤버 자격 관리을(를) 참조하세요.

GitHub 또한 조정 작업을 하루에 한 번 실행하여 SCIM을 통해 이전에 IdP에서 보낸 정보에 따라 저장된 IdP 그룹 멤버 자격과 팀 멤버 자격을 GitHub동기화합니다. 이 작업에서 사용자가 엔터프라이즈 IdP 그룹의 구성원이지만 매핑된 팀 또는 조직 구성원이 아닌 경우, 작업에서는 조직 및 팀에 사용자를 추가하려고 합니다.

IdP의 그룹과 팀 멤버 자격을 동기화할 수 없는 경우 GitHub 오류 메시지를 보고 문제를 해결할 수 있습니다.

IdP 그룹과의 팀 동기화 오류 보기

  1. GitHub Enterprise Server의 오른쪽 위 모서리에서 프로필 사진과 Enterprise settings를 차례로 클릭합니다.

  2. 엔터프라이즈 목록에서 보려는 엔터프라이즈를 클릭합니다.

  3. IdP 그룹 목록을 검토하려면 왼쪽 사이드바에서 ID 공급자를 클릭합니다.

  4. ID 공급자에서 그룹을 클릭합니다.

  5. 그룹의 동기화에 문제가 발생할 경우 "일부 그룹이 팀과 동기화하지 않습니다. 사용 가능한 라이선스가 있는지 확인하세요"라는 메시지가 표시됩니다.

  6. IdP 그룹 목록에서 검토할 그룹을 클릭합니다.

  7. 그룹의 동기화 오류를 검토하려면 그룹 이름에서 을 클릭합니다.

    팀이 IdP의 그룹과 멤버십을 동기화할 수 없는 경우 팀의 이름 및 멤버십 개수 아래에 문제에 대한 설명이 표시됩니다.

오류: "동기화되지 않음"

라이선스 이외의 문제로 인해 IdP의 그룹과 팀 멤버십의 동기화가 실패하면 "동기화되지 않음"이라는 메시지가 표시됩니다.

IdP 그룹 페이지의 스크린샷. 팀이 동기화되지 않는다는 경고가 진한 주황색 윤곽선으로 표시되어 있습니다.

GitHub 는 다음 동기화 중에 이 문제를 자동으로 해결하려고 시도하며, 이 문제는 매일 한 번 이상 발생합니다. 영향을 받는 팀을 IdP 그룹에서 연결 해제한 다음 동일한 그룹에 다시 연결하여 문제를 해결할 수 있습니다. 자세한 내용은 ID 공급자 그룹을 사용하여 팀 멤버 자격 관리을(를) 참조하세요.

문제가 지속되면 GitHub Enterprise 지원에 문의하고 문제가 발생한 조직, 팀 및 IdP 그룹에 대한 세부 정보를 제공하세요.

SCIM API 미완료 이벤트

엔터프라이즈 감사 로그에 external_identity.scim_api_incomplete 또는 external_group.scim_api_incomplete 이벤트가 표시되면, ID 공급자의 SCIM 요청이 GitHub에서 수신되었지만 성공적으로 완료되지는 않았다는 의미입니다. ID 공급자에게 응답이 다시 전송되지 않았습니다. 이로 인해 작업이 실패하거나 시간이 초과되었다고 보고할 수 있습니다.

문제 해결

영향을 받는 사용자 또는 그룹에 대한 ID 공급자의 프로비저닝을 다시 트리거합니다. SCIM 작업은 멱등성이 있으므로 다시 프로비저닝해도 중복 항목이 생성되지 않습니다.

  • Entra ID: Microsoft Entra 관리 센터에서 엔터프라이즈 애플리케이션 > 해당 SCIM 앱 > 프로비저닝으로 이동한 다음, 해당 사용자 또는 그룹에 대해 주문형 프로비저닝을 사용하거나 전체 동기화를 위해 프로비저닝 다시 시작을 사용합니다. 자세한 내용은 Microsoft 설명서의 Microsoft Entra ID의 주문형 프로비저닝을 참조하세요.
  • Okta: 푸시 그룹에서 영향을 받는 그룹을 다시 푸시하거나 영향을 받는 사용자에게 앱을 다시 할당합니다. 자세한 내용은 Okta 설명서의 푸시 그룹을 참조하세요.
  • 기타 ID 공급자: 특정 사용자 또는 그룹에 대한 SCIM 프로비저닝을 다시 트리거하는 방법은 ID 공급자의 설명서를 참조하세요.

변경 내용이 적용되었는지 확인

감사 로그 스트리밍이 구성된 경우, 스트리밍된 로그에서 scim_api_incomplete 이벤트의 request_id 값과 동일한 값을 가진 다른 이벤트를 검색할 수 있습니다. 자세한 내용은 엔터프라이즈에 대한 감사 로그 스트리밍을(를) 참조하세요.

단일 그룹 SCIM API 호출은 처리 중에 다음 이벤트 중 하나라도 트리거할 수 있습니다.

감사 로그 이벤트Description
external_group.provision그룹을 만들었습니다.
external_group.delete그룹이 삭제되었습니다.
external_group.update그룹 메타데이터가 업데이트되었습니다.
external_group.update_display_name표시 이름이 변경되었습니다.
external_group.add_member특정 멤버가 추가되었습니다.
external_group.remove_member특정 멤버가 제거되었습니다.

중단 전에 어떤 멤버 변경 사항이 적용되었는지 확인하려면 add_member 이벤트와 remove_member 이벤트가 가장 유용합니다. 영향을 받는 특정 멤버를 식별합니다. 요청이 의도한 것보다 적은 멤버 이벤트를 찾은 경우 나머지 멤버는 처리되지 않았습니다.

참고

엔터프라이즈 감사 로그 UI 및 REST API는 현재 request_id를 기준으로 필터링하는 기능을 지원하지 않습니다. 이 단계에서는 SIEM 또는 로그 플랫폼에 대한 감사 로그 스트리밍이 필요합니다.

일반적인 원인

불완전한 이벤트의 일반적인 원인

  • 처리 시간은 대개 큰 그룹으로 인해 연결 시간 제한을 초과합니다.
  • ID 공급자와 GitHub 사이에 네트워크 중단이 발생합니다.
  • GitHub의 인프라에서 일시적인 문제가 발생합니다.
  • 회사 프록시, 방화벽 또는 CASB 솔루션과 같은 네트워크 환경은 연결을 방해합니다.
  • ID 공급자의 SCIM 클라이언트 시간 제한 설정이 너무 제한적입니다.

이 이벤트가 동일한 그룹 또는 사용자에 대해 다시 발생하는 경우, 영향을 받은 이벤트의 request_id 값과 함께 GitHub Enterprise 지원에 문의하세요.

대규모 그룹 시간 제한

멤버 수가 많은 그룹에 대한 단일 SCIM PUT 또는 PATCH 요청은 요청 시간 제한을 초과할 수 있습니다. 이 경우 ID 공급자가 작업을 실패로 보고할 수 있으며 엔터프라이즈 감사 로그에 이벤트가 표시 external_group.scim_api_incomplete 될 수 있습니다.

SCIM 프로비저닝 속도 제한은 시간당 그룹당 1,000명의 사용자 제한을 설명하지만, 대규모 그룹의 멤버 자격을 변경하는 단일 PUT 또는 PATCH 요청은 모든 멤버가 처리되기 전에 요청 시간 제한을 초과할 수도 있습니다. 자세한 내용은 REST API를 사용하여 SCIM으로 사용자 및 그룹 프로비전을(를) 참조하세요.

시간 초과 방지

  • 큰 그룹을 더 작은 그룹으로 분할합니다. ID 공급자가 이를 지원하는 경우 자주 시간 초과가 발생하는 그룹을 여러 개의 더 작은 그룹으로 분할하는 것을 고려하세요. 이렇게 하면 SCIM 요청당 처리 시간이 줄어듭니다.
  • 증분 업데이트를 사용합니다. 가능한 경우 전체 멤버 자격 목록을 대체하는 요청 대신 PATCH 요청을 사용하여 PUT 개별 멤버를 추가하거나 제거합니다.
  • 불완전한 이벤트를 모니터링합니다. 즉시 프로비저닝을 다시 트리거할 수 있도록 감사 로그 스트리밍 및 이벤트에 대한 scim_api_incomplete 경고를 설정합니다.