정책 스키마

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

예를 들어 다음은 Chrome의 작업 표시줄에 로그아웃 버튼이 표시되도록 허용하는 설정을 Schema Service API에서 표현하는 방법입니다. 이 설정을 단순화하면 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 key="app_id" 서비스 > 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 Drawings' Chrome 앱을 나타냅니다.
  • android:com.google.android.calendar는 'Google Calendar' Android 앱을 나타냅니다.
  • web:https://canvas.apps.chrome는 '캔버스' 웹 앱을 나타냅니다.

다중 값 필드

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

정책 스키마 상태

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

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

수명 주기 단계

단계 설명
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"
  }
}
  

정책 스키마 알림

일부 정책에는 특정 정책 필드의 특정 값에 대해 acknowledgement_requiredtrue로 설정된 notices가 연결되어 있습니다. 이러한 정책의 경우 값을 설정하기 전에 특수 확인 필드를 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 브라우저

다음 단계