Skip to main content

GitHub 정보

GitHub 커넥터는 GitHub 조직에서 리포지토리 메타데이터, 브랜치 보호, 팀 멤버십, 조직 설정, 감사 로그 및 관련 보안 구성을 읽습니다. 이 데이터는 Iru Compliance에서 작업 및 컨트롤에 매핑할 수 있는 아티팩트로 표시됩니다. 통합은 읽기 전용입니다. Iru는 부여한 범위에 대해 GitHub API가 허용하는 범위를 넘어 풀 리퀘스트를 열거나, 설정을 변경하거나, 리포지토리를 수정하지 않습니다.

작동 방식

Iru는 Bearer 토큰으로 전송되는 **개인 액세스 토큰(PAT)**을 사용하여 GitHub REST API를 호출합니다.
Fine-grained PAT(권장)를 사용하면 리포지토리와 권한의 범위를 좁게 지정할 수 있습니다. Classic PAT도 작동하지만 범위가 더 넓고 최소 권한을 적용하기 어렵습니다. 조직에서 SAML SSO를 적용하는 경우, PAT를 생성한 후 조직에 대해 PAT를 승인해야 합니다. 그렇지 않으면 조직 수준 데이터에 대한 API 호출이 실패합니다. 공식 참고 자료: Managing personal access tokens, REST authentication, Rate limits.

사전 요구 사항

  • Iru가 읽을 조직의 멤버(또는 소유자)로서의 GitHub 액세스 권한.
  • 감사 로그와 조직 전체 보안 설정이 필요한 경우(컴플라이언스 프로그램의 요구 사항에 따라) 해당 조직에 대한 소유자 액세스 권한.
  • 아래 표에 맞는 읽기 권한을 가진 PAT(fine-grained PAT 기준).
최소 fine-grained PAT 권한(일반적인 경우) 컨트롤에 추가 읽기 범위가 필요한 경우에만 권한을 늘리세요.

GitHub를 Iru에 연결

Fine-grained 개인 액세스 토큰 생성

1

Developer settings 열기

GitHub에 로그인합니다. 프로필 사진 → 설정 → Developer settings → Personal access tokens → Fine-grained tokens를 선택합니다.
2

새 토큰 생성

Generate new token을 선택합니다.
3

이름, 만료 및 리소스 범위 설정

명확한 이름(예: Iru Compliance)과 만료 기간을 설정합니다(fine-grained PAT는 최대 366일까지 사용할 수 있으므로 미리 교체할 수 있도록 알림을 설정하세요). 조직 수준 데이터가 필요한 경우 Resource owner에서 조직을 선택합니다. Repository access에서 All repositories 또는 컴플라이언스 대상 리포지토리만 선택합니다.
4

리포지토리 및 조직 권한 설정

권한에서 위의 사전 요구 사항에 나열된 리포지토리 및 조직 읽기 권한을 최소한 활성화합니다.
5

토큰 생성 및 복사

토큰을 생성하고 즉시 복사합니다. 토큰은 한 번만 표시됩니다.
6

SAML SSO 승인(필요한 경우)

조직에서 SAML SSO를 사용하는 경우 설정 → Developer settings → Personal access tokens를 열고 토큰을 찾아 Configure SSO를 선택한 다음 조직에 대해 Authorize합니다.

Iru에서 커넥터 설정 완료

1

소스 열기

Iru Compliance의 왼쪽 탐색 모음에서 컴플라이언스를 펼치고 소스를 선택합니다.
왼쪽 탐색: Compliance가 펼쳐지고 Sources가 선택됨
2

GitHub 켜기

GitHub를 찾습니다(범주 또는 이름 또는 설명으로 검색 사용). 해당 카드에서 토글을 켭니다. 새 탭에서 커넥터 마법사가 열립니다.
3

개인 액세스 토큰 붙여넣기

Bearer 토큰 단계가 표시되면 PAT를 Token 필드에 붙여넣고 제출합니다.
4

연결 완료

Bearer 토큰 제출을 선택합니다. 연결에 성공하면 마법사에 연결 구성됨이 표시됩니다.
5

소스가 활성인지 확인

Iru가 외부 서비스에 대한 액세스를 요청하고 있습니다 브라우저 탭을 닫은 다음 컴플라이언스 → 소스로 돌아가 GitHub 카드가 활성인지 확인합니다.

문제 해결

Iru 사이트에 대한 팝업 차단 설정을 확인한 후 다시 시도하세요.
PAT가 전부 복사되었는지, 만료되지 않았는지, 취소되지 않았는지 확인하세요.
조직 전체를 읽으려면 PAT의 resource owner가 개인 계정만이 아니라 조직이어야 합니다. 필요한 경우 새 PAT를 생성하세요.
SAML SSO에 대해 PAT를 승인하세요(Fine-grained 개인 액세스 토큰 생성 참조).
컨트롤에 필요한 리포지토리 및 조직 권한으로 PAT를 다시 생성하세요.
인증된 REST 요청은 GitHub의 속도 제한을 공유합니다(GitHub 문서 참조). Iru는 해당 제한 내에서 작업을 일괄 처리하지만, 지속적인 급증은 동기화를 지연시킬 수 있습니다.

고려 사항

가장 작은 범위의 fine-grained PAT를 권장합니다…

컨트롤을 충족하는 범위 내에서 가장 작은 리포지토리 집합과 읽기 범위를 가진 fine-grained PAT를 사용하는 것이 좋습니다.

만료 전에 PAT를 교체하고 커넥터를 업데이트하세요…

증거 수집이 중단되지 않도록 만료 전에 PAT를 교체하고 커넥터를 업데이트하세요.

Iru는 허용된 API가 노출하는 메타데이터와 구성을 읽습니다…

Iru는 허용된 API가 노출하는 메타데이터와 구성을 읽으며, 조직에서 적용하는 GitHub 권한을 우회하지 않습니다.

관련 문서

Sources 관리

모든 Compliance 소스를 찾아보고 관리합니다.

Compliance 시작하기

프레임워크, 작업 및 아티팩트.

Iru 개요

Endpoint, Compliance 및 Identity가 함께 작동하는 방식.

Artifacts 관리

소스 및 작업에서 수집한 증거를 업로드, 검토 및 정리합니다.