사용자 권한 부여
사용자가 SAML SSO(Single Sign-On)를 사용하여 IdP(ID 공급자)를 통해 성공적으로 인증한 후 다음 중요한 단계는 권한 부여입니다. 조직 리소스에 액세스할 수 있는 기능을 갖춘 PAT(개인 액세스 토큰), SSH 키 또는 OAuth 앱과 같은 도구를 부여합니다.
SAML SSO 및 SCIM을 사용하여 사용자 권한 부여 자동화
SAML(보안 어설션 태그 언어) SSO를 사용하면 엔터프라이즈 및 조직 소유자가 리포지토리, 문제 및 끌어오기 요청과 같은 GitHub 리소스에 대한 액세스를 제어할 수 있습니다. SCIM(도메인 간 ID 관리를 위한 시스템)을 통합하면 사용자 프로비저닝 및 프로비저닝 해제를 자동화하여 액세스 제어가 향상됩니다.
SCIM을 사용하면 IdP에 추가된 신입 사원에게 GitHub에 대한 액세스 권한이 자동으로 부여되고, 퇴사하는 사용자는 제거되어 수동 단계가 줄어들고 보안이 향상됩니다.
참고
SCIM이 없으면 SAML SSO만으로는 조직 구성원의 자동 프로비전 해제를 지원하지 않습니다.
또한 SCIM은 세션이 종료된 후 부실 토큰을 해지하여 보안 위험을 줄입니다. SCIM이 없으면 부실 토큰을 수동으로 해지해야 합니다.
SAML SSO를 사용하여 SSH 키 및 PAT 관리
SAML SSO와 SCIM은 GitHub의 ID 변경 내용을 반영하기 위해 함께 작동합니다. 이 응집력을 지원하려면 다음을 수행합니다.
- SAML IdP와 SCIM 클라이언트 간에
NameID및userName가 일치해야 합니다. - GitHub에서 IdP 트리거 SCIM 업데이트의 변경 내용을 그룹화합니다.
API 또는 Git에 액세스하는 사용자는 권한 있는 PAT 또는 SSH 키를 사용해야 합니다. 이러한 메서드는 감사 가능하고 SAML SSO에 안전하게 연결됩니다.
온보딩을 간소화하려면 다음 https://github.com/orgs/ORGANIZATION/sso/sign_up을 사용하여 사용자를 프로비전합니다. IdP 대시보드에 이 링크를 표시합니다.
사용자가 처음 인증하면 GitHub는 계정 및 SCIM 데이터를 조직에 연결합니다. 관리자는 나중에 세션 및 자격 증명을 감사하거나 해지하여 오프보딩을 자동화할 수 있습니다.
GitHub와 SCIM 통합
SCIM은 네이티브 통합 및 사용자 지정 구성을 모두 지원하여 GitHub Enterprise Cloud에서 ID 관리를 간소화합니다.
지원되는 SCIM 공급자
GitHub는 기본적으로 다음을 지원합니다.
- 옥타 주
- Microsoft Entra ID (마이크로소프트 엔트라 ID)
- OneLogin
- Ping 아이덴티티
- Google Workspace
이러한 통합은 안정적인 구성 및 호환성을 보장합니다.
사용자 지정 SCIM 통합
IdP가 기본적으로 지원되지 않는 경우 GitHub의 SCIM API를 사용하여 사용자 지정 통합을 빌드합니다.
SCIM API 개요
SCIM 2.0 API를 사용하면 다음을 수행할 수 있습니다.
- 사용자 만들기, 업데이트 및 삭제
- 그룹 관리
사용자 프로비전 요청 예제
POST /scim/v2/Users
Content-Type: application/json
{
"userName": "jdoe",
"name": {
"givenName": "John",
"familyName": "Doe"
},
"emails": [
{
"value": "jdoe@example.com",
"primary": true
}
]
}
GitHub는 이 요청을 처리하고 사용자를 조직에 추가합니다.
시작하기
지원되는 공급자의 경우
- IdP 관리 콘솔에 로그인합니다.
- SCIM 프로비저닝을 사용하도록 설정합니다.
- GitHub의 SCIM 기본 URL 및 전달자 토큰을 제공합니다.
사용자 지정 IDP의 경우
- GitHub의 SCIM REST API를 사용합니다.
- PAT를 사용하여 인증합니다.
- 샘플 요청과의 통합을 테스트합니다.
SCIM 통합의 주요 이점
- 프로비저닝: 계정을 자동으로 생성합니다.
- 업데이트: 역할 및 부서를 동기화합니다.
- 프로비전 해제: 사용자가 종료되면 즉시 액세스를 제거합니다.
SCIM 및 수동 사용자 관리
| 측면 | SCIM 기반 관리 | 수동 관리 |
|---|---|---|
| 자동화 | 프로비저닝 및 프로비전 해제 자동화 | 수동 개입 필요 |
| 일관성 | 시스템 간 표준화된 사용자 데이터 | 불일치 위험 |
| 보안 | 적시에 액세스 비활성화 | 지연되거나 누락된 해지 |
| 확장성 | 대규모 사용자 기반을 사용하여 크기 조정 | 규모가 크면 번거로움 |
| 규정 준수 | 정책 및 감사 요구 사항을 충족하는 데 도움이 됩니다. | 추적 및 보고하기가 더 어렵습니다. |
GitHub에 IdP 연결
지원되는 ID 공급자를 사용하거나 사용자 고유의 SAML 2.0 IdP를 가져올 수 있습니다.
지원되는(포장된 경로) IdP
- 옥타 주
- Microsoft Entra ID (마이크로소프트 엔트라 ID)
- Google Workspace
지원되는 IdP를 사용할 때의 몇 가지 장점은 다음과 같습니다.
- 원활한 통합
- GitHub에 의해 지원됨
- 설정 수고 절감
사용자 고유 IdP 가져오기
사용자 고유의 IdP를 가져오려면 SAML 2.0 지원이 필요합니다. 완전한 유연성을 허용하는 장점이 있습니다.
통합 단계
| 유형 | 단계 |
|---|---|
| 포장된 경로: | 1. 엔터프라이즈 보안 설정으로 이동합니다. 2. IdP를 선택합니다. 3. 설치 지침을 따릅니다. |
| 사용자 지정 IdP: | 1. 보안 설정으로 이동합니다. 2. 사용자 지정 IdP를 선택합니다. 3. SAML 메타데이터를 입력합니다. 4. 연결의 유효성을 검사합니다. |
IdP 통합 경로 비교
| 특징 | 포장된 경로 | 사용자 고유 IdP 가져오기 |
|---|---|---|
| 설치 프로세스 | ✅ 단계별 설정 | ⚠️ 수동 구성 |
| 유연성 | ⚠️ 나열된 IDP로 제한됨 | ✅ 모든 SAML 2.0 IdP |
| 유지 관리 | ✅ GitHub 관리형 | ⚠️ 조직에서 관리됨 |
| 사용자화 | ⚠️ 최소 | ✅ 완전히 사용자 지정 가능 |
| 지원 및 업데이트 | ✅ GitHub 지원 | ⚠️ 자체 관리 |
ID 및 액세스 관리
SAML SSO 구성
- SAML SSO URL을 구성합니다.
- 공용 인증서를 제공합니다.
- IdP 메타데이터를 추가합니다.
자격 증명 관리
조직 리소스에 안전하게 액세스하려면 PAT 및 SSH 키를 명시적으로 인증하고 IdP ID에 연결해야 합니다.
SAML 세션 감사
- 설정에서 활성 세션을 봅니다.
- 필요에 따라 개별 세션을 취소합니다.
GitHub 멤버 자격 고려 사항
| 유형 | 고려 사항 |
|---|---|
| GitHub 인스턴스 멤버 자격 | - 공용 리포지토리에 대한 액세스 - 개인 프로젝트 만들기 - 공개 프로필 표시 여부 |
| 조직 구성원 자격 | - 역할 기반 내부 액세스 - 조직 관리자에게 표시되는 프로필 - 청구에 영향을 줄 수 있습니다. |
| 여러 조직 멤버 자격 | - 조직 간 다양한 역할 - 더 광범위한 리소스 액세스 - 복잡한 사용 권한 및 청구 - 엄격한 거버넌스 필요 |