> ## Documentation Index
> Fetch the complete documentation index at: https://docs.iru.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Privacy Library Item 구성

> Mac 컴퓨터에서 PPPC로 앱 액세스를 적용하고, Mac 컴퓨터, iPhone 기기 및 iPad 기기에서 앱 및 Safari 웹사이트 권한을 권장합니다.

<Callout icon="apple" color="#B84A7A" iconType="regular">이 Library Item은 Mac 컴퓨터, iOS 기기 및 iPadOS 기기에서 사용할 수 있습니다</Callout>

### Privacy Library Item 정보

Privacy Library Item에는 두 가지 컨트롤 세트가 있습니다. 작동 방식이 다르므로 각각 Library Item 내의 별도 타일에 있습니다.

| 컨트롤 | 플랫폼 | 동작 |
| - | - | - |
| **App access** | Mac 컴퓨터 | 기기에서 개인 정보 보호 결정을 설정합니다. 사용자에게 메시지가 표시되지 않으며 사용자가 변경할 수 없습니다. |
| **Recommended privacy permissions - Apps** | Mac 컴퓨터, iPhone 기기 및 iPad 기기 | 앱에 대한 권한을 권장합니다. 최종 결정은 사용자가 내립니다. Mac에서는 번들 ID와 지정 요구 사항으로 앱을 식별합니다. |
| **Recommended privacy permissions - Websites** | Mac 컴퓨터, iPhone 기기 및 iPad 기기 | Safari에서 열린 웹사이트에 대한 카메라 및 마이크 액세스를 권장합니다. Mac, iPhone 및 iPad에 동일한 설정이 적용됩니다. |

App access는 PPPC(Privacy Preferences Policy Control)를 기반으로 하며 **Mac only settings** 타일에 표시됩니다.

권장 앱 권한은 iPhone 및 iPad용과 Mac용을 별도로 구성합니다. 권장 웹사이트 권한은 Mac, iPhone 및 iPad에 동일한 설정을 사용합니다.

권장 개인 정보 보호 권한을 사용하려면 iOS 27 이상, iPadOS 27 이상 또는 macOS 27 이상을 실행하는 감독 기기가 필요합니다. 타일은 **설치 대상**에서 해당 플랫폼을 추가한 후에 표시됩니다.

<Note>
  기존 Privacy Library Items의 범위는 다시 지정되지 않습니다. iPhone 및 iPad 지원이 추가되기 전에 Library Item을 생성한 경우 해당 플랫폼을 **설치 대상**에 직접 추가해야 합니다.
</Note>

### Privacy Library Item 추가

<Steps>
  <Step title="Library Item 생성">
    [Library 관리](/ko/endpoint/getting-started/blueprints-and-library/managing-library)의 단계에 따라 Privacy Library Item을 생성합니다.
  </Step>

  <Step title="Library Item 이름 지정">
    Library Item에 설명이 포함된 이름을 지정합니다.
  </Step>

  <Step title="설치 대상 설정">
    **설치 대상**에서 이 Library Item이 적용되는 플랫폼(**Mac**, **iPhone**, **iPad**)을 선택합니다.
  </Step>

  <Step title="Blueprints에 할당">
    Library Item을 원하는 [Blueprints](/ko/endpoint/blueprints/assignment-maps/creating-a-blueprint)에 할당합니다.
  </Step>
</Steps>

한 번에 하나의 Privacy Library Item만 기기에 적용됩니다. 아래의 플랫폼 설정을 구성한 다음 **저장**을 선택합니다.

### 개인 정보 보호 설정 구성

