Skip to main content

이 버전의 GitHub Enterprise는 다음 날짜에 중단되었습니다. 2024-03-26. 중요한 보안 문제에 대해서도 패치 릴리스가 이루어지지 않습니다. 더 뛰어난 성능, 향상된 보안, 새로운 기능을 위해 최신 버전의 GitHub Enterprise Server로 업그레이드합니다. 업그레이드에 대한 도움말은 GitHub Enterprise 지원에 문의하세요.

엔터프라이즈에 SCIM으로 사용자 프로비저닝 구성

GitHub Enterprise Server 인스턴스에 SCIM(System for Cross-domain Identity Management)을 구성할 수 있습니다. 이는 인스턴스의 애플리케이션을 IdP(ID 공급자) 상의 사용자에게 할당할 때 자동으로 사용자 계정을 프로비전합니다.

누가 이 기능을 사용할 수 있는 있나요?

Site administrators can configure user provisioning for a GitHub Enterprise Server instance.

참고: GitHub Enterprise Server에 대한 SCIM는 현재 비공개 베타 테스트 중에 있으며 변경될 수 있습니다. 베타에 액세스하려면 GitHub의 영업 팀에서 계정 관리자에게 문의하세요. GitHub 커뮤니티 토론에서 피드백을 제공하세요.

경고: 베타는 테스트와 피드백 전용이며 지원은 제공되지 않습니다. GitHub은(는) 스테이징 인스턴스로 테스트하는 것이 좋습니다. 자세한 내용은 "스테이징 인스턴스 설정"을(를) 참조하세요.

GitHub Enterprise Server에 대한 사용자 프로비저닝 정보

GitHub Enterprise Server 인스턴스에 SAML SSO(Single Sign-On)를 사용하는 경우, SCIM을 구성하여 사용자 계정을 자동으로 생성하거나 일시 중단하고, IdP에서 애플리케이션을 할당하거나 할당을 취소할 때 인스턴스에 대한 액세스를 부여할 수 있습니다. SCIM에 관한 자세한 내용은 IETF 웹 사이트에서 SCIM(System for Cross-domain Identity Management): 프로토콜(RFC 7644)을 참조하세요.

SCIM을 사용하여 사용자 프로비저닝을 구성하지 않으면 사용자에게 애플리케이션을 할당하거나 할당 취소할 때 IdP가 GitHub Enterprise Server와 자동으로 통신하지 않습니다. SCIM을 사용하지 않으면 GitHub Enterprise Server는 누군가가 처음으로 GitHub Enterprise Server로 이동하고 IdP를 통해 인증하여 로그인할 때 SAML JIT(Just-In-Time) 프로비저닝을 사용하여 사용자 계정을 만듭니다.

프로비전을 구성하면 IdP의 사용자에게 GitHub Enterprise Server에 대한 애플리케이션을 할당하거나 할당 취소할 때 IdP가 GitHub Enterprise Server 인스턴스와 통신할 수 있습니다. 애플리케이션을 할당하면 IdP는 계정을 만들고 사용자에게 온보딩 메일을 보내라는 메시지를 GitHub Enterprise Server 인스턴스에 표시합니다. 애플리케이션을 할당 취소하면 IdP는 GitHub Enterprise Server와 통신하여 SAML 세션을 무효화하고 멤버 계정을 사용하지 않도록 설정합니다.

엔터프라이즈에 대한 프로비저닝을 구성하려면 GitHub Enterprise Server에서 프로비저닝을 사용하도록 설정한 다음, IdP에서 프로비저닝 애플리케이션을 설치하고 구성해야 합니다.

IdP의 프로비전 애플리케이션은 SCIM API를 사용해 GitHub Enterprise Server와 통신합니다. 자세한 정보는 "SCIM용 REST API 엔드포인트"을(를) 참조하세요.

ID 및 클레임 정보

IdP 관리자가 사용자에게 GitHub Enterprise Server 인스턴스에 대한 액세스 권한을 부여하면 사용자가 IdP를 통해 인증하여 SAML SSO를 사용하여 GitHub Enterprise Server에 액세스할 수 있습니다.

인증 과정에서 인스턴스는 사용자를 SAML ID와 연결하려고 시도합니다. 기본적으로 인스턴스는 IdP의 NameID 클레임을 계정의 사용자 이름과 비교합니다. GitHub Enterprise Server은(는) 비교한 NameID 값을 정규화합니다. 사용자 이름 정규화에 대한 자세한 내용은 "외부 인증에 대한 사용자 이름 고려 사항"을(를) 참조하세요.

인스턴스에 사용자 이름이 일치하는 기존 계정이 없으면 사용자 로그인이 실패합니다. 이를 일치시키기 위해 GitHub Enterprise Server은(는) IdP의 SAML NameId 클레임과 인스턴스에서 SCIM으로 프로비전된 각 사용자 계정의 username 클레임을 비교합니다..

SAML 인증 중에 일부 환경에서는 고유 식별 클레임으로 NameID 이외의 값을 사용할 수 있습니다. 환경에서 사용자를 식별하는 데 NameID을(를) 이용하지 않는 경우, 사이트 관리자는 인스턴스에 사용자 지정 사용자 특성을 구성할 수 있습니다. GitHub Enterprise Server은(는) SCIM이 구성될 때 이 매핑을 따릅니다. 사용자 특성 매핑에 대한 자세한 내용은 "엔터프라이즈에 대한 SAML Single Sign-On 구성"을 참조하세요.

