프로비저닝(Provisioning)/디프로비저닝(Deprovisioning) 이란?
팔로우1. 개요
Provisioning(프로비저닝)과 Deprovisioning(디프로비저닝)은 IT 시스템에서 사용자의 계정을 생성, 관리 및 제거하는 프로세스를 의미합니다. SCIM(System for Cross-domain Identity Management)과 REST API를 활용하면 자동화된 사용자 계정 관리가 가능하며, 보안 및 운영 효율성을 향상시킬 수 있습니다.
2. Provisioning과 Deprovisioning의 정의
2.1 Provisioning이란?
Provisioning(프로비저닝)은 신규 사용자 계정을 생성하고, 필요한 접근 권한을 부여하며, 조직의 시스템에 자동으로 등록하는 과정을 의미합니다. 일반적으로 다음과 같은 단계를 포함합니다:
1. 사용자 계정 생성:
-
- 신규 직원 입사 또는 회원 가입 시 ID 시스템(HR, IAM, SSO 등)에서 사용자 계정이 생성됨
- SCIM 또는 REST API를 활용하여 해당 사용자 정보를 애플리케이션 및 시스템에 자동 등록
2. 권한 부여 및 역할 할당:
-
- 사용자의 직책, 부서, 업무 역할(Role)에 따라 권한(Role-based Access Control, RBAC) 할당
- 필요 시 MFA(다중 인증) 또는 특정 정책을 적용하여 보안 강화
3. 프로필 동기화 및 업데이트:
-
- 사용자의 이메일, 전화번호, 직책 등의 정보가 변경될 경우 이를 자동으로 반영
- 시스템 간 일관성을 유지하며, SCIM 및 REST API를 통해 실시간 업데이트 가능
4. 애플리케이션 접근 제어:
-
- 기업 내에서 사용하는 다양한 애플리케이션(Google Workspace, Microsoft 365, Slack, Salesforce 등) 접근 권한 자동 부여
2.2 Deprovisioning이란?
Deprovisioning(디프로비저닝)은 사용자의 계정을 비활성화하거나 삭제하여 보안 리스크를 줄이고, 불필요한 접근을 방지하는 과정을 의미합니다. 일반적으로 다음과 같은 단계를 포함합니다:
1. 사용자 계정 비활성화:
-
- 직원 퇴사 또는 역할 변경 시 ID 시스템에서 계정을 비활성화
- SCIM 또는 REST API를 활용하여 애플리케이션에서 접근 제한 적용
2. 권한 및 접근 제어 철회:
-
- 사용자가 더 이상 필요하지 않은 애플리케이션 및 시스템에 접근하지 못하도록 권한 삭제
- 네트워크, VPN, 클라우드 서비스 등의 접근 차단
3. 데이터 보존 및 계정 삭제:
-
- 일정 기간 동안 계정 데이터를 유지하거나, 즉시 삭제 정책을 적용
- 조직 정책에 따라 GDPR, HIPAA 등 관련 규정을 준수하여 데이터 처리
4. 라이선스 회수 및 비용 절감:
-
- 불필요한 소프트웨어 라이선스를 회수하여 비용 절감
- 사용자가 할당된 리소스(VM, 이메일 계정 등)를 해제하여 최적화 수행
3. SCIM을 활용한 Provisioning/Deprovisioning
3.1 SCIM이란?
SCIM(System for Cross-domain Identity Management)은 사용자 계정 및 그룹을 표준화된 방식으로 관리하기 위한 프로토콜입니다. JSON 기반의 RESTful API를 사용하여 사용자 프로비저닝을 자동화하고, 다양한 애플리케이션과 시스템 간의 호환성을 제공합니다.
3.2 SCIM의 주요 기능
- 자동화된 사용자 계정 관리: 신규 사용자 계정 생성, 수정 및 삭제를 자동화
- 표준화된 데이터 모델: JSON 기반의 사용자 및 그룹 객체 관리
- 확장성: 다양한 ID 관리 시스템 및 애플리케이션과 쉽게 통합 가능
- RESTful API 지원: HTTP 요청을 활용하여 효율적인 사용자 관리 가능
3.3 SCIM의 동작 방식
1. 사용자 생성 (Provisioning):
-
- HR 시스템이나 ID 관리 시스템(IdP)에서 새로운 사용자 등록
- SCIM API를 통해 해당 사용자 정보를 애플리케이션에 전달
- 애플리케이션에서 사용자 계정이 자동 생성됨
2. 사용자 정보 업데이트:
-
- 조직 내 역할 변경 시 SCIM API를 통해 정보 업데이트
- 애플리케이션에서 변경 사항 반영
3. 사용자 삭제 (Deprovisioning):
-
- 직원 퇴사 또는 계정 비활성화 요청 시 SCIM API로 해당 사용자 계정을 삭제
- 애플리케이션에서 해당 사용자 계정이 비활성화 또는 제거됨
4. REST API를 활용한 Provisioning/Deprovisioning
SCIM을 지원하지 않는 애플리케이션의 경우 REST API를 활용하여 Provisioning/Deprovisioning을 수행할 수 있습니다.
4.1 REST API 기반 Provisioning
1. 사용자 계정 생성
POST /users
Content-Type: application/json
{
"username": "john.doe",
"email": "john.doe@example.com",
"role": "employee"
}
2. 사용자 정보 업데이트
PUT /users/john.doe
Content-Type: application/json
{
"role": "manager"
}
4.2 REST API 기반 Deprovisioning
1. 사용자 계정 삭제
DELETE /users/john.doe
2. 비활성화 (Soft Delete)
PATCH /users/john.doe
Content-Type: application/json
{
"status": "inactive"
}
5. 효과 및 이점
5.1 자동화를 통한 운영 효율성 증가
-
- 수작업 없이 계정 생성 및 삭제가 가능하여 IT 부서의 업무 부담 감소
- HR 시스템과 연동하여 실시간으로 계정 및 권한을 관리 가능
5.2 보안 강화
-
- 조직에서 더 이상 필요하지 않은 계정이 즉시 삭제되므로 보안 위험 감소
- 권한을 자동으로 부여/제거하여 불필요한 접근을 차단
5.3 데이터 일관성 유지
-
- 중앙 집중화된 사용자 데이터 관리 가능
- 여러 애플리케이션 간 사용자 정보 동기화 보장
6. 고려해야 할 위험성
6.1 잘못된 자동화로 인한 문제
-
- SCIM 또는 REST API 자동화 설정 오류 시 대량 계정 삭제 또는 잘못된 권한 부여 가능
6.2 API 보안 이슈
-
- API 요청이 안전하지 않으면 인증 정보가 유출될 위험
- 인증 및 권한 관리(OAuth, JWT 등)를 철저히 적용해야 함
6.3 데이터 동기화 지연
-
- 여러 시스템 간 동기화가 즉시 이루어지지 않을 경우, 일시적인 접근 권한 오류 발생 가능
7. 결론
SCIM과 REST API를 활용한 Provisioning/Deprovisioning은 기업의 사용자 계정 관리를 자동화하고 보안을 강화하는 데 필수적인 기술입니다. SCIM을 지원하는 애플리케이션을 사용하면 표준화된 방식으로 계정을 관리할 수 있으며, SCIM이 지원되지 않는 경우 REST API를 활용하여 유사한 기능을 구현할 수 있습니다. 그러나 보안 설정을 철저히 하고, 잘못된 자동화를 방지하기 위한 모니터링 체계를 마련하는 것이 중요합니다.
댓글
댓글 0개
댓글을 남기려면 로그인하세요.