Skip to main content

SAML Single Sign-On을 사용하는 ID 및 액세스 관리 정보

IdP(ID 공급자)를 사용하여 사용자 ID 및 애플리케이션을 중앙에서 관리하는 경우 GitHub에서 조직의 리소스를 보호하도록 SAML(Security Assertion Markup Language) SSO(Single Sign-On)를 구성할 수 있습니다.

참고: SAML Single Sign-On을 사용하려면 조직에서 GitHub Enterprise Cloud를 사용해야 합니다. GitHub Enterprise Cloud를 체험해 보는 방법에 대한 자세한 내용은 “GitHub Enterprise Cloud 평가판 설정”을 참조하세요.

SAML SSO 정보

SAML SSO(Single Sign-On)를 사용하면 GitHub Enterprise Cloud를 사용하는 조직 소유자 및 엔터프라이즈 소유자가 리포지토리, 이슈, 끌어오기 요청 등의 조직 리소스에 대한 액세스를 제어하고 보호할 수 있습니다.

SAML SSO를 구성하는 경우 조직 멤버는 GitHub.com에서 개인 계정에 계속 로그인합니다. 멤버가 조직 내 가장 많은 리소스에 액세스하면 GitHub는 인증을 위해 멤버를 IdP로 리디렉션합니다. 인증에 성공하면 IdP는 멤버를 GitHub로 다시 리디렉션합니다. 자세한 내용은 "SAML Single Sign-On을 사용한 인증 정보"을 참조하세요.

참고: SAML SSO는 GitHub에 대한 일반 로그인 프로세스를 대체하지 않습니다. Enterprise Managed Users을(를) 사용하지 않는 한 멤버는 GitHub.com에서 자신의 개인 계정에 계속 로그인하고 각 개인 계정은 IdP의 외부 ID에 연결됩니다.

특정 방식으로 공용 리포지토리에 액세스하는 데 IdP 인증이 필요하지 않습니다.

  • GitHub에서 리포지토리의 개요 페이지 및 파일 콘텐츠 보기
  • 리포지토리 포크
  • 리포지토리 복제와 같은 Git을 통해 읽기 작업 수행

문제 보기, 끌어오기 요청, 프로젝트 및 릴리스와 같은 공용 리포지토리에 대한 다른 액세스에는 인증이 필요합니다.

Note: 외부 협력자에겐 SAML 인증이 필요하지 않습니다. 외부 협력자에 대한 자세한 내용은 "조직의 역할"을(를) 참조하세요.

조직 소유자가 개별 조직에 SAML SSO를 적용하거나, 엔터프라이즈 소유자가 엔터프라이즈 계정의 모든 조직에 SAML SSO를 적용할 수 있습니다. 자세한 내용은 "ID 및 액세스 관리 정보" 및 "엔터프라이즈에 대한 SAML Single Sign-On 구성"을(를) 참조하세요.

조직에 SAML SSO를 사용하도록 설정하기 전에 IdP를 조직에 연결해야 합니다. 자세한 내용은 "ID 공급자를 조직에 연결"을 참조하세요.

조직의 경우 SAML SSO를 사용하지 않도록 설정하거나, 사용하도록 설정하지만 적용하지 않거나, 사용하도록 설정하고 적용할 수 있습니다. 조직에 SAML SSO를 사용하도록 설정하고 조직의 구성원이 IdP를 사용하여 성공적으로 인증하면, SAML SSO 구성을 적용할 수 있게 됩니다. GitHub 조직에 SAML SSO를 적용하는 대한 자세한 내용은 "조직에 SAML SSO(Single Sign-On) 적용"을(를) 참조하세요.

구성원은 IdP를 이용해 주기적으로 인증하여 조직의 리소스를 인증하고 액세스 권한을 얻어야 합니다. 로그인 기간은 IdP에 의해 지정되며 일반적으로 24시간입니다. 이러한 주기적인 로그인 요구 사항은 액세스 기간을 제한하며, 사용자는 계속하려면 자신을 다시 식별해야 합니다.

명령줄에서 API 및 Git을 사용하여 조직의 보호된 리소스에 액세스하려면 구성원은 personal access token 또는 SSH 키를 사용하여 권한을 부여하고 인증해야 합니다. 자세한 내용은 "SAML Single Sign-On에 사용할 개인용 액세스 토큰 권한 부여" 및 "SAML Single Sign-On에 사용할 SSH 키 권한 부여"을(를) 참조하세요.

구성원이 처음으로 SAML SSO를 사용하여 조직에 액세스하면 GitHub에서 자동으로 조직, 구성원의 GitHub.com 계정, 구성원의 IdP 계정을 연결하는 레코드를 만듭니다. 조직 또는 엔터프라이즈 계정의 구성원에 대해 연결된 SAML ID, 활성 세션, 권한 있는 자격 증명을 보고 철회할 수 있습니다. 자세한 내용은 "조직에 대한 구성원의 SAML 액세스 보기 및 관리" 및 "엔터프라이즈에 대한 사용자의 SAML 액세스 보기 및 관리"을(를) 참조하세요.