GitHub Enterprise Server이(가) IdP에서 사용자를 식별했지만 이메일 주소, 이름, 성 등의 계정 세부 정보가 일치하지 않을 경우 인스턴스는 IdP의 값으로 세부 정보를 덮어씁니다. SCIM에서 프로비전된 기본 이메일 이외의 이메일 주소도 사용자 계정에서 삭제됩니다.

지원되는 ID 공급자

계정 팀은 프라이빗 베타 중에 지원 IdP의 GitHub Enterprise Server에 대한 SCIM 구성 설명서를 제공합니다.

필수 조건

  • GitHub Enterprise Server 인스턴스에 대한 SAML SSO를 구성해야 합니다. 자세한 내용은 "엔터프라이즈에 대한 SAML Single Sign-On 구성.

  • IdP에 계정이 없는 사용자에게는 기본 제공 인증을 허용해야 합니다. 자세한 내용은 "공급자 외부 사용자에게 기본 제공 인증 허용"을(를) 참조하세요.

  • IdP는 SP(서비스 제공자)에 대한 SCIM 호출을 지원해야 합니다.

  • GitHub Enterprise Server에 대한 사용자 프로비저닝을 위해 애플리케이션을 구성하려면 IdP에 대한 관리 액세스 권한이 있어야 합니다.

엔터프라이즈에 대한 사용자 프로비저닝 사용

인스턴스에서 프로비전 동작을 수행하려면 기본 제공 사용자 계정을 만들고 계정을 엔터프라이즈 소유자로 승격합니다.

GitHub Enterprise Server 인스턴스에서 SCIM을 사용하도록 설정하면 모든 사용자 계정이 일시 중단됩니다. 기본 제공 사용자 계정은 계속해서 프로비전 동작을 수행합니다. IdP에서 인스턴스에 대한 사용자 액세스 권한을 부여한 후, IdP는 SCIM을 사용하여 인스턴스와 통신하여 사용자 계정을 일시 중단합니다.

  1. 인스턴스에 프로비전 동작을 수행하는 기본 제공 사용자 계정을 만듭니다. 자세한 내용은 "공급자 외부 사용자에게 기본 제공 인증 허용"을(를) 참조하세요.

  2. 전용 사용자 계정을 엔터프라이즈 소유자로 승격합니다. 자세한 내용은 "엔터프라이즈를 관리할 사용자 초대"을(를) 참조하세요.

  3. 새 엔터프라이즈 소유자로 인스턴스에 로그인합니다.

  4. admin:enterprise 범위를 사용하여 personal access token을(를) 만듭니다. personal access token의 만료 날짜를 지정하지 마세요. 자세한 내용은 "개인용 액세스 토큰 관리"을(를) 참조하세요.

    경고: personal access token의 만료 날짜를 지정하지 마세요. 만료 날짜를 지정할 경우 만료 날짜가 지나면 SCIM이 더 이상 작동하지 않습니다.

참고: SCIM 구성을 테스트하고 IdP에서 SCIM에 대한 애플리케이션을 구성하려면 이 personal access token이(가) 필요합니다. 이 지침의 뒷부분에서 토큰이 다시 필요할 때까지 토큰을 암호 관리자에 안전하게 저장합니다.

1. 에 SSH합니다. 인스턴스가 여러 노드로 구성된 경우(예: 고가용성 또는 지역 복제가 구성된 경우) 주 노드에 대한 SSH를 수행합니다. 클러스터를 사용하는 경우 임의 노드에 대해 SSH를 수행할 수 있습니다. HOSTNAME을 인스턴스의 호스트 이름 또는 노드의 호스트 이름이나 IP 주소로 바꿉니다. 자세한 내용은 "[AUTOTITLE](/admin/configuration/configuring-your-enterprise/accessing-the-administrative-shell-ssh)"을(를) 참조하세요.
Shell
ssh -p 122 admin@HOSTNAME
  1. SCIM을 사용하도록 설정하려면 GitHub의 영업 팀에서 계정 관리자가 제공한 명령을 실행합니다.

  2. 구성 실행이 완료될 때까지 기다립니다.

  3. SCIM이 작동하는지 확인하려면 다음 명령을 실행합니다. PAT FROM STEP 3YOUR INSTANCE'S HOSTNAME 실제 값으로 대체합니다.

    $ GHES_PAT="PAT FROM STEP 3"
    $ GHES_HOSTNAME="YOUR INSTANCE'S HOSTNAME"
    $ curl --location --request GET 'https://$GHES_HOSTNAME/api/v3/scim/v2/Users' \
        --header 'Content-Type: application/scim' \
        --header 'Authorization: Bearer $GHES_PAT'
    

    명령은 빈 배열을 반환해야 합니다.

  4. 애플리케이션에서 IdP의 GitHub Enterprise Server에 대한 사용자 프로비저닝을 구성합니다. 지원되는 IdP에 대한 설명서를 요청하려면 GitHub의 영업 팀에서 계정 관리자에게 문의하세요. IdP가 지원되지 않는 경우 직접 애플리케이션을 만들고 SCIM을 구성해야 합니다.