GitHub 관리란?

완료됨

GitHub 관리자의 목표는 사용자의 모든 작업을 원활하게 유지하는 것입니다. 이 단원에서는 GitHub 조직 계층 구조의 다양한 수준 및 각 수준과 관련된 관리 작업에 대해 알아봅니다.

팀 수준의 관리

Teams 탭이 강조 표시된 조직 화면의 스크린샷.

GitHub에서 각 사용자는 팀에 추가할 수 있는 조직 구성원입니다. 회사 또는 그룹의 구조를 반영하여 연계 액세스 권한 및 멘션으로 조직에서 팀을 만들 수 있습니다. 팀은 보다 세부적인 수준에서 리포지토리 권한을 구체화하고 팀 구성원 간의 통신 및 알림을 활성화하는 데 유용한 하위 구조입니다.

또한 GitHub를 사용하면 팀을 Microsoft Entra ID와 같은 IdP(ID 공급자) 그룹과 동기화할 수 있습니다. GitHub 팀을 Microsoft Entra ID와 동기화하면 변경 내용을 GitHub에 자동으로 복제할 수 있습니다. 이 동기화를 통해 수동 업데이트와 사용자 지정 스크립트의 필요성이 줄어듭니다. 이 기능을 사용하려면 GitHub Enterprise Cloud 및 확인된 도메인이 필요합니다. 팀 동기화와 함께 Microsoft Entra ID를 사용하여 새 멤버 온보딩, 새 권한 부여, 조직에 대한 멤버 액세스 제거와 같은 관리 작업을 관리할 수 있습니다.

‘팀 유지 관리자’ 또는 리포지토리 ‘관리자’ 권한이 있는 팀 구성원은 다음을 수행할 수 있습니다.

  • 새 팀을 만들고 부모 팀을 선택하거나 변경합니다.
  • 팀을 삭제하거나 팀 이름을 바꿉니다.
  • 팀에서 조직 구성원을 추가 또는 제거하거나 GitHub 팀의 구성원 자격을 IdP 그룹과 동기화합니다.
  • 팀 리포지토리에서 외부 협력자(컨설턴트 또는 임시 직원과 같이 명시적으로 조직의 구성원이 아닌 사람)를 추가하거나 제거합니다.
  • 팀 페이지에서 팀 토론을 사용하거나 사용하지 않도록 설정합니다.
  • 조직 내 팀의 표시 여부를 변경합니다.
  • GitHub의 검토 할당 라우팅 알고리즘을 활용하여 끌어오기 요청에 대한 자동 코드 검토 할당을 관리합니다.
  • 미리 알림을 예약합니다.
  • 팀 프로필 사진을 설정합니다.

팀 수준 관리 모범 사례

조직에 팀을 만들면 더 유연하게 협업할 수 있으며 리포지토리와 사용 권한을 구분하기가 더 쉬워집니다. 다음은 GitHub 팀 설정에 대한 몇 가지 모범 사례입니다.

  • GitHub 조직 내에서 그룹 또는 회사의 계층 구조를 반영하는 중첩된 팀을 만듭니다.
  • 관심사 또는 특정 기술(JavaScript, 데이터 과학 등)을 기반으로 팀을 만들어 PR 검토 프로세스를 간소화할 수 있습니다. 개인은 관심사 또는 기술에 따라 이러한 팀에 참가할 수 있습니다.
  • IdP와 GitHub 간의 팀 동기화를 사용하도록 설정하면 조직 소유자와 팀 유지 관리자가 조직 내 팀을 IdP 그룹과 연결할 수 있습니다. GitHub 팀을 IdP 그룹과 동기화하면 변경 사항이 GitHub에 자동으로 복제되어 수동 업데이트 및 사용자 지정 스크립트에 대한 필요성이 줄어듭니다. IdP를 팀 동기화와 함께 사용하여 새 구성원 온보딩, 새로운 권한 부여, 조직에 대한 구성원 액세스 제거와 같은 관리 작업을 관리할 수 있습니다.

