GitHub 기본개념, 용어설명, FAQ
GitHub의 ‘Account’(계정)는 어떤것들이 있나요?
- GitHub.com 클라우드상의 ‘Account’, 즉 ‘계정’은 ‘Personal’과 ‘Organization’, 그리고 ‘Enterprise’로 나뉩니다.
- ‘Personal’은 개인 계정이며, ‘Organization’은 단체 계정, 그리고 ‘Enterprise’는 기업용 계정입니다.
- ‘Personal’ 계정은 무료, 또는 유료(Pro plan)로 사용할 수 있으며, 개인이 일반적인 웹사이트에 가입하는 것과 같은 개념의 ‘개인의 계정’을 의미합니다. (개인계정에 Private, Public Repository 무제한 생성 가능)
- ‘Organization’ 계정은 무료, 또는 유료로 사용할 수 있으며, 단체나 조직이 사용하는 계정입니다. (Organization 계정에 Private, Public Repository 무제한 생성 가능)
- 무료로 사용하는 Organization 계정은 오픈소스에서 사용하는 계정이며,
- 유료로 Organization을 사용하려면 ‘Team’라이센스, 혹은 ‘GitHub Enterprise’라이센스를 구매해야 합니다.
- 무료, Team, Enterprise 라이센스에 따라 사용할 수 있는 기능이 다릅니다. 기능 비교는 여기, 또는 GitHub Help에서 확인하세요.
- Team vs Enterprise 기능 비교 : 여기를 참조하세요.
- ‘Enterprise’계정은, GitHub의 기업용 라이센스인 ‘GitHub Enterprise’ 라이센스를 구매하여 사용하는 계정입니다. Enterprise 계정은, 그 밑에 여러개의 ‘Organization’을 생성할 수 있습니다. (Enterprise Account란)
- ‘Enterprise’ 밑에는 바로 Repository를 생성할 수 없으며, ‘Organization’을 생성하여 그 밑에 Repository를 생성할 수 있습니다.
Enterprise Account | OrgA ----- Org B --- Org C --- Org D.... | | | | repoA1 repoB1 repoC1 repoD1 repoA2 repoB2 repoC2 repoD2 ... ... ... ...
- 즉, 사용자들은 하나 이상의 Organization에 소속되어야 비로소 GitHub Enterprise를 사용할 수 있게 되며, GitHub Enterprise Cloud상에서는 사용자가 어느 Org에도 소속되어 있지 않은 상태면 ‘Unaffiliated’ 상태이며, GitHub Enterprise Cloud라면 라이센스를 사용하지 않습니다.
- Cloud의 경우, 기존에 유료, 또는 무료로 사용하던 Organization이 있다면, 해당 Organization을 ‘Enterprise’ 계정으로 이관할 수 있습니다.
- ‘Enterprise’는, ‘Cloud’와 ‘Server’로 나뉩니다. ‘Cloud’는 GitHub.com에서 제공하는 클라우드형 SaaS 서비스이며, ‘Server’는 온프렘에서 직접 설치하여 사용하는 서버형 서비스입니다.
- ‘Enterprise’ 밑에는 바로 Repository를 생성할 수 없으며, ‘Organization’을 생성하여 그 밑에 Repository를 생성할 수 있습니다.
GitHub Enterprise - ‘Cloud’와 ‘Server’의 차이는 무엇인가요?
항목 | GitHub Enterprise Cloud | GitHub Enterprise Server |
---|---|---|
설치 | GitHub.com 클라우드상 SaaS서비스 | 기업 관리자에 의해 온프렘에서 직접 설치 |
버전 업그레이드 | GitHub.com에서 자동 업그레이드 | 기업 관리자에 의해 직접 업그레이드 |
사용자 계정 | - GitHub.com '개인 계정을 Enterprise로 초대'하여 사용 - 혹은 기업의 인증서버(IdP)에 존재하는 '기업의 사용자 계정'을 직접사용 (EMU서비스인 경우 (EMU서비스란)) | 기업의 온프렘 내부 계정 사용 (기업의 내부 인증 서버 LDAP, SAML등 연동, 혹은 GHES내부에 직접 계정 생성) |
이중화 구성 | GitHub.com에서 자동으로 처리 | 기업 관리자에 의해 직접 구성 (GitHub Enterprise Server의 HA구성) |
백업 구성 | GitHub.com에서 자동으로 처리 | 기업 관리자에 의해 직접 구성 (GitHub Enterprise Server의 백업) |
저장소 | GitHub Enterprise Cloud 저장소 사용 | 온프렘 저장소 사용 |
GitHub Enterprise의 ‘멤버’는 어떻게 구성할 수 있나요?
항목 | GitHub Enterprise Cloud | GitHub Enterprise Server |
---|---|---|
멤버쉽 | Enterprise에 소속된 Organization들 중, 어느 하나의 Organization 또는 다수의 Organization에 소속된 사용자는 Enterprise의 멤버가 됩니다. | 온프렘 GHES에 LDAP, SAML등의 인증서버와 연동하여 사용자를 추가하거나, GHES내부에 직접 계정을 생성하여 사용합니다. |
사용자 계정 | - GitHub.com '개인 계정을 Enterprise로 초대'하여 사용 - 혹은 기업의 인증서버(IdP)에 존재하는 '기업의 사용자 계정'을 직접사용 (EMU서비스인 경우) | 기업의 온프렘 내부 계정 사용 (기업의 내부 인증 서버 LDAP, SAML등 연동, 혹은 GHES내부에 직접 계정 생성) |
멤버 구성 | - 개인계정 사용시: 'Enterprise' 하위의 'Organization'에 멤버를 초대 - EMU 사용시: Enterprise 레벨에서 기업 인증서버와 SSO 및 auto-provisioning으로 자동 구성 | 온프렘 GHES에 LDAP, SAML 인증을 통해 사용자가 로그인하거나, 관리자가 직접 계정 생성 |
SSO 설정 | Enterprise 레벨 또는 각 Organization 레벨에서 설정 가능 | 기업 관리자에 의해 기업 내부 인증서버(LDAP, SAML)와 연동 구성 설정 |
- GitHub Enterprise Cloud와 GitHub Enterprise Server의 계정은 별개의 것으로 서로 연동되지 않으며, 각각 별도로 존재하는 계정입니다.
GitHub Enterprise Cloud의 ‘사용자 계정’은 어떻게 구성되나요?
- GitHub Enterprise Cloud (GHEC)의 사용자 계정은 아래 테이블과 같이 ‘GitHub.com상의 개인 계정’을 초대하여 사용하는 경우와, ‘기업의 인증서버(IdP)에 존재하는 사용자 계정’을 직접 사용하는 경우로 나뉩니다.
- Enterprise Managed User서비스는, GitHub.com의 ‘개인계정’이 아닌, 기업의 인증서버에 존재하는 계정을 직접 사용하는 형태의 GitHub Enterprise Cloud 서비스 입니다. (설명 문서 참조)
사용자 계정 | 일반 GHEC 서비스 | EMU(Enterprise Managed User)서비스 |
---|---|---|
계정 | GitHub.com의 개인 계정을 Enterprise로 초대하여 사용 | 기업의 인증서버(IdP)에 존재하는 사용자 계정을 직접 사용 |
SSO 연동 | - SAML구성은 옵션. - GitHub Enterprise Cloud의 Enterprise 레벨, 혹은 각 Organization 레벨에서 개별 설정 가능 | Enterprise 레벨에서 기업의 인증서버 (IdP)와 반드시 연동 구성해야 함 |
Provisioning 구성(SCIM) | Organization 레벨에서만 설정 가능 | Enterprise 레벨에서만 구성 가능 |
지원 IdP 종류 | GitHub.com 설명페이지 | Azure AD, Okta, PingFederate |
GitHub Enterprise Cloud로 초대된 ‘개인계정’을 Enterprise 관리자가 control할 수 있나요?
- EMU가 ‘아닌’, 일반 GitHub Enterprise Cloud로 초대된 ‘개인계정’은, ‘개인계정’이므로, 해당 사용자가 직접 계정을 관리하며, Enterprise 관리자는 해당 계정에 대해 Enterprise에 소속된 Organization들로의 접근 권한을 부여할 수 있습니다.
- Enterprise의 멤버로 소속되더라도, ‘개인계정’은 여전히 개인의 소유이며, ‘개인계정’ 밑에 저장소(Public 및 Private)를 생성할 수 있으며, 이것을 Enterprise관리자가 제어할 수 없습니다.
- ‘개인계정’은 본인이 초대받은 Enterprise Organization으로 접근할 때, 만약 SAML SSO (해당 Enterprise의 인증서버와 연동된)가 설정되어 있다면, 해당 인증서버로 로그인하여 접근할 수 있습니다.
- EMU 서비스 내에서도 여전히 ‘기업계정’의 본인 계정이 있으며, 저장소를 생성할 수 있으나, ‘Private’저장소만 생성가능 합니다.
GitHub의 ‘Repository’ 종류는 어떤것이 있나요?
- GitHub의 Repository 타입은 ‘Public’, ‘Private’, ‘Internal’로 나뉩니다.
- ‘Public’은 누구나 볼 수 있는 오픈소스 저장소이며, ‘Private’는 특정 사용자만 볼 수 있는 비공개 저장소입니다.
- ‘Internal’은 ‘Enterprise’ 계정에서만 사용할 수 있는 저장소로, ‘Public’과 ‘Private’의 중간 형태로, ‘Enterprise’내의 사용자만 볼 수 있는 (Enterprise 내부에서만 Public 타입 저장소 처럼 동작하는) 저장소입니다. 즉, Internal 타입 저장소는, Enterprise 하위의 어떤 Organization에 속해 있더라도, Enterprise 내부의 모든 사용자가 볼 수 있는 저장소입니다.
저장소 타입 | Enterprise | Team 플랜 | Personal |
---|---|---|---|
Public | O | O | O |
Private | O | O | O |
Internal | O | X | X |