Windows에서 프로비전 작동 방식

Windows 클라이언트의 프로비저닝 패키지는 IT 관리자에게 Windows 클라이언트 디바이스에 구성 설정을 적용하는 간소화된 방법을 제공합니다. Windows 구성 디자이너는 프로비전 패키지를 간편하게 만들 수 있는 도구입니다. Windows 구성 Designer Microsoft Store에서 설치할 수 있습니다.

프로비저닝 패키지

프로비저닝 패키지에는 이동식 미디어를 통해 제공되거나 디바이스에 다운로드할 수 있는 특정 구성/설정 및 자산이 포함되어 있습니다.

여러 설정 또는 구성 세트 추가를 사용할 수 있도록 프로비저닝 엔진에서 사용되는 구성 데이터가 서로 다른 프로비저닝 패키지로 구성된 여러 구성 원본에서 빌드됩니다. 각 프로비저닝 패키지에는 출처가 다양한 프로비전 데이터가 포함됩니다.

프로비저닝 패키지(.ppkg)는 구성 설정 모음의 컨테이너입니다. 패키지 형식은 다음과 같습니다.

  • 패키지 메타데이터 - 메타데이터에는 패키지 이름, 설명, 버전, 순위 등과 같은 패키지에 대한 기본 정보가 포함됩니다.

  • XML 설명자 - 각 설명자는 패키지에 포함된 사용자 지정 자산 또는 구성 설정을 정의합니다.

  • 자산 페이로드 - 사용자 지정 자산의 페이로드 또는 앱 또는 데이터 자산과 연결된 구성 설정입니다.

디바이스에 연결된 이동식 미디어의 패키지에 액세스하거나 NFC(근거리 통신)를 통해 또는 원격 원본 위치에서 다운로드하여 런타임 디바이스 프로비저닝에 프로비저닝 패키지를 사용할 수 있습니다.

프로비저닝 패키지 우선 순위

장치 프로비전에 사용할 수 있는 프로비저닝 패키지가 여러 개인 경우 패키지 메니페스트에 정의된 패키지 순위 수준과 패키지 소유자 유형 의 조합을 통해 설정 충돌을 해결합니다. 미리 정의된 패키지 소유자 유형 목록은 다음과 같으며, 우선 순위가 가장 낮은 소유자 유형부터 가장 높은 유형 순입니다.

  1. Microsoft

  2. 실리콘 공급업체

  3. OEM

  4. 시스템 통합자

  5. 이동 통신사

  6. IT 관리자

패키지 순위 수준의 유효한 값의 범위는 0~99입니다.

설정 충돌이 발생하면 장치에 프로비전된 마지막 값이 해당 설정이 포함된 패키지의 소유자 유형 우선 순위 및 순위 수준으로 결정됩니다. 소유자 유형이 동일한 패키지의 경우 패키지 순위 수준이 장치에 프로비전될 설정 값을 결정합니다.

Windows 프로비전 XML

Windows 프로비전 XML은 구성 요소 소유자의 작업을 최소화하여 설정을 적용하기 위해 Microsoft 및 OEM 구성 요소를 통해 최종 사용자 구성 가능 설정과 장치 내 인프라를 선언할 수 있게 하는 프레임워크입니다.

각 구성 요소의 설정은 해당 구성 요소의 패키지 매니페스트 파일에서 선언할 수 있습니다. 이러한 선언은 이미지 또는 프로비전 패키지에서 사용자 지정을 만드는 데 사용할 수 있는 잠재적인 설정을 사용자에게 노출하기 위해 Windows 구성 디자이너가 사용하는 설정 스키마로 변환됩니다. Windows 구성 디자이너는 Windows 프로비전 응답 파일을 통해 선언된 사용자 구성을 디바이스 내 프로비전 형식으로 변환합니다.

프로비전 엔진이 구성을 선택하면 Windows 프로비전 XML이 선택한 프로비전 데이터에 포함되고 구성 관리자를 거쳐 Windows 프로비전 CSP로 전달됩니다. 그런 다음 Windows 프로비전 CSP에서 실제로 사용할 구성 요소의 적절한 위치에 프로비전을 적용합니다.

프로비저닝 엔진

프로비저닝 엔진은 Windows 10/11을 실행하는 디바이스에서 런타임 시 프로비저닝 및 구성을 관리하기 위한 핵심 구성 요소입니다.

프로비저닝 엔진은 다음과 같은 기능을 제공합니다.

  • 최초 부팅 및 설정 또는 OOBE를 포함해 장치가 실행 중일 때 언제든지 구성을 프로비전합니다. 장치 런타임 시 다른 위치로 확장할 수도 있습니다.
  • Microsoft, OEM 또는 시스템 통합자가 이미지에 추가하거나 IT/교육 관리자 또는 사용자가 런타임 시 장치에 추가할 수 있는 다양한 구성 원본에서 설정을 읽고 결합합니다. 구성 원본을 이미지에 빌드하거나 장치에 추가된 프로비저닝 패키지로부터 빌드할 수 있습니다.
  • 트리거 또는 이벤트에 응답하고 프로비전 단계를 시작합니다.
  • 프로비저닝 패키지를 인증합니다.
  • 특정 구성에 매핑되는 키 집합 및 단계에 따라 구성 집합(예: SIM, MCC/MNC, IMSI 범위 등)을 선택하고 이 구성을 구성 관리 인프라로 전달하여 적용되도록 합니다.
  • 특정하게 일치하는 내용을 판별할 수 없는 경우 OOBE 및 제어판 UI를 사용하여 사용자가 구성을 선택할 수 있도록 합니다.

구성 관리자

구성 관리자는 Windows 10/11 디바이스를 관리하는 통합된 방법을 제공합니다. 구성은 OMA(Open Mobile Alliance), DM(장치 관리) 및 CP(클라이언트 프로비전) 프로토콜을 통해 주로 수행됩니다. 구성 관리자는 다양한 채널에서 수신하는 이러한 프로토콜 요청을 처리하고 구문 분석한 다음 CSP(구성 서비스 공급자)로 전달하여 특정 관리 요청과 설정을 수행합니다.

프로비저닝 엔진은 선택한 구성의 실질적인 처리 및 적용 전반에 구성 관리자가 필요합니다. 프로비저닝 엔진에서는 프로비전 단계를 판별하고 키 집합에 따라 구성 관리자에게 보낼 구성 집합을 판별합니다. 그러면 구성 관리자가 설정을 적용하기 위해 구문 분석하고 CSP를 호출합니다.

CSP는 구성 관리자 아래에 있습니다. 구성의 각 섹션에서 특정 CSP로 변환하여 장치에 대한 작업으로 해석 처리합니다. 각 CSP에서는 구성의 지침을 변환하고 적절한 API와 구성 요소를 호출하여 요청된 프로비전 작업을 수행합니다.

정책 및 리소스 관리자

정책, 리소스 및 컨텍스트 관리자 구성 요소에서 엔터프라이즈 환경에 장치 등록 및 등록 해제를 관리합니다. 엔터프라이즈 등록 프로세스에서는 기본적으로 엔터프라이즈에서 장치에 적용하려는 구성과 장치 관리 정책을 프로비전합니다. 이 작업은 대개 네트워크 연결을 통해 엔터프라이즈의 장치 관리 서버에 장치를 명시적으로 등록하여 수행합니다. 그러면 사용자가 장치를 통해 엔터프라이즈 리소스에 액세스할 수 있고 엔터프라이즈에서는 액세스 및 장치 자체를 관리하고 제어할 수 있습니다.

엔터프라이즈 등록과 프로비저닝 엔진에서 수행하는 구성 사이의 주된 차이점은 다음과 같습니다.

  • 등록은 한정되고 제어된 정책 집합을 장치에 적용하므로 사용자가 완전하게 제어할 수 없습니다. 프로비저닝 엔진에서는 장치의 더 많은 요소를 구성하고 일반적으로 사용자가 조정할 수 있는 대규모 설정 집합을 공개합니다.
  • 정책 관리자가 여러 엔터티의 정책 설정을 관리하고 엔터티의 우선 순위에 따라 설정을 선택합니다. 프로비저닝 엔진에서는 설정을 적용하고 다양한 원본의 설정에 우선 순위를 지정하는 방법은 제공하지 않습니다. 더욱 구체적인 프로비전은 마지막으로 적용되어 사용 중인 프로비전입니다.
  • 다양한 등록 엔터티에서 적용된 개별 정책 설정은 나중에 등록을 해제할 때 제거할 수 있도록 저장됩니다. 따라서 사용자가 엔터프라이즈 정책을 제거하고 엔터프라이즈 제한 및 중요한 데이터가 없는 상태로 장치를 되돌릴 수 있습니다. 프로비저닝 엔진에서는 적용된 모든 설정을 롤백하는 도구나 개별 프로비전 설정을 유지하지 않습니다.

