정책 스키마

Chrome 정책은 Schema Service API에 의해 정책 스키마로 표시됩니다. 각 정책 스키마에는 고유한 이름, 설정 필드 및 유형 정의, 사람이 읽을 수 있는 설정 관련 설명(영어)이 있습니다.

예를 들어 다음은 Schema Service API가 Chrome의 작업 표시줄에 로그아웃 버튼을 표시하도록 허용하는 설정을 나타내는 방법입니다. 이 설정은 bool showLogoutButtonInTray로 간단하게 표현됩니다. Schema Service API가 이 설정을 어떻게 나타내는지 확인하려면 아래의 '예 보기'를 클릭하세요.

예 보기

{
  "name": "customers/C0202nabg/policySchemas/chrome.users.ShowLogoutButton",
  "policyDescription": "Show logout button in tray.", // description of the policy
  "definition": { // definition of the settings (fields names and types)
    "messageType": [
      {
        "name": "ShowLogoutButton",
        "field": [
          {
            "name": "showLogoutButtonInTray", // the setting showLogoutButtonInTray
            "number": 1,
            "label": "LABEL_OPTIONAL",
            "type": "TYPE_BOOL" // the setting showLogoutButtonInTray is of type boolean
          }
        ]
      }
    ]
  },
  "fieldDescriptions": [ // human readable descriptions of the settings and their values
    {
      "field": "showLogoutButtonInTray",
      "knownValueDescriptions": [
        {
          "value": "true",
          "description": "Show logout button in tray." // description for showLogoutButtonInTray=true
        },
        {
          "value": "false",
          "description": "Do not show logout button in tray." // description for showLogoutButtonInTray=false
        }
      ]
    }
  ],
  "schemaName": "chrome.users.ShowLogoutButton" //  unique name to identify the policy
}
  

정책 스키마 이름

스키마의 name{namespace}.{leafName} 형식의 고유 식별자입니다.

위의 예시에서 전체 스키마 이름은 chrome.users.ShowLogoutButton입니다. 네임스페이스는 chrome.users.이고 리프 이름은 ShowLogoutButton입니다.

비슷한 범위의 정책은 동일한 네임스페이스로 그룹화됩니다. 예를 들어 모든 사용자 정책 스키마에는 chrome.users. 네임스페이스가 접두사로 지정되고 모든 프린터 정책 스키마에는 chrome.printers. 네임스페이스가 접두사로 붙습니다.

네임스페이스

네임스페이스 필요한 관리자 역할 권한
chrome.users.LEAF_NAME   서비스 > Chrome 관리 > 설정 > 사용자 설정 관리
chrome.users.apps.LEAF_NAME key="app_id" 서비스 > Chrome 관리 > 설정 > 사용자 설정 관리 > 애플리케이션 설정 관리
chrome.users.appsconfig.LEAF_NAME   서비스 > Chrome 관리 > 설정 > 사용자 설정 관리 > 애플리케이션 설정 관리
chrome.devices.LEAF_NAME   서비스 > Chrome 관리 > 설정 > ChromeOS 기기 설정 관리
chrome.devices.managedguest.LEAF_NAME   서비스 > Chrome 관리 > 설정 > ChromeOS 기기 설정 관리
chrome.devices.managedguest.apps.LEAF_NAME key="app_id" 서비스 > Chrome 관리 > 설정 > ChromeOS 기기 설정 관리
chrome.devices.kiosk.LEAF_NAME   서비스 > Chrome 관리 > 설정 > ChromeOS 기기 설정 관리
chrome.devices.kiosk.apps.LEAF_NAME key="app_id" 서비스 > Chrome 관리 > 설정 > ChromeOS 기기 설정 관리
chrome.devices.kiosk.appsconfig.LEAF_NAME   서비스 > Chrome 관리 > 설정 > ChromeOS 기기 설정 관리
chrome.printers.LEAF_NAME key="printer_id" 서비스 > Chrome 관리 > 설정 > 프린터 관리
chrome.printservers.LEAF_NAME key="print_server_id" 서비스 > Chrome 관리 > 설정 > 프린터 관리
chrome.networks.globalsettings.LEAF_NAME   서비스 > 공유 기기 설정
chrome.networks.wifi.LEAF_NAME key="network_id" 서비스 > 공유 기기 설정
chrome.networks.ethernet.LEAF_NAME key="network_id" 서비스 > 공유 기기 설정
chrome.networks.vpn.LEAF_NAME key="network_id" 서비스 > 공유 기기 설정
chrome.networks.certificates.LEAF_NAME key="network_id" 서비스 > 공유 기기 설정

