๊น๋ฉ์ OmniAuth๋ผ๋ ๋ชจ๋์ ๋ด์ฅํ์ฌ SSO(Single Sign On)์ ์ ๊ณตํฉ๋๋ค. ์ด๋ก ์ธํด ๋งค์ฐ ๋ค์ํ ์ธ์ฆ ํ๋ก๋ฐ์ด๋๋ฅผ ์ง์ํ๊ณ ์์ต๋๋ค. https://docs.gitlab.com/ee/integration/omniauth.html#supported-providers
์ด ๋ฌธ์์์๋ ์ด ๋ชฉ๋ก ์ค ๋ง์ดํฌ๋ก์ํํธ์ ๊ณ์ ์ ์ด์ฉํ ์ ์๋ "Azure V2 ํ๋ก๋ฐ์ด๋"์์ SSO ์ค์ ์ ์ค๋ช ํฉ๋๋ค. ์ฌ๊ธฐ์์ SSO๋ MS ๊ณ์ ์ ๊ฐ์ง๊ณ ๊น๋ฉ์ ์ ์ ๋ฅผ ๋ฑ๋กํ๊ฑฐ๋ ๊ธฐ์กด ๋ฑ๋ก๋ ์ ์ ์ ์ฐ๊ฒฐํด์ ๋ก๊ทธ์ธ์ ํ ์ ์๋๋ก ํ๋ ๊ฒ์ ๋๋ค.
์๊ฒฉ
์ดํ์ ์์ ์ ํ๋๋ฐ ์์ด์๋ ๋ค์์ ์กฐ๊ฑด์ด ํ์ํฉ๋๋ค.
- MS ๊ณ์ ์ ๊ด๋ฆฌ์ ๊ถํ ๋ณด์
- ๊น๋ฉ ์๋ฒ์ ssh๋ก ์ ์ํ ์ ์๊ณ root ๊ถํ์ผ๋ก ๋ช ๋ น์ ์คํํ ์ ์๋ ์ํ
Azure Active Directory ์ค์
๊น๋ฉ์์ MS ๊ณ์ ์ ๋ํ SSO๋ฅผ ์ด์ฉํ๋ค๋ ๊ฒ์ MS์ ์ธ์ฆ ํ๋ก๋ฐ์ด๋๋ฅผ ์ด์ฉํ๋ค๋ ์๊ธฐ์ ๊ฐ์ต๋๋ค. ์ด ์ธ์ฆ ํ๋ก๋ฐ์ด๋๋ Azure Active Directory(์ดํ Azure AD)์ ๊ธฐ๋ฅ์ผ๋ก ์ ๊ณต๋ฉ๋๋ค. ์ด ๊ธฐ๋ฅ์ ์ด์ฉํ๊ธฐ ์ํด์๋ ๋จผ์ ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ฑ๋กํด์ผ ํฉ๋๋ค. ์์ธํ ์ค์ ์ https://docs.microsoft.com/ko-kr/azure/active-directory/develop/quickstart-register-app์ ์ฐธ์กฐํ๊ธฐ ๋ฐ๋๋๋ค.
์ค์ ์ ๊ธฐ๋ณธ ํ๋ฉด์ ๋ค์์ ๋จ๊ณ๋ก ๋ค์ด๊ฐ ์ ์์ต๋๋ค.
- Azure Portal์ ๋ก๊ทธ์ธ
- "Azure Active Directory ๊ด๋ฆฌ" ํด๋ฆญ
์ฑ ๋ฑ๋ก
์ฑ๋ฑ๋ก์ ๋ค์์ ๊ณผ์ ์ ๊ฑฐ์นฉ๋๋ค.
- ๋ฉ๋ด์์ "์ฑ ๋ฑ๋ก"์ ์ ํ
- "์ ๋ฑ๋ก"์ ํด๋ฆญ
- ์ดํ๋ฆฌ์ผ์ด์
์ ๋ฑ๋ก
- ์ด๋ฆ์๋ "๊น๋ฉ" ์ ๋ ฅ. (๋ค๋ฅธ ์ด๋ฆ๋ ๊ฐ๋ฅ)
- ์ง์๋๋ ๊ณ์ ์ ํ์๋ "์ด ์กฐ์ง ๋๋ ํฐ๋ฆฌ์ ๊ณ์ ๋ง(ITMSG๋ง - ๋จ์ผ ํ ๋ํธ)" ์ ํ
- ๋ฆฌ๋๋ ์ URI์๋ ์น์ ์ ํํ๊ณ https://gitlab.example.com/users/auth/azure_activedirectory_v2/callback ์ ๋ ฅ
ํด๋ผ์ด์ธํธ ์ํธ ์์ฑ
์ฑ๋ฑ๋ก์ ๋ง์น๋ฉด ์์ธ ์ค์ ํ๋ฉด์ด ๋์ต๋๋ค. ๋ค์์ ๊ณผ์ ์ ๊ฑฐ์ณ์ ํด๋ผ์ด์ธํธ ์ํธ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
- ๋ฉ๋ด์์ "์ธ์ฆ์ ๋ฐ ์ํธ" ์ ํ
- "์ ํด๋ผ์ด์ธํธ ์ํธ" ์ ํ
- "์ค๋ช "๊ณผ "๋ง๋ฃ์๊ฐ"์ ์ ๋ ฅ ํน์ ํ์ธํ๊ณ ์ถ๊ฐ ํด๋ฆญ
์ ๊ณผ์ ์ ๊ฑฐ์น๋ฉด ์ํธ๊ฐ ์์ฑ๋๋๋ฐ ์ด๋ ๊ฐ์ ๋ณต์ฌํด์ ๋ฉ๋ชจ์ฅ ๋ฑ์ ๋ณด๊ดํด ๋์ด์ผ ํฉ๋๋ค. ํ๋ฉด ์ ํ ํ์๋ ๋์ด์ ๊ฐ์ ๋ณผ ์ ์์ต๋๋ค. (๋ณด์์์ ์ด์ )
API ์ฌ์ฉ๊ถํ ์ค์
SSO ๋ก๊ทธ์ธ ๊ณผ์ ์์ ๊น๋ฉ์ด ํ์ํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋๋ก ์ค์ ํด ์ฃผ์ด์ผ ํฉ๋๋ค. ๊น๋ฉ์ email, openid, profile ์ ๋ํ ์ ๊ทผ ๊ถํ์ด ํ์ํฉ๋๋ค. ๋ค์์ ๊ณผ์ ์ ํตํด ์ฌ์ฉ ๊ถํ์ ๋ถ์ฌํฉ๋๋ค.
- ๋ฉ๋ด์์ "API ์ฌ์ฉ ๊ถํ" ์ ํ
- "๊ถํ ์ถ๊ฐ" ์ ํ
- "Microsoft Graph" ์ ํ
- "์์๋ ๊ถํ" ์ ํ
- "OpenId ๊ถํ"์์ email, openid, profile ์ ํ
- ๋งจ๋ฐ์ "๊ถํ์ถ๊ฐ" ๋ฒํผ ํด๋ฆญ
๊ถํ์ ์ถ๊ฐํ ์ดํ "ITMSG์ ๋ํ ๊ด๋ฆฌ์ ๋์ ํ์ฉ"์ ํด๋ฆญํ๊ณ ๊ถํ ๋ถ์ฌ์ ๋์ํด์ฃผ์ด์ผ ํฉ๋๋ค. ์ด ์์ ์ ITMSG ๊ทธ๋ฃน์ ๋ํ ๊ด๋ฆฌ์ ๊ถํ์ด ์์ด์ผ ๊ฐ๋ฅํฉ๋๋ค.
์ฌ๊ธฐ๊น์ง ์ค์ ํ๋ฉด Azure AD์ ๋ํ ๋ชจ๋ ์ค์ ์ ๋์ด ๋ฉ๋๋ค. ์ด ์ค์ ์ ์ํด ์์ฑ๋ ์ ๋ณด ์ค "๊ฐ์" ์์ ๋ณผ ์ ์๋ "์ ํ๋ฆฌ์ผ์ด์ (ํด๋ผ์ด์ธํธ) ID"์ "๋๋ ํฐ๋ฆฌ(ํ ๋ํธ) ID", ํด๋ผ์ด์ธํธ ์ํธ ์์ฑ์์ ์์ฑํ ์ํธ๋ ๊น๋ฉ ์ค์ ์์ ์ด์ฉ๋๊ธฐ ๋๋ฌธ์ ๋ฐ๋ก ๋ฉ๋ชจํด ๋์์ผ ํฉ๋๋ค.
๊น๋ฉ ์ค์
์ด์ ๊น๋ฉ์์ Azure AD๋ฅผ ์ด์ฉํ ๋ก๊ทธ์ธ์ ํ์ฑํ ์์ผ ์ฃผ์ด์ผ ํฉ๋๋ค. /etc/gitlab/gitlab.rb ํ์ผ์ ๋ค์์ ์ค์ ์ ์ถ๊ฐํด ์ค๋๋ค.
gitlab_rails['omniauth_allow_single_sign_on'] = ['azure_activedirectory_v2']
gitlab_rails['omniauth_block_auto_created_users'] = false
gitlab_rails['omniauth_providers'] = [
{
"name" => "azure_activedirectory_v2",
"args" => {
"client_id" => "[์ ํ๋ฆฌ์ผ์ด์
(ํด๋ผ์ด์ธํธ) ID]",
"client_secret" => "[ํด๋ผ์ด์ธํธ ์ํธ]",
"tenant_id" => "[๋๋ ํฐ๋ฆฌ(ํ
๋ํธ) ID]"
}
}
]
์ค์ ์ด ๋ณ๊ฒฝ๋๋ฉด,
sudo gitlab-ctl reconfigure
๋ช ๋ น์ด๋ก ์ค์ ์ ๋ฐ์ํด ์ค๋๋ค.
์์ธํ ๋ด์ฉ์ https://docs.gitlab.com/ee/integration/azure.html#microsoft-azure-oauth2-omniauth-provider-v2 ์ฐธ์กฐ.
Use Microsoft Azure as an authentication provider | GitLab
Documentation for GitLab Community Edition, GitLab Enterprise Edition, Omnibus GitLab, and GitLab Runner.
docs.gitlab.com
[Ubuntu] ์ฐ๋ถํฌ ์๋ฒ ์ธํ
[Ubuntu] ์ฐ๋ถํฌ ์๋ฒ ์ธํ
์ฐ๋ถํฌ(Ubuntu)์๋ฒ์ ๋ฆฌ๋ ์ค(Linux)์ค์น๋ฅผ ๊ธฐ๋ก ๋ชฉ์ ์ผ๋ก ์ ๋ฆฌ ๋ฐ ์์ฑ ํ๊ฒ ์ต๋๋ค. ๊ฐ๋จํ๊ฒ ์ ๋ฆฌํ์๋ ๋ชฉ์ ์ด๋ผ ์์ธํ๊ฒ ์ ๋ฆฌ๋์ด ์์ง๋ ์์ ๊ฒ๋๋ค. ํ์ํ ๋ถ๋ถ์ ๋ฆฌ์์นญ์ ํตํด ์ฑ์์ฃผ์
sm-code.tistory.com
[GitLab] ๊น๋ฉ ์ฐ๋ถํฌ(Ubuntu)์๋ฒ์ ์ธํ
[GitLab] ๊น๋ฉ ์ฐ๋ถํฌ(Ubuntu)์๋ฒ์ ์ธํ
์ฐ๋ถํฌ(Ubuntu) OS์์ ๊น๋ฉ(GitLab) ์ค์น๋ฅผ ์งํํ๊ฒ ๋์ด ๊ธฐ๋ก ๋ชฉ์ ์ผ๋ก ์์ฑ๋ ๊ธ์ ๋๋ค. GitLab ์ค์น ๋ฐฉ๋ฒ์ ์ฐพ์๋ณธ ๊ฒฐ๊ณผ, ์ค์น๋ฐฉ์์ด ๋ณ๊ฒฝ๋๋ ์ด์๊ฐ ์ข ์ข ๋ฐ์ํ๋ ์ฐธ๊ณ ์ฉ์ผ๋ก๋ง ํ์ธํ์ ์ผ ํฉ
sm-code.tistory.com
[GitLab] ๊น๋ฉ ๋ก๊ทธ์ธ ํ๋ฉด ์ปค์คํฐ๋ง์ด์ง
[GitLab] ๊น๋ฉ ๋ก๊ทธ์ธ ํ๋ฉด ์ปค์คํฐ๋ง์ด์ง
๊น๋ฉ(GitLab)์์ ๋ก๊ทธ์ธ ํ๋ฉด ์ปค์คํฐ๋ง์ด์ง์ ํตํด ์ ๋ง์ ๋ง๊ฒ ๋ณ๊ฒฝํ๊ณ ์ถ์๋ฐ ์๊ฐ์ธ๋ก ์๋ฃ๊ฐ ๋ง์ง ์์์ ๊ธฐ๋ก ๋ชฉ์ ์ผ๋ก ์์ฑ๋์์ผ๋ฏ๋ก ์ฐธ๊ณ ์ฉ์ผ๋ก๋ง ๋ด์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค. ์ค์ ๋ฐฉ
sm-code.tistory.com
[GitLab] ๊น๋ฉ SSL์ ์ฉ ๋ฐ ์๋๊ฐฑ์
[GitLab] ๊น๋ฉ SSL์ ์ฉ ๋ฐ ์๋๊ฐฑ์
๊น๋ฉ(GitLab)์ ์ค์ ์ด์ํ๊ธฐ ์ํด์ ๋๋ฉ์ธ๊ณผ SSL๋ฑ๋ก์ ์งํํ์๊ณ , ๊ทธ ๊ณผ์ ์ ๊ธฐ๋กํ๋ ๋ชฉ์ ์ผ๋ก ์์ฑํ์ต๋๋ค. ๋ ์ข์ ๋ฐฉ๋ฒ์ผ๋ก ํ์ ๋ ๋ฌด๋ฐฉํฉ๋๋ค. ์ด ๊ธ์ ์ฐธ๊ณ ์ฉ์ผ๋ก๋ง ๋ด์ฃผ์๊ธธ ๋ฐ๋๋
sm-code.tistory.com
'DevOps > Git' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Git Error] fatal; detected dubious ownership in repository at ํด๊ฒฐ ๋ฐฉ๋ฒ (0) | 2024.02.21 |
---|---|
[Git] ๊น ํ๋ก์ฐ(Git Flow) ๋? (0) | 2023.02.05 |
[GitLab] ๊น๋ฉ SSL์ ์ฉ ๋ฐ ์๋๊ฐฑ์ (0) | 2023.02.04 |
[GitLab] ๊น๋ฉ ๋ก๊ทธ์ธ ํ๋ฉด ์ปค์คํฐ๋ง์ด์ง (0) | 2023.02.04 |
[GitLab] ๊น๋ฉ ์ฐ๋ถํฌ(Ubuntu)์๋ฒ์ ์ธํ (0) | 2023.02.04 |