Skip to main content

์ด ๋ฒ„์ „์˜ GitHub Enterprise๋Š” ๋‹ค์Œ ๋‚ ์งœ์— ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 2025-04-03. ์ค‘์š”ํ•œ ๋ณด์•ˆ ๋ฌธ์ œ์— ๋Œ€ํ•ด์„œ๋„ ํŒจ์น˜ ๋ฆด๋ฆฌ์Šค๊ฐ€ ์ด๋ฃจ์–ด์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋” ๋›ฐ์–ด๋‚œ ์„ฑ๋Šฅ, ํ–ฅ์ƒ๋œ ๋ณด์•ˆ, ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์œ„ํ•ด ์ตœ์‹  ๋ฒ„์ „์˜ GitHub Enterprise Server๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•ฉ๋‹ˆ๋‹ค. ์—…๊ทธ๋ ˆ์ด๋“œ์— ๋Œ€ํ•œ ๋„์›€๋ง์€ GitHub Enterprise ์ง€์›์— ๋ฌธ์˜ํ•˜์„ธ์š”.

์ธ์ฆ ๋ฐฉ๋ฒ• ๋ณ€๊ฒฝ

์–ธ์ œ๋“ ์ง€ GitHub Enterprise Server๊ฐ€ ๊ธฐ์กด ๊ณ„์ •์œผ๋กœ ์ธ์ฆํ•˜๋Š” ๋ฐฉ์‹์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ธ์ฆ ๋ฐฉ๋ฒ•์„ ๋ณ€๊ฒฝํ•˜๋ฉด GitHub Enterprise Server ์ธ์Šคํ„ด์Šค์˜ ์‚ฌ์šฉ์ž ๊ณ„์ •์ด ์œ ์ง€๋˜๊ณ  ์‚ฌ์šฉ์ž ์ด๋ฆ„์ด ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š” ํ•œ ์‚ฌ์šฉ์ž๋Š” ๋™์ผํ•œ ๊ณ„์ •์— ๊ณ„์† ๋กœ๊ทธ์ธํ•ฉ๋‹ˆ๋‹ค.