구성원이 새 리포지토리를 만들 때 SAML SSO 세션으로 로그인하는 경우 해당 리포지토리의 기본 표시 유형은 프라이빗입니다. 그렇지 않으면 기본 표시 유형은 퍼블릭입니다. 리포지토리 표시 여부에 대한 자세한 내용은 "리포지토리 정보"을(를) 참조하세요.

또한 조직 구성원은 OAuth app에 권한을 부여하기 위한 활성 SAML 세션이 있어야 합니다. GitHub 지원 포털 사용에 문의하면 이 요구 사항을 옵트아웃할 수 있습니다. GitHub Enterprise Cloud에서는 이 요구 사항 옵트아웃을 권장하지 않습니다. 조직에서 계정 인수와 데이터 손실 위험이 발생할 가능성이 높아지기 때문입니다.

GitHub Enterprise Cloud는 SAML 단일 로그아웃을 지원하지 않습니다. 활성 SAML 세션을 종료하려면 사용자가 SAML IdP에서 직접 로그아웃해야 합니다.

지원되는 SAML 서비스

GitHub Enterprise Cloud는 SAML 2.0 표준을 구현하는 IdP가 있는 SAML SSO를 지원합니다. 자세한 내용은 OASIS 웹 사이트의 SAML Wiki를 참조하세요.

GitHub는 다음 IdP를 공식적으로 지원하고 내부적으로 테스트합니다.

  • Microsoft AD FS(Active Directory Federation Services)
  • Microsoft Entra ID(이전의 Azure AD)
  • Okta
  • OneLogin
  • PingOne
  • Shibboleth

일부 IdP에서는 SCIM을 통해 GitHub 조직에 대한 액세스를 프로비전하는 기능을 지원합니다. 자세한 내용은 "조직에 대한 SCIM 정보"을 참조하세요.

엔터프라이즈 계정 또는 에서는 이 SCIM 구현을 사용할 수 없습니다. 엔터프라이즈가 Enterprise Managed Users에서 사용하도록 설정된 경우 다른 SCIM 구현을 사용해야 합니다. 이외의 경우에는 엔터프라이즈 수준에서 SCIM을 사용할 수 없습니다. 자세한 내용은 "Enterprise Managed Users에 대한 SCIM 프로비저닝 구성"을(를) 참조하세요.

SAML SSO를 사용하여 조직에 구성원 추가

SAML SSO를 사용하도록 설정한 후에는 여러 가지 방법으로 조직에 새 멤버를 추가할 수 있습니다. 조직 소유자는 GitHub Enterprise Cloud에서 수동으로 또는 API를 사용하여 새 구성원을 초대할 수 있습니다. 자세한 내용은 "조직에 조인하도록 사용자 초대" 및 "조직에 대한 REST API 엔드포인트"을(를) 참조하세요.

조직 소유자의 초대 없이 새 사용자를 프로비저닝하려면 URL https://github.com/orgs/ORGANIZATION/sso/sign_up을 사용하면 됩니다(ORGANIZATION을 조직의 이름으로 바꿈). 예를 들어 IdP에 액세스할 수 있는 모든 사용자가 IdP의 대시보드에서 링크를 클릭하여 GitHub 조직에 가입할 수 있도록 IdP를 구성할 수 있습니다.

참고: SAML SSO가 엔터프라이즈 계정 수준에서 구성된 경우가 아니라 조직 수준에서 SAML SSO를 구성할 때만 https://github.com/orgs/ORGANIZATION/sso/sign_up을 통해 새 사용자를 프로비저닝할 수 있습니다. 엔터프라이즈 계정의 SAML SSO에 관한 자세한 정보는 "엔터프라이즈 IAM에 대한 SAML 정보"을(를) 참조하세요.

IdP가 SCIM을 지원하는 경우 GitHub은 IdP에 대한 액세스 권한을 부여할 때 구성원을 조직에 조인하도록 자동으로 초대할 수 있습니다. SAML IdP에서 GitHub 조직에 대한 구성원의 액세스 권한을 제거하면 GitHub 조직에서 해당 구성원이 자동으로 제거됩니다. 자세한 내용은 "조직에 대한 SCIM 정보"을 참조하세요.

사용자는 팀 동기화를 사용하여 ID 공급자를 통해 팀에 조직 구성원을 자동으로 추가하고 제거할 수 있습니다. 자세한 내용은 GitHub Enterprise Cloud 설명서에서 “ID 공급자 그룹을 사용하여 팀 동기화."

추가 참고 자료