조직 수준의 관리

GitHub에서 조직은 사용자가 한 번에 여러 프로젝트 전반에 걸쳐 협업할 수 있도록 하는 공유 공간입니다. 소유자 및 관리자는 정교한 보안 및 관리 기능을 사용하여 조직의 데이터와 리포지토리에 대한 구성원 액세스를 관리할 수 있습니다.

‘소유자’ 권한이 있는 조직 구성원은 조직 수준에서 다양한 활동을 수행할 수 있습니다.

  • 조직에 참가하도록 사용자를 초대하고 조직에서 멤버를 제거합니다.
  • 사용자를 팀으로 구성하고 조직 구성원에게 팀 유지 관리자 권한을 부여합니다.
  • 조직 리포지토리에서 외부 협력자(컨설턴트 또는 임시 직원과 같이 명시적으로 조직의 구성원이 아닌 사람)를 추가하거나 제거합니다.
  • 멤버에 리포지토리 권한 수준을 부여하고 지정된 리포지토리에 대한 기본 권한 수준(기본값)을 설정합니다.
  • 조직 보안을 설정합니다.
  • 조직의 청구를 설정하거나 청구 관리자를 할당합니다.
  • 사용자 지정 스크립트를 사용하여 리포지토리에 대한 다양한 유형의 정보를 추출합니다.
  • 사용자 지정 스크립트를 사용하여 마이그레이션과 같은 조직 전체 변경 사항을 적용합니다.

사용자 및 리포지토리에 대해 하나의 조직만 설정하는 것이 좋습니다. 회사의 특정 제약 조건에 따라 여러 조직을 만들어야 하는 경우 다음 사항에 유의해야 합니다.

  • 조직을 복제하거나 두 조직 간에 구성을 공유할 수 없습니다. 즉, 조직을 만들 때마다 처음부터 모든 것을 설정해야 하며, 이로 인해 설정에서 오류가 발생할 위험이 증가합니다.
  • 소프트웨어 공급자의 정책에 따라 여러 조직에 일부 애플리케이션을 설치해야 하는 경우 추가 비용이 발생할 수 있습니다.
  • 여러 조직을 관리하면 복잡성과 설정 시간이 더 늘어나게 됩니다.

엔터프라이즈 수준의 관리

엔터프라이즈 계정에는 GitHub Enterprise Cloud 및 Enterprise Server 인스턴스가 포함되며 소유자가 여러 조직에 대한 정책 및 청구를 중앙에서 관리할 수 있습니다.

엔터프라이즈 수준에서 소유자 권한이 있는 엔터프라이즈 멤버는 다음을 수행할 수 있습니다.

  • 각 엔터프라이즈 구성원이 IdP의 외부 ID를 기존 GitHub 계정에 연결할 수 있도록 해당 엔터프라이즈 계정에 SAML(보안 어설션 태그 언어) Single Sign-On을 사용하도록 설정합니다.
  • 엔터프라이즈에서 조직을 추가하거나 제거합니다.
  • 엔터프라이즈의 모든 조직에 대해 청구를 설정하거나 청구 관리자를 할당합니다.
  • 엔터프라이즈의 모든 조직, 리포지토리, 구성원에 적용되는 리포지토리 관리 정책, 프로젝트 보드 정책, 팀 정책과 기타 보안 설정을 지정합니다.
  • 사용자 지정 스크립트를 사용하여 조직에 대한 다양한 유형의 정보를 추출합니다.
  • 사용자 지정 스크립트를 사용하여 마이그레이션과 같은 엔터프라이즈 전체 변경 사항을 적용합니다.
  • 해당하는 경우 GitHub Connect를 사용하여 GitHub Enterprise Server를 GitHub.com 통합합니다.

자세한 정보

GitHub Docs의 중첩된 팀에 대해 자세히 알아보세요.