정책 스키마 키

일부 정책의 경우 보거나 수정하려면 추가 컨텍스트가 필요합니다. 예를 들면 다음과 같습니다.

  • 애플리케이션의 정책을 수정하려면 key="app_id"을 채워 애플리케이션을 지정해야 합니다.
  • 조직 단위의 프린터 설정에 대한 정책을 수정하려면 key="printer_id"을 입력하여 프린터를 지정해야 합니다.

이러한 정책 스키마에는 API 요청에 전달할 키와 값을 설명하는 additionalTargetKeyNames 섹션이 포함됩니다.

자세한 내용은 코드 샘플을 참고하세요.

예 보기

{
  "name": "customers/C0202nabg/policySchemas/chrome.printers.AllowForUsers",
  "policyDescription": "Allows a printer for users in a given organization.",
  "additionalTargetKeyNames": [
    {
      "key": "printer_id",
      "keyDescription": "Id of printer as visible in Admin SDK printers API."
    }
  ],
  "definition": {
    "messageType": [
      {
        "name": "AllowForUsers",
        "field": [
          {
            "name": "allowForUsers",
            "number": 1,
            "label": "LABEL_OPTIONAL",
            "type": "TYPE_BOOL"
          }
        ]
      }
    ]
  },
  "fieldDescriptions": [
    {
      "field": "allowForUsers",
      "description": "Controls whether a printer is allowed for users in a given organization."
    }
  ],
  "schemaName": "chrome.printers.AllowForUsers"
}
  

앱 정책

위의 네임스페이스 중 일부는 사용자 앱, 키오스크 앱, 관리 게스트 세션 앱, 키오스크 앱 구성 정책과 같은 앱 정책용입니다. 앱 정책에는 app_id가 필요합니다.

app_id는 앱 유형과 앱 식별자를 결합하여 형성됩니다. 예를 들면 다음과 같습니다.

  • chrome:mkaakpdehdafacodkgkpghoibnmamcme는 'Google 드로잉' Chrome 앱을 나타냅니다.
  • android:com.google.android.calendar: 'Google Calendar' Android 앱을 나타냅니다.
  • web:https://canvas.apps.chrome: 'Canvas' 웹 앱을 나타냅니다.

다중 값 필드

LABEL_REPEATED 라벨이 있는 필드는 목록 또는 배열과 같이 다중 값 필드를 나타냅니다. 이 필드에는 여러 값을 지정할 수 있습니다. 자세한 내용은 코드 샘플을 참고하세요.

정책 스키마 상태

모든 정책에는 현재 상태를 나타내는 policyApiLifecycle 객체가 있습니다. 이 객체에는 정책 상태에 대한 세부정보가 있는 다음 필드가 포함됩니다.

  • policyApiLifecycleStage 필드는 다음 표의 단계 중 정책의 현재 상태를 가장 잘 설명하는 단계를 보여줍니다.
  • description 필드는 이 정책의 현재 상태에 대한 세부정보를 제공합니다.
  • endSupport 필드에는 정책의 최종 지원 날짜가 표시됩니다(정의된 경우).
  • deprecatedInFavorOf은 policyApiLifecycleStage가 API_DEPRECATED인 경우에만 설정할 수 있습니다. 여기에는 현재 정책이 지원 중단된 새 정책의 정규화된 네임스페이스가 표시됩니다.
  • scheduledToDeprecatePolicies 필드는 지원 중단된 InFavorOf에 해당합니다. 여기에는 이 정책의 도입으로 인해 지원 중단될 이전 정책의 정규화된 네임스페이스가 표시됩니다.