<Tabs>
  <Tab title="Mac" id="mac" icon="apple" iconType="brands">
    App access는 PPPC를 사용하여 개인 정보 보호 결정을 Mac에 직접 기록합니다. 결정이 시스템에 의해 설정되므로 시스템 설정에 표시되지 않고, 사용자가 변경할 수 없으며, 우회할 방법도 없습니다.

    PPPC는 TCC(Transparency, Consent, and Control) 설정을 구성합니다. 번들 ID 또는 경로로 각 앱을 식별하고, 코드 요구 사항을 제공하고, 앱이 액세스할 수 있는 서비스를 선택합니다. 자세한 내용은 [Apple의 Privacy Preferences Policy Control 문서](https://support.apple.com/en-gb/guide/deployment/dep38df53c2a/web)를 참조하세요.

    #### 개인 정보 보호 프로파일이 필요한 앱 확인

    앱에 추가 개인 정보 보호 권한이 필요한지 확인하려면 다음 단계를 따르세요.

    <Steps>
      <Step title="앱 설치 및 실행">
        테스트 기기 또는 macOS 가상 머신에 앱을 설치합니다. 앱을 실행하고 손쉬운 사용 기능이나 Downloads 폴더에 대한 요청 등 표시되는 대화상자를 기록합니다.
      </Step>

      <Step title="시스템 설정 열기">
        시스템 설정으로 이동하여 **Privacy & Security**를 선택합니다.
      </Step>

      <Step title="앱 권한 확인">
        오른쪽에서 **Accessibility**와 같은 옵션을 선택합니다. 앱이 목록에 있으면 해당 PPPC 권한이 필요합니다.
      </Step>

      <Step title="앱 경로 가져오기">
        앱을 Control-클릭한 다음 **Show in Finder**를 선택합니다. 앱이 선택된 상태로 Finder가 열립니다. 다음 단계에서 사용할 전체 경로를 얻으려면 앱을 Terminal로 끌어다 놓습니다.
      </Step>
    </Steps>

    #### 식별자 및 코드 요구 사항 확인

    앱이 설치된 Mac에서 Terminal을 사용하여 앱의 코드 요구 사항과 식별자를 수집합니다.

    <Steps>
      <Step title="Terminal 실행">
        앱이 설치된 Mac에서 Terminal을 실행합니다.
      </Step>

      <Step title="codesign 명령 실행">
        `/Applications/zoom.us.app`을 앱 경로로 바꾸어 다음 명령을 실행합니다.

        ```bash theme={null}
        codesign -dr - "/Applications/zoom.us.app"
        ```
      </Step>

      <Step title="코드 요구 사항 및 식별자 복사">
        **=>** 문자 뒤의 모든 텍스트를 앞뒤 공백 없이 복사합니다. 이것이 **Code requirement**입니다. `us.zoom.xos`와 같이 따옴표 사이의 부분이 **Identifier**입니다.
      </Step>
    </Steps>

    #### 앱 액세스 구성

    <Note>
      MDM을 통해 배포된 개인 정보 보호 설정은 시스템 설정에 표시되지 않습니다.
    </Note>

    **Mac only settings** 타일을 작성합니다.

    <Steps>
      <Step title="식별자 유형 설정">
        출력에서 코드 요구 사항의 첫 부분에 식별자가 포함된 경우 **App Identifier**를 **번들 ID**로 그대로 둡니다. 그렇지 않으면 **경로**를 선택합니다.
      </Step>

      <Step title="식별자 또는 경로 입력">
        코드 요구 사항의 첫 부분에서 찾은 식별자를 입력합니다. **경로**를 선택한 경우 경로를 입력합니다.
      </Step>

      <Step title="코드 요구 사항 붙여 넣기">
        Terminal에서 복사한 전체 코드 요구 사항을 붙여 넣습니다. 앞뒤 공백이 있으면 프로파일이 배포되지 않을 수 있습니다.
      </Step>

      <Step title="코드 요구 사항 검증(선택 사항)">
        프로세스가 동적 코드 서명을 무효화하는 경우에만 **Statically validate the code requirement**를 선택합니다. 대부분의 앱에는 필요하지 않습니다.
      </Step>

      <Step title="앱 또는 서비스 선택">
        **App or Service** 드롭다운에서 옵션을 선택합니다. 이 선택은 애플리케이션의 요구 사항에 따라 달라집니다. 자세한 내용은 [개인 정보 보호 프로파일이 필요한 앱 확인](#determine-which-apps-need-a-privacy-profile)을 참조하세요.
      </Step>

      <Step title="액세스 선택">
        **Select access** 드롭다운에서 **허용** 또는 **거부**를 선택합니다.

        <Warning>
          Apple의 개인 정보 보호 요구 사항으로 인해 Camera, Microphone 및 Screen Recording에 대해서는 **거부**만 선택할 수 있습니다. 이러한 설정을 정의하지 않으면 사용자가 직접 액세스를 승인할 수 있습니다.
        </Warning>
      </Step>

      <Step title="추가 필드 작성(표시되는 경우)">
        일부 앱 또는 서비스는 추가 정보를 요청합니다. **AppleEvents**의 경우 **Receiver identifier type**을 **번들 ID** 또는 **경로**로 설정한 다음 **Receiver identifier** 및 **Receiver code requirement**를 입력합니다.
      </Step>

      <Step title="액세스 추가(선택 사항)">
        동일한 앱에 다른 서비스에 대한 액세스 권한을 부여하려면 **Add more**를 선택하거나, 다음 단계로 계속 진행합니다.
      </Step>

      <Step title="추가 앱 추가(선택 사항)">
        다른 Mac 앱을 추가해야 하는 경우에만 **Add app access**를 선택합니다.
      </Step>
    </Steps>

    App access를 완료하면 [Mac 앱에 대한 권한 권장](#recommend-permissions-for-a-mac-app)에서 Mac 앱에 대한 권장 개인 정보 보호 권한을 구성합니다. iPhone 및 iPad 앱의 경우 [iPhone 및 iPad](#iphone-and-ipad) 탭으로 이동합니다. 웹사이트의 경우 [웹사이트에 대한 권한 권장](#recommend-permissions-for-a-website)을 참조하세요. **저장**을 선택합니다. Library Item을 저장하고 배포한 후 대상 Mac에서 [프로파일을 확인](#verify-the-profile)합니다.

    #### 프로파일 확인

    Library Item을 저장하고 Mac에 배포한 후 프로파일을 확인합니다. 아래 단계는 해당 Mac에 설치된 프로파일을 확인합니다.

    <Steps>
      <Step title="System Information 열기">
        대상 Mac 컴퓨터에서 **System Information**을 엽니다.
      </Step>

      <Step title="Profiles 선택">
        왼쪽 열에서 **Profiles**를 선택합니다.
      </Step>

      <Step title="프로파일 찾기">
        PPPC 페이로드가 포함된 프로파일을 찾습니다.
      </Step>

      <Step title="프로파일 세부 정보 펼치기">
        프로파일 이름 옆의 펼침 삼각형을 선택합니다.
      </Step>

      <Step title="TCC 정책 확인">
        `com.apple.TCC.configuration-profile-policy` 항목을 찾습니다. 이는 프로파일이 기기에서 TCC 권한을 관리하고 있음을 확인해 줍니다.
      </Step>
    </Steps>

    #### Mac 앱에 대한 권한 권장

    Mac의 권장 개인 정보 보호 권한은 iPhone 및 iPad와 동일한 방식으로 작동합니다. 결정을 권장하며 최종 선택은 사용자가 합니다. 사용자가 앱을 처음 열면 Mac은 권장하는 권한과 정당화 사유를 나열한 하나의 동의 프롬프트를 표시합니다. 사용자는 **허용**을 선택하여 모두 적용하거나 **Not Now**를 선택하여 표준 프롬프트를 유지합니다.

    이는 App access와 별개입니다. App access는 Mac 앱에 대한 개인 정보 보호 결정을 기록합니다. 권장 개인 정보 보호 권한은 결정을 사용자에게 맡깁니다.

    **Recommended privacy permissions - Apps**에서 Mac 앱을 구성합니다. Mac은 감독 상태여야 하며 macOS 27 이상을 실행해야 합니다.

    Mac에서는 번들 ID와 지정 요구 사항으로만 앱을 식별합니다. 이는 App access를 위해 수집하는 것과 동일한 쌍입니다. 지정 요구 사항은 코드 요구 사항입니다.

    <Steps>
      <Step title="앱 식별">
        **App Identifier**에 번들 ID와 지정 요구 사항을 입력합니다. 이 필드의 레이블은 **Bundle ID + Designated Requirement**이며 **macOS App Kit apps only**에 적용됩니다. 두 값은 [식별자 및 코드 요구 사항 확인](#determine-the-identifier-and-code-requirement)에서 수집합니다. 필드에는 `com.example.app (anchor apple generic)`과 같은 값의 형식이 표시됩니다.

        이 규칙에 다른 번들 ID와 지정 요구 사항을 추가하려면 식별자 아래의 **Add app**을 선택합니다.
      </Step>

      <Step title="정당화 메시지 입력">
        **Justification message**를 입력합니다. 사용자가 앱을 실행할 때 동의 프롬프트에 이 텍스트가 표시됩니다. 모든 앱에 필수이며, 메시지가 없는 규칙에는 **Missing required fields**가 표시됩니다.
      </Step>

      <Step title="권장 권한 설정">
        권장할 각 권한에 대한 값을 설정합니다. **구성되지 않음**으로 남겨 둔 권한은 전송되지 않으며 평소처럼 사용자에게 메시지가 표시됩니다.
      </Step>

      <Step title="추가 앱 추가(선택 사항)">
        자체 정당화 사유와 권한을 가진 다른 Mac 앱이 필요한 경우에만 **Add app**을 선택합니다.
      </Step>
    </Steps>

    Mac 앱에 대해 권장할 수 있는 권한은 다음과 같습니다.

    | 권한 | 값 |
    | - | - |
    | Bluetooth | Allow |
    | Camera | Allow |
    | Dictation | Allow |
    | Microphone | Allow |
    | Local Network | Allow |
    | Location | Always |
    | Accessibility | Allow |

    Safari에서 열린 웹사이트에 대한 카메라 또는 마이크 액세스를 권장하려면 [웹사이트에 대한 권한 권장](#recommend-permissions-for-a-website)을 참조하세요.
  </Tab>

  <Tab title="iPhone 및 iPad" id="iphone-and-ipad" icon="mobile-phone" iconType="solid">
    iPhone 및 iPad에서는 권한을 권장합니다. 사용자가 앱을 처음 열면 기기는 권장하는 모든 항목과 정당화 메시지를 나열한 하나의 동의 프롬프트를 표시합니다. 사용자는 **허용**을 선택하여 모두 적용하거나 **Not Now**를 선택하여 표준 프롬프트를 유지합니다. 결정은 사용자에게 있습니다. Mac 앱은 [Mac 앱에 대한 권한 권장](#recommend-permissions-for-a-mac-app)에서 구성합니다. Mac, iPhone 및 iPad의 웹사이트 설정은 [웹사이트에 대한 권한 권장](#recommend-permissions-for-a-website)에 있습니다.

    <Note>
      iPhone 또는 iPad에서는 단일 앱에 대한 권한을 거부할 방법이 없습니다. 앱별 개인 정보 보호 결정 적용은 App access에서 구성하는 Mac 기능입니다. [Apple Restrictions Library Item](/ko/endpoint/library/library-items-profiles/configure-the-restrictions-library-item)은 기기 전체에서 카메라, 스크린샷 및 화면 녹화 또는 받아쓰기를 끌 수 있지만, 개별 앱에 대한 Microphone, Bluetooth, Local Network 또는 Location은 제어하지 않습니다.
    </Note>

    iPhone 및 iPad의 권장 앱 권한에는 다음이 필요합니다.

    * iOS 27 이상 또는 iPadOS 27 이상
    * 감독 기기
    * **설치 대상**에 **iPhone** 또는 **iPad** 추가

    #### 앱에 대한 권한 권장

    **Recommended privacy permissions - Apps**에서 iPhone 및 iPad 앱을 구성합니다. Mac 앱은 번들 ID와 지정 요구 사항을 사용합니다. 이는 [Mac 앱에 대한 권한 권장](#recommend-permissions-for-a-mac-app)에서 구성합니다.

    <Steps>
      <Step title="앱 식별">
        **번들 ID**에 하나 이상의 번들 ID를 입력하거나, **Pick from Library**를 선택하고 Library에 이미 있는 앱을 선택합니다. 하나의 Library Item에 동일한 앱을 두 번 추가할 수 없습니다.
      </Step>

      <Step title="정당화 메시지 입력">
        조직에서 이러한 권한을 권장하는 이유를 설명하는 **Justification message**를 입력합니다. 사용자는 동의 프롬프트에서 이 텍스트를 봅니다. 모든 앱에 필수이며, 메시지가 없는 규칙에는 **Missing required fields**가 표시됩니다.
      </Step>

      <Step title="권장 권한 설정">
        권장할 각 권한에 대한 값을 설정합니다. **구성되지 않음**으로 남겨 둔 권한은 전송되지 않으며 평소처럼 사용자에게 메시지가 표시됩니다.
      </Step>

      <Step title="추가 앱 추가(선택 사항)">
        다른 앱을 추가해야 하는 경우에만 **Add app**을 선택합니다.
      </Step>
    </Steps>

    iPhone 또는 iPad 앱에 대해 권장할 수 있는 권한은 다음과 같습니다.

    | 권한 | 값 |
    | - | - |
    | Bluetooth | Allow |
    | Camera | Allow |
    | Dictation | Allow |
    | Microphone | Allow |
    | Local Network | Allow |
    | Location | While Using, Always |
    | Location Accuracy | Approximate, Precise |
  </Tab>
</Tabs>

### 웹사이트에 대한 권한 권장

웹사이트도 앱과 같은 방식으로 카메라와 마이크를 요청할 수 있으므로, 조직이 사용하는 사이트에 대해 이러한 권한을 권장할 수 있습니다. Mac, iPhone 및 iPad에 동일한 웹사이트 설정이 적용됩니다. 정당화 메시지와 권장 권한은 추가하는 모든 웹사이트에 적용됩니다. Safari에서 처음 방문할 때 기기는 하나의 동의 프롬프트를 표시하며, 사용자는 **허용** 또는 **Not Now**를 선택합니다.

권장 웹사이트 권한을 사용하려면 iOS 27 이상, iPadOS 27 이상 또는 macOS 27 이상을 실행하는 감독 기기가 필요합니다. **설치 대상**에 **Mac**, **iPhone** 또는 **iPad**를 추가하세요.

<Note>
  이러한 권장 사항은 Safari에만 적용됩니다. 사용자가 이러한 웹사이트 중 하나를 다른 브라우저에서 열면, 해당 브라우저가 기본 브라우저로 설정된 경우에도 평소처럼 카메라 및 마이크 액세스를 요청합니다.
</Note>

<Steps>
  <Step title="웹사이트 추가">
    **Recommended privacy permissions - Websites**에서 **Add website**를 선택합니다.
  </Step>

  <Step title="웹사이트 식별자 입력">
    `www.iru.com`과 같은 단일 도메인과 일치시키려면 **Domain**을 선택합니다. `*example.com`과 같이 도메인과 하위 도메인을 일치시키려면 **Wildcard**를 선택합니다. 전체 URL이 아닌 도메인을 입력합니다.
  </Step>

  <Step title="웹사이트 추가(선택 사항)">
    추가 도메인을 포함하려면 **Add website**를 선택합니다. 동일한 정당화 메시지와 권장 권한이 사용됩니다.
  </Step>

  <Step title="정당화 메시지 입력">
    **Justification message**를 입력합니다. 사용자가 추가한 웹사이트 중 하나를 방문할 때 이 텍스트가 표시됩니다.
  </Step>

  <Step title="권장 권한 설정">
    **Camera**, **Microphone** 또는 둘 다를 권장합니다. 이 값은 Mac, iPhone 및 iPad에서 목록의 모든 웹사이트에 적용됩니다. **구성되지 않음**으로 남겨 둔 권한은 전송되지 않습니다.
  </Step>
</Steps>

| 권한 | 값 |
| - | - |
| Camera | Allow |
| Microphone | Allow |

### 문제 해결

<AccordionGroup>
  <Accordion title="Mac에서 애플리케이션이 계속 권한을 요청함">
    <Steps>
      <Step title="코드 요구 사항 확인">
        코드 요구 사항이 앞뒤 공백 없이 올바르게 복사되었는지 확인합니다. `codesign -dr -` 명령을 다시 실행하여 프로파일의 내용과 일치하는지 확인합니다.
      </Step>

      <Step title="식별자 유형 확인">
        올바른 식별자 유형(Bundle ID 또는 Path)을 선택했는지, 식별자가 codesign 명령이 반환한 값과 일치하는지 확인합니다.
      </Step>

      <Step title="앱 승인 여부 확인">
        앱이 프로파일의 승인된 애플리케이션 목록에 포함되어 있는지 확인합니다.
      </Step>

      <Step title="서비스 권한 확인">
        앱에 올바른 서비스가 구성되어 있는지 확인합니다. 예를 들어 앱에 화면 녹화 액세스가 필요한 경우 **Screen Recording**이 선택되어 있는지 확인합니다.
      </Step>

      <Step title="TCC 로그 스트림 사용">
        액세스를 요청하는 앱 또는 바이너리를 식별하려면 Terminal에서 다음 명령을 실행합니다.

        ```bash theme={null}
        log stream --debug --predicate 'subsystem == "com.apple.TCC" AND eventMessage BEGINSWITH "AttributionChain"'
        ```

        이 명령은 TCC 권한 요청을 실시간으로 표시하며 프로파일에 추가할 정확한 앱 또는 바이너리를 식별하는 데 도움이 됩니다.
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="iPhone, iPad 또는 Mac에서 동의 프롬프트가 표시되지 않음">
    <Steps>
      <Step title="OS 버전 확인">
        권장 개인 정보 보호 권한에는 iOS 27 이상, iPadOS 27 이상 또는 macOS 27 이상이 필요합니다. 해당 버전보다 낮은 기기는 설정을 무시합니다.
      </Step>

      <Step title="기기 감독 여부 확인">
        권장 개인 정보 보호 권한에는 감독 기기가 필요합니다. [Apple 기기 감독](/ko/endpoint/enrollment/apple/apple-device-supervision)을 참조하세요.
      </Step>

      <Step title="플랫폼 할당 확인">
        프롬프트가 표시되지 않는 기기의 플랫폼이 **설치 대상**에 나열되어 있는지 확인합니다. 해당 플랫폼은 **Mac**, **iPhone** 또는 **iPad**입니다.
      </Step>

      <Step title="Mac 앱 식별자 확인">
        Mac 앱의 경우 **App Identifier**에 번들 ID와 지정 요구 사항이 모두 포함되어야 합니다. [Mac 앱에 대한 권한 권장](#recommend-permissions-for-a-mac-app)을 참조하세요.
      </Step>

      <Step title="필수 필드 누락 확인">
        정당화 메시지가 없는 규칙에는 **Missing required fields**가 표시되며 배포되지 않습니다.
      </Step>

      <Step title="앱을 이미 연 적이 있는지 확인">
        프롬프트는 처음 실행하거나 처음 방문할 때 표시됩니다. 사용자가 해당 앱이나 사이트에 대한 권한 프롬프트에 이미 응답한 경우 권장 사항이 다시 표시되지 않습니다.
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="시스템 설정에 권한이 회색으로 표시됨">
    <Steps>
      <Step title="앱 기능 테스트">
        시스템 설정 > Privacy & Security에서 앱에 필요한 권한이 있더라도 특정 권한의 슬라이더가 회색으로 표시될 수 있습니다. 이는 표시 동작이며 문제가 아닙니다. 앱을 테스트하여 작동하는지 확인하세요.
      </Step>

      <Step title="프로파일 활성 여부 확인">
        System Information > Profiles를 확인하여 프로파일이 기기에 설치되어 활성 상태인지 확인합니다.
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="코드 요구 사항 문제">
    <Steps>
      <Step title="코드 요구 사항 형식 확인">
        코드 요구 사항에 앞뒤 공백이 없는지 확인합니다. 공백 하나만 있어도 프로파일이 작동하지 않을 수 있습니다.
      </Step>

      <Step title="앱 업데이트 후 다시 확인">
        앱이 업데이트된 경우 코드 요구 사항이 변경되었을 수 있습니다. codesign 명령을 다시 실행하고 프로파일을 업데이트하세요.
      </Step>

      <Step title="정적 검증 확인">
        **Statically validate the code requirement**를 사용하는 경우 프로세스가 동적 코드 서명을 무효화할 때만 활성화되어 있는지 확인합니다. 대부분의 앱에는 필요하지 않습니다.
      </Step>
    </Steps>
  </Accordion>
</AccordionGroup>