์ƒˆ ์ธ์ฆ ๋ฐฉ๋ฒ•์ด ์‚ฌ์šฉ์ž ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•˜๋ฉด ์ƒˆ ๊ณ„์ •์ด ๋งŒ๋“ค์–ด์ง‘๋‹ˆ๋‹ค. ๊ด€๋ฆฌ์ž๋Š” ์‚ฌ์ดํŠธ ๊ด€๋ฆฌ์ž ์„ค์ •์„ ํ†ตํ•ด ๋˜๋Š” ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ณ ๋ คํ•ด์•ผ ํ•  ๊ธฐํƒ€ ๋ฌธ์ œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์•”ํ˜ธ: ์ธ์Šคํ„ด์Šค์— ๊ธฐ๋ณธ ์ œ๊ณต ์ธ์ฆ์„ ์‚ฌ์šฉํ•˜๋„๋ก ์ „ํ™˜ํ•˜๋Š” ๊ฒฝ์šฐ ๋ณ€๊ฒฝ์ด ์™„๋ฃŒ๋œ ํ›„ ์‚ฌ์šฉ์ž๊ฐ€ ์•”ํ˜ธ๋ฅผ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ์‚ฌ์ดํŠธ ๊ด€๋ฆฌ์ž: ๊ด€๋ฆฌ ๊ถŒํ•œ์€ SAML์„ ์‚ฌ์šฉํ•  ๋•Œ ID ๊ณต๊ธ‰์ž์— ์˜ํ•ด ์ œ์–ด๋˜๋ฉฐ LDAP๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๊ทธ๋ฃน ๋ฉค๋ฒ„ ์ž๊ฒฉ์œผ๋กœ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ํŒ€ ๋ฉค๋ฒ„ ์ž๊ฒฉ: LDAP๋งŒ ๋””๋ ‰ํ„ฐ๋ฆฌ ์„œ๋ฒ„์—์„œ ํŒ€ ๋ฉค๋ฒ„ ์ž๊ฒฉ์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์‚ฌ์šฉ์ž ์ผ์‹œ ์ค‘๋‹จ: LDAP๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆํ•˜๋Š” ๊ฒฝ์šฐ _์ œํ•œ๋œ ๊ทธ๋ฃน_์„ ํ†ตํ•ด GitHub Enterprise Server์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. LDAP๋กœ ์ „ํ™˜ํ•œ ํ›„ ์ œํ•œ๋œ ๊ทธ๋ฃน์ด ๊ตฌ์„ฑ๋œ ๊ฒฝ์šฐ ํ•ด๋‹น ๊ทธ๋ฃน ์ค‘ ํ•˜๋‚˜์— ์—†๋Š” ๊ธฐ์กด ์‚ฌ์šฉ์ž๊ฐ€ ์ผ์‹œ ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค. ์ผ์‹œ ์ค‘๋‹จ์€ ๋กœ๊ทธ์ธํ•  ๋•Œ ๋˜๋Š” ๋‹ค์Œ LDAP ๋™๊ธฐํ™” ์ค‘์— ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

  • ๊ทธ๋ฃน ๋ฉค๋ฒ„ ์ž๊ฒฉ: LDAP๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆํ•˜๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž๋Š” Active Directory์˜ ์ œํ•œ๋œ ๊ทธ๋ฃน ๋ฉค๋ฒ„ ์ž๊ฒฉ ๋ฐ ๊ณ„์ • ์ƒํƒœ์— ๋”ฐ๋ผ ์ž๋™์œผ๋กœ ์ผ์‹œ ์ค‘๋‹จ๋˜๊ณ  ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • Git ์ธ์ฆ: SAML ๋ฐ CAS๋Š” personal access token์„(๋ฅผ) ์‚ฌ์šฉํ•˜๋Š” HTTP ๋˜๋Š” HTTPS๋ฅผ ํ†ตํ•œ Git ์ธ์ฆ๋งŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. HTTP ๋˜๋Š” HTTPS๋ฅผ ํ†ตํ•œ ์•”ํ˜ธ ์ธ์ฆ์€ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. LDAP๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์•”ํ˜ธ ๊ธฐ๋ฐ˜ Git ์ธ์ฆ์„ ์ง€์›ํ•˜์ง€๋งŒ ํ•ด๋‹น ๋ฐฉ๋ฒ•์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  personal access token ๋˜๋Š” SSH ํ‚ค๋ฅผ ํ†ตํ•ด ์ธ์ฆ์„ ๊ฐ•์ œ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

  • API ์ธ์ฆ: SAML ๋ฐ CAS๋Š” personal access token์„(๋ฅผ) ์‚ฌ์šฉํ•˜๋Š” API ์ธ์ฆ๋งŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ธ์ฆ์€ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • 2๋‹จ๊ณ„ ์ธ์ฆ: SAML ๋˜๋Š” CAS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ GitHub Enterprise Server ์ธ์Šคํ„ด์Šค์—์„œ 2๋‹จ๊ณ„ ์ธ์ฆ์ด ์ง€์›๋˜๊ฑฐ๋‚˜ ๊ด€๋ฆฌ๋˜์ง€ ์•Š์ง€๋งŒ ์™ธ๋ถ€ ์ธ์ฆ ๊ณต๊ธ‰์ž๋Š” ์ง€์›ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์กฐ์ง์— ๋Œ€ํ•œ 2๋‹จ๊ณ„ ์ธ์ฆ ์ ์šฉ์€ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์กฐ์ง์˜ 2๋‹จ๊ณ„ ์ธ์ฆ์„ ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์กฐ์ง์—์„œ 2๋‹จ๊ณ„ ์ธ์ฆ ์š”๊ตฌ์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.

  • ์™ธ๋ถ€ ์ธ์ฆ ๊ณต๊ธ‰์ž์— ๊ณ„์ •์ด ์—†๋Š” ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ๋Œ€์ฒด ์ธ์ฆ: ์‚ฌ์šฉ์ž๋ฅผ ID ๊ณต๊ธ‰์ž์— ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๊ณ  GitHub Enterprise Server ์ธ์Šคํ„ด์Šค์— ์ธ์ฆํ•˜๋„๋ก ์ดˆ๋Œ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๊ณต๊ธ‰์ž ์™ธ๋ถ€ ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ธฐ๋ณธ ์ œ๊ณต ์ธ์ฆ ํ—ˆ์šฉ์„(๋ฅผ) ์ฐธ์กฐํ•˜์„ธ์š”.