수명 주기 단계

단계 설명
API_UNSPECIFIED 정책의 현재 상태를 알 수 없습니다. 예약되어 있으므로 사용하지 마세요.
API_PREVIEW 정책이 아직 작동하지 않습니다. 이 단계는 API_CURRENT 또는 API_DEVELOPMENT에게 이전할 수 있습니다.
API_DEVELOPMENT 정책이 아직 확정되지 않았으며 브레이킹 체인지가 적용될 수 있습니다. 이 단계는 API_CURRENT 또는 API_DEPRECATED에게 이전할 수 있습니다.
API_CURRENT 정책은 공식적인 형식이지만 브레이킹 체인지가 아닌 변경사항이 도입될 수 있습니다. 이 단계는 API_DEPRECATED님에게 이전할 수 있습니다.
API_DEPRECATED 이 정책은 지원 중단되었으며 향후 삭제될 수 있습니다. 관리자는 이 정책 사용을 중지해야 합니다.

예 보기

{
  "name": "customers/C0202nabg/policySchemas/chrome.users.OutdatedPolicy",
  "policyDescription": "Just for demo, this is an outdated policy.",
  "definition": {
    "messageType": [
      {
        "name": "OutdatedPolicy",
        "field": [
          {
            "name": "outdatedField",
            "number": 1,
            "label": "LABEL_OPTIONAL",
            "type": "TYPE_BOOL"
          }
        ]
      }
    ]
  },
  "fieldDescriptions": [
    {
      "field": "outdatedField",
      "description": "This is an outdated field"
    }
  ],
  "schemaName": "chrome.users.OutdatedPolicy",
  "policyApiLifecycle": { // policy's current lifecycle status
    "policyApiLifecycleStage": "API_DEPRECATED",
    "description": "This policy is deprecated. Please stop using it",
    "endSupport": {
      "year": 2021,
      "month": 2,
      "day": 29
    }
    "deprecatedInFavorOf": "chrome.users.NewPolicy"
  }
}

{
  "name": "customers/C0202nabg/policySchemas/chrome.users.NewPolicy",
  "policyDescription": "Just for demo, this is a new policy.",
  "definition": {
    "messageType": [
      {
        "name": "NewPolicy",
        "field": [
          {
            "name": "newField",
            "number": 1,
            "label": "LABEL_OPTIONAL",
            "type": "TYPE_BOOL"
          }
        ]
      }
    ]
  },
  "fieldDescriptions": [
    {
      "field": "newField",
      "description": "This is an new field"
    }
  ],
  "schemaName": "chrome.users.NewPolicy",
  "policyApiLifecycle": { // policy's current lifecycle status
    "policyApiLifecycleStage": "API_CURRENT,
    "scheduledToDeprecatePolicies": "chrome.users.OutdatedPolicy"
  }
}
  

정책 스키마 알림

일부 정책에는 연결된 notices가 있으며 특정 정책 필드의 특정 값에 대해 acknowledgement_requiredtrue로 설정되어 있습니다. 이러한 정책의 경우 값을 설정하기 전에 특수 확인 필드를 true로 설정해야 합니다.

자세한 내용은 코드 샘플을 참고하세요.

지원되는 플랫폼

supportedPlatforms는 정책이 이러한 플랫폼의 기기 또는 사용자에게만 적용됨을 나타내는 목록입니다. 지원되는 모든 플랫폼이 다음 표에 나와 있습니다.

지원되는 플랫폼

플랫폼 설명
PLATFORM_UNSPECIFIED 플랫폼이 지정되지 않았습니다. 예약되어 있으므로 사용하지 마세요.
CHROME_OS ChromeOS
CHROME_BROWSER macOS/Windows/Linux용 Chrome 브라우저
CHROME_BROWSER_FOR_ANDROID Android용 Chrome 브라우저
CHROME_BROWSER_FOR_IOS iOS용 Chrome 브라우저

다음 단계