> For the complete documentation index, see [llms.txt](https://docs.medcrypt.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.medcrypt.com/ko/guardian/understand-device-provisioning/begin-device-provisioning.md).

# 기기 프로비저닝 시작

## 기기 프로비저닝 개요

디바이스 프로비저닝에는 Guardian Cloud와의 양방향 통신이 필요합니다. 프로비저닝 디바이스가 Guardian Cloud에 직접 연결되어 있으면 이를 **연결형** 프로비저닝이라고 합니다. 프로비저닝 디바이스가 Guardian Cloud에 직접 연결되어 있지 않으면 이를 **연결 해제형** 프로비저닝이라고 합니다. **프록시** 프로비저닝은 연결형 프로비저닝을 완료할 수 있는 디바이스가 연결 해제형 프로비저닝을 수행하는 디바이스의 프로비저닝 요청을 대신 전달하는 특수한 방식입니다.

## 일반 사전 요구 사항

디바이스 프로비저닝을 시작하기 전에 다음을 준비했는지 확인하세요.

* Guardian 계정
* Guardian에서 시스템을 생성하고 구성했습니다
* Medcrypt에서 프로비저닝 패키지를 받았습니다
* 플랫폼에 맞는 Guardian Library를 다운로드하여 설치했습니다
* 디바이스에 프로비저닝 패키지를 설치했습니다

추가 사전 요구 사항은 사용할 방법을 확인하세요.

## 프로비저닝 방법

디바이스의 연결 상태와 통합 요구 사항에 가장 적합한 프로비저닝 방법을 선택하세요.

* [**Guardian API를 사용한 프로비저닝**](/ko/guardian/api-overview/api-reference/classes/classmedcrypt-guardian-guardian.md#device-provisioning-functions)**:** 애플리케이션 코드에서 Guardian Library를 직접 사용하면 프로비저닝 프로세스를 완전히 프로그래밍 방식으로 제어할 수 있습니다. Guardian의 암호화 작업과 긴밀한 통합이 필요한 디바이스에 적합합니다.
* [**UI를 통한 프로비저닝**](#provision-via-the-ui)**:** Guardian 웹 인터페이스를 사용하여 프로비저닝 요청을 수동으로 업로드하고 인증된 프로필을 다운로드합니다.
  * **연결 해제형 디바이스:** 네트워크에 연결되지 않은 디바이스에 적합하며, 현장 기술자가 파일을 수동으로 전송합니다.
* [**명령줄을 사용한 프로비저닝**](#provision-via-the-command-line)**:** 다음 `mcguard_provision` 유틸리티는 테스트, Guardian Library를 통합할 수 없는 디바이스 또는 프록시 프로비저닝 설정에 사용합니다.
  * **연결형 디바이스:** 네트워크에 연결되어 Guardian Cloud와 직접 통신할 수 있는 디바이스입니다.
  * **연결 해제형 디바이스:** 디바이스가 네트워크에 연결되지 않은 경우 오프라인으로 프로비저닝합니다.
  * **프록시 프로비저닝:** 직접 인터넷에 접속할 수 없는 다른 디바이스를 대신하는 프록시 역할을 하는 게이트웨이 디바이스에서 유틸리티를 사용합니다.

### 이 항목에서 다루는 내용

* **연결 해제형 프로비저닝:** 사용자는 명령줄이나 [프로비저닝](/ko/guardian/understand-device-provisioning/begin-device-provisioning.md) 페이지를 사용하여 프로비저닝 요청(PR)을 제출하고 인증된 프로필(CP)을 다운로드할 수 있습니다. 그런 다음 **디바이스** 페이지에서 디바이스 프로비저닝을 관리하고 디바이스 프로비저닝 보고서를 내보낼 수 있습니다. 이는 **디바이스** 페이지에 전체 프로비저닝 수명 주기 지원을 추가하는 동안 제공되는 임시 솔루션입니다. 전체 워크플로 안내는 다음을 참조하세요. [디바이스 프로비저닝 이해](/ko/guardian/understand-device-provisioning.md).
* **연결형 프로비저닝:** 디바이스가 자동으로 요청을 [디바이스](/ko/guardian/understand-device-provisioning/manage-device-provisioning.md) 페이지에 제출하면 Guardian이 해당 디바이스로 CP를 자동 전송합니다.
* **프록시 프로비저닝:** 먼저 프록시를 프로비저닝한 다음 다른 디바이스를 프로비저닝하는 데 사용합니다.

## Guardian 파일 형식 및 확장자

Guardian은 프로비저닝 프로세스에서 특정 확장자를 사용하는 여러 파일 형식을 사용합니다.

**프로비저닝 요청:** 공개 키를 포함한 정보를 Guardian Cloud 백엔드로 전송하는 데 사용하는 파일입니다. 이 파일에는 Guardian Cloud로 전송되는 인증서 서명 요청(CSR)이 포함됩니다. 확장자: `.mcpr`

**TrustStore:** Guardian 플랫폼의 신뢰 앵커입니다. 확장자: `.mcts`

**프로필 파일:**

1. **프로비저닝할 인증된 프로필:** Guardian 라이브러리 및 프로비저닝 작업을 위한 서명된 지침과 구성입니다. 프로비저닝 과정에서 이 장치 유형에 대해 생성되는 초기 프로필 템플릿입니다. 확장자: `.mcpp`
2. **인증된 프로필:** Guardian 라이브러리 실행 및 재프로비저닝 작업을 위한 서명된 지침과 구성입니다. 프로비저닝 과정에서 생성되는 최종 장치 프로필입니다. 확장자: `.mcp`

**ID 파일:**

1. **프로비저닝할 개인 ID:** 초기 프로비저닝 작업 및 연결을 위한 키 자료입니다. 초기 개인 ID 템플릿입니다. 확장자: `.mcpip`
2. **개인 ID:** 재프로비저닝 및 실행 작업과 연결을 위한 키 자료입니다. 장치에 남아 있는 개인 키가 포함된 최종 개인 ID 파일입니다. 확장자: `.mcpi`

### 작업 유형별 파일 사용

**프로비저닝 중 사용하는 파일:**

* TrustStore
* 프로비저닝용 개인 ID
* 프로비저닝용 인증된 프로필

**재프로비저닝 중 사용하는 파일:**

* TrustStore
* 개인 ID
* 인증된 프로필

실행 시 사용하는 파일

* TrustStore
* 개인 ID
* 인증된 프로필

## 일반 프로비저닝 단계

### 1. 장치 키 및 프로비저닝 요청(PR) 생성

* 키 보안을 최대한 확보하기 위해 이 단계는 프로비저닝 장치에서 수행합니다.
* Guardian 라이브러리 API 또는 `mcguard_provision` CLI 유틸리티를 사용하여 완료할 수 있습니다.
* PR에는 Guardian Cloud가 프로비저닝된 프로필과 인증서를 발급하는 데 필요한 모든 정보가 포함된 여러 인증서 서명 요청(CSR) 묶음이 들어 있습니다.
  * CSR에는 다음이 포함됩니다.
    * **공개 키** - 발급된 인증서에 포함될 암호화 키
    * **ID 정보** - 조직 이름, 장치 식별자, 사용 목적 등의 세부 정보
    * **디지털 서명** - 요청자가 해당 개인 키를 보유하고 있음을 증명합니다.
  * CSR 작동 방식:
    1. 장치에서 공개 키/개인 키 쌍을 생성합니다.
    2. 장치에서 공개 키와 ID 정보가 포함된 CSR을 생성합니다.
    3. 장치에서 개인 키로 CSR에 서명합니다.
    4. CSR을 인증 기관(이 경우 Guardian Cloud)에 전송합니다.
    5. CA에서 요청을 검증하고 인증서를 발급합니다.
    6. 개인 키는 장치 외부로 나가지 않습니다.
* 키는 생성된 개인 ID에 저장됩니다.

### 2. Guardian Cloud에 PR 제출

* **연결된 프로비저닝:**
  * API 또는 CLI: Guardian 라이브러리 API 또는 `mcguard_provision` CLI 유틸리티를 사용하여 생성된 PR을 Guardian Cloud에 자동으로 제출하고 해당 인증 프로필을 가져와 해당 디바이스의 프로비저닝을 완료합니다.
* **연결이 끊긴 환경에서의 프로비저닝:** Guardian Cloud UI를 사용하여 생성된 PR을 업로드합니다.

### 3. Guardian Cloud에서 인증 프로필(CP) 가져오기

* **연결된 프로비저닝:**
  * CLI: 디바이스의 PR 처리가 완료되면 해당 인증 프로필이 자동으로 가져와집니다.
  * API: Guardian 라이브러리 API를 사용하여 인증 프로필을 가져옵니다.
* **연결이 끊긴 환경에서의 프로비저닝:** Guardian Cloud UI에서 발급된 인증 프로필을 다운로드한 다음 해당 디바이스에 설치합니다.

## UI를 통해 프로비저닝

### 오프라인 프로비저닝 방법

장치가 네트워크에 연결되지 않고 현장 기술자가 파일을 수동으로 전송해야 하는 경우 이 방법을 사용합니다.

**추가 사전 요구 사항:**

* 장치에서 추출한 프로비저닝 요청(.mcpr 파일)

**오프라인 프로비저닝 단계:**

프로비저닝 프로세스는 다음 페이지에서 시작할 수 있습니다: **Provisioning** 페이지에서 시작한 다음 [프로비저닝을 관리합니다](/ko/guardian/understand-device-provisioning/manage-device-provisioning.md) Devices 페이지에서 가져옵니다.

1. **디바이스에서 PR 추출:** 현장 기술자가 디바이스에서 생성된 프로비저닝 요청( `.mcpr`  파일)을 추출합니다.
2. 이 페이지의 빠른 필터 드롭다운에서 시스템 이름을 선택합니다. 시스템 정의라고도 하는 시스템 이름은 하나만 선택할 수 있습니다.
3. Guardian에 로그인한 후 사이드바에서 **Provisioning**  항목을 클릭합니다.
4. 다음을 클릭합니다. **프로비저닝 시작** 버튼입니다. 이 버튼을 누르면 프로비저닝 요청을 업로드하라는 메시지가 표시됩니다. 이 요청은 `.mcpr` 파일입니다.
5. **승인 모니터링:** PR이 [Devices](/ko/guardian/understand-device-provisioning/manage-device-provisioning.md) 페이지에 표시되며, 여기서 승인/처리 워크플로를 진행합니다.
   * **자동 승인 시스템:** Guardian은 기기 PR을 승인 절차에 따라 자동으로 처리한 다음, 각 기기의 인증된 프로필(CP)을 해당 기기에 직접 전송합니다.
   * **수동 승인 시스템:** 팀에서 수동으로 승인 또는 거부한 다음, 프로비저닝을 수동으로 완료합니다.
6. **프로필 다운로드(연결 끊김):** 프로비저닝 요청이 처리되면 인증된 프로필 또는 CP( `.mcp` 파일)를 다음에서 다운로드하라는 메시지가 표시됩니다. **Provisioning** 페이지.
7. **프로비저닝 완료(연결 끊김):** CP는 다음에서 수동으로 다운로드합니다. [프로비저닝](/ko/guardian/understand-device-provisioning/begin-device-provisioning.md) 페이지에서 기기에 수동으로 설치합니다. 다음을 클릭하여 **프로비저닝 완료** 상태로 표시합니다. **프로비저닝됨** (으)로 표시합니다.

### 연결된 프로비저닝 방식

연결된 기기는 프로비저닝 요청(PR)을 Guardian Cloud에 자동으로 전송합니다.

* 자동 승인 시스템에서는 Guardian이 기기 PR을 승인 절차에 따라 자동으로 처리한 다음, 각 기기의 인증된 프로필(CP)을 해당 기기에 직접 전송합니다.
* 수동 승인 시스템에서는 팀에서 수동으로 승인 또는 거부한 다음, [Devices](/ko/guardian/understand-device-provisioning/manage-device-provisioning.md) 페이지에서 프로비저닝을 수동으로 완료합니다.

두 승인 방식 모두 CP가 Guardian에서 자동으로 다운로드되어 기기에 자동으로 설치되고, 기기는 Guardian에서 자동으로 **프로비저닝됨** 으로 표시됩니다.

## 명령줄을 통한 프로비저닝

다음 `mcguard_provision` 유틸리티를 사용하여 프로비저닝 워크플로를 테스트하거나 Guardian Library를 통합할 수 없는 기기 또는 프록시 프로비저닝 설정을 처리합니다.

명령줄 도구는 다음을 지원합니다.

* 네트워크에 연결된 기기
* 오프라인 프로비저닝이 필요한 연결되지 않은 기기
* 게이트웨이 기기가 다른 기기의 프로비저닝을 처리하는 프록시 시나리오

전체 명령 구문, 예시 및 문제 해결 안내는 다음을 참조하세요. [명령줄을 사용하여 기기 프로비저닝](/ko/guardian/understand-device-provisioning/begin-device-provisioning/provision-devices-using-command-line.md).

## API를 통한 프로비저닝

다음을 통해 [Guardian API를 사용하여 기기를 프로비저닝](/ko/guardian/understand-device-provisioning/begin-device-provisioning/provision-devices-using-api.md), 기기 설정, 보안 자격 증명 생성 및 신뢰할 수 있는 연결 설정을 수행할 수 있습니다. 이를 위해 애플리케이션 코드에 Guardian Library를 통합해야 합니다. 이를 통해 외부 도구나 수동 작업 대신 함수 호출을 통해 프로비저닝 프로세스를 완전히 프로그래밍 방식으로 제어할 수 있습니다.

API는 연결된 기기, 연결되지 않은 기기 및 프록시 프로비저닝 워크플로를 지원합니다. 전체 구현 세부 정보, 함수 설명 및 코드 예시는 다음을 참조하세요. [API를 사용하여 기기 프로비저닝](/ko/guardian/understand-device-provisioning/begin-device-provisioning/provision-devices-using-api.md).

#### API를 사용해야 하는 경우:

* 기기 소프트웨어에 프로비저닝 로직을 직접 포함해야 하는 경우
* 수동 개입 없이 프로비저닝 워크플로를 자동화해야 하는 경우
* 프로비저닝 프로세스를 세밀하게 제어해야 하는 경우
* 기존 기기 관리 시스템과 통합해야 하는 경우

## 디버깅 및 로깅

Guardian은 로그 파일을 생성하지 않습니다. 대신 로깅은 애플리케이션에서 제어합니다.

* Guardian은 로그를 다음으로 출력합니다: `stdout` 및 `stderr`이러한 로그는 실행 중인 애플리케이션의 터미널/CLI에 표시됩니다. 출력에서 특정 오류 코드나 연결 실패를 확인하세요.
* **사용자 지정 로깅:** 다음을 사용하여 `SetLoggingCallback` 로그 메시지를 콜백 함수로 리디렉션할 수 있습니다. 이렇게 하면 터미널 출력이 중단되고 사용자 지정 로그 처리가 가능해집니다.
* **로그 제어:** 애플리케이션에서 로그 수준과 상세도를 제어할 수 있습니다.
* **Guardian Cloud UI**: Guardian Cloud 인터페이스에서 추가 오류 세부 정보와 프로비저닝 상태를 확인하세요.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.medcrypt.com/ko/guardian/understand-device-provisioning/begin-device-provisioning.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