Windows 10에서는 엔터프라이즈 또는 교육 기관에 전체 장치 관리를 위한 DM 서버가 없는 경우를 지원하기 위해 프로비전을 통해 정책과 등록을 적용해야 합니다. 프로비저닝 엔진에서는 구성을 통해 프로비전 등록과 정책을 지원하고 기존 정책 및 리소스 관리자 구성 요소를 직접 통합하거나 또는 구성 관리자를 통해 통합합니다.

트리거 및 단계

트리거는 프로비전 단계를 시작하는 시스템의 수명 중에 발생하는 이벤트입니다. 트리거의 예로는 부팅, OOBE, SIM 변경, 사용자 추가, 관리자 추가, 사용자 로그인, 장치 업데이트 및 다양한 수동 트리거(예: USB를 통해 배포 또는 메일 첨부나 USB 플래시 드라이브에서 실행)가 있습니다.

트리거가 발생하면 특정 프로비전 단계를 위해 프로비전이 시작됩니다. 단계는 설정 범위에 따라 다음과 같은 집합으로 그룹화됩니다.

  • 고정: 프로비전의 첫 번째 단계로, 이미지를 만들 때 수행할 수 없는 장치 전체 설정을 적용하거나 OOBE를 설정하기 위해 시스템에 구성 설정을 적용합니다.
  • 시스템: OOBE 중에 실행하고 시스템 전체 설정을 구성합니다.
  • UICC: UICC 또는 SIM 카드의 ID에 따라 구성 및 브랜딩을 처리하기 위해 장치에 있는 각각의 새 UICC에 대해 실행하는 UICC 단계입니다. 그러면 OEM에서 단일한 이미지로 여러 운영자에 대한 구성을 유지할 수 있는 런타임 구성 시나리오를 사용할 수 있습니다.
  • 업데이트: 잠재적으로 업데이트된 설정 변경 사항을 적용하기 위해 업데이트 후에 실행합니다.
  • 사용자: 사용자별 설정을 구성하기 위해 사용자 계정 첫 번째 실행 중에 실행합니다.

OOBE 중 프로비전 장치

프로비전 엔진은 항상 OS 파티션의 C:\Recovery\Customizations 폴더에 있는 프로비전 패키지를 적용합니다. 프로비전 엔진이 %ProgramData%\Microsoft\Provisioning 폴더의 프로비전 패키지를 적용하는 경우 특정 런타임 설정 응용 프로그램(예: Windows 앱을 설치하고 구성하는 설정)은 OOBE 단계를 지나 디바이스가 데스크톱에 연결될 때 백그라운드에서 계속해서 처리될 수 있습니다. 정책 구성 및 특정 중요 시스템 구성 설정은 항상 최초 실행 이전에 완료됩니다.

장치 사용자는 장치가 처음 OOBE로 부팅될 때 원격 원본에서 프로비저닝 패키지를 적용할 수 있습니다. OOBE 중에 장치 프로비전은 첫 번째 OOBE UI 페이지에서 언어, 로캘, 표준 시간대 및 기타 설정이 구성된 후에만 트리거됩니다. 디바이스 프로비전이 트리거되면 OOBE 페이지에 프로비전 UI가 표시됩니다. 사용자는 프로비전 UI를 사용하여 원격 원본(예: NFC 또는 이동식 미디어를 통해)에서 취득한 프로비저닝 패키지를 선택할 수 있습니다.

다음 표는 사용자가 처음 OOBE로 부팅할 때 장치 프로비전을 시작하는 방법을 보여 줍니다.

패키지 전송 시작 방법 지원되는 장치
이동식 미디어 - USB 드라이브 또는 SD 카드
(패키지는 미디어 루트에 배치해야 합니다).
Windows 키를 빠르게 탭하여 프로비저닝 UI를 시작합니다. 모든 Windows 장치
관리자 디바이스에서 머신-머신 NFC 또는 NFC 태그
를 통해(관리자 디바이스는 NFC를 통해 패키지를 전송할 수 있는 앱을 실행해야 합니다)
Windows 키를 빠르게 탭하여 프로비저닝 UI를 시작합니다. Windows IoT Core 디바이스

프로비전 엔진은 언제나 취득한 프로비전 패키지를 %ProgramData%\Microsoft\Provisioning 폴더로 복사한 후 OOBE 중에 처리합니다. 프로비저닝 엔진은 패키지가 서명되고 신뢰할 수 있는지 여부와 관계없이 Windows 설치 OOBE 단계 중에 설치된 Windows 이미지에 있는 프로비저닝 패키지를 항상 적용합니다. 프로비저닝 엔진이 OOBE 동안 최종 사용자 장치에 암호화된 프로비저닝 패키지를 적용하면 사용자는 처음에 패키지의 암호를 해독할 수 있는 올바른 암호를 제공해야 합니다. 또 프로비저닝 엔진은 프로비저닝 패키지가 서명되고 신뢰할 수 있는지 여부를 확인합니다. 서명되지 않았거나 신뢰할 수 없는 경우 패키지가 장치에 적용되기 전에 사용자가 동의해야 합니다.

OOBE 중에 프로비저닝 엔진이 프로비저닝 패키지를 적용할 때 패키지의 런타임 설정만 장치에 적용합니다. 런타임 설정은 보안 정책, Windows 앱 설치/제거, 네트워크 구성, MDM 등록 부트스트래핑, 파일 자산 프로비전, 계정 및 도메인 구성, Windows 버전 업그레이드 등을 비롯한 시스템 전체 구성 설정일 수 있습니다. 또 프로비저닝 엔진은 장치에서 구성 설정(예: 지역/로캘 또는 SIM 카드)을 확인하여 일치하는 조건의 다중 변형 설정을 적용합니다.

런타임 시 디바이스 프로비전

디바이스 런타임에 사용자가 작업을 시작하여 독립 실행형 프로비전 패키지를 적용할 수 있습니다. 다음 표는 디바이스 런타임에 프로비전을 시작할 수 있는 시기를 보여 줍니다.

패키지 전송 시작 방법 지원되는 장치
이동식 미디어 - USB 드라이브 또는 SD 카드
(패키지는 미디어 루트에 배치해야 합니다.)
설정>계정>회사 또는 학교 액세스>프로비저닝 패키지 추가 또는 제거 모든 Windows 장치
네트워크 연결에서 다운로드되어 로컬 폴더에 복사됨 패키지 파일 두 번 클릭 데스크톱 버전 디바이스용 Windows 클라이언트
USB 테더링을 통해 대상 장치에 연결된 관리자 장치에서 패키지 파일을 대상 장치로 끌어서 놓기 Windows IoT Core 디바이스

장치에 연결된 이동식 미디어에서 프로비저닝 패키지를 적용하는 경우 프로비저닝 패키지를 선택하기 전에 설정 UI를 통해 패키지의 내용을 볼 수 있습니다. 알 수 없는 출처의 프로비저닝 패키지를 적용하여 장치가 스팸화되는 위험을 최소화하려면 프로비저닝 패키지에 서명하고 이를 암호화하면 됩니다. 또 파트너는 장치 런타임 시 프로비저닝 패키지의 적용을 제한하는 정책을 설정할 수 있습니다. 장치 런타임에 프로비저닝 패키지를 적용하려면 관리자 권한이 필요합니다. 패키지가 서명되지 않았거나 신뢰할 수 없는 경우 패키지가 장치에 적용되기 전에 사용자가 동의해야 합니다. 패키지가 암호화된 경우 올바른 암호로 패키지를 암호 해독해야 해당 패키지를 장치에 적용할 수 있습니다.

여러 프로비저닝 패키지를 장치에 적용할 경우, 프로비저닝 엔진은 패키지 메타데이터에 정의된 패키지 소유자 유형과 패키지 순위 수준의 조합을 사용하여 패키지 순위를 평가함으로써 여러 패키지 간 구성 값이 충돌하는 설정 문제를 해결합니다. 패키지 순위가 가장 높은 프로비전 패키지에서 적용된 구성 설정이 디바이스에 최종적으로 적용됩니다.

독립 실행형 프로비전 패키지는 디바이스에 적용된 후 디바이스의 %ProgramData%\Microsoft\Provisioning 폴더에 저장됩니다. 관리자는 설정>계정>회사 또는 학교 액세스에 있는 프로비저닝 패키지 추가 또는 제거 옵션을 사용하여 프로비저닝 패키지를 제거할 수 있습니다.