Mã mẫu cho chính sách mạng

Các yêu cầu dưới đây minh hoạ hoạt động quản lý chính sách bằng API Chính sách bằng cách sử dụng làm ví dụ. Trước khi bắt đầu, hãy đảm bảo bạn xem xét Tổng quan về API Chính sách ChromeHướng dẫn về giản đồ chính sách.

Tất cả yêu cầu được trình bày dưới đây đều sử dụng các biến sau:

  • $TOKEN – Mã thông báo OAuth 2
  • $CUSTOMER – Mã khách hàng hoặc giá trị cố định my_customer
  • $ORG_UNIT – Mã của đơn vị tổ chức mục tiêu
  • $NETWORK_ID – Giá trị nhận dạng duy nhất của đối tượng bạn muốn tương tác

Chính sách Dịch vụ mạng

Dịch vụ mạng chính sách là một API hỗ trợ API chính sách của Chrome trong quản lý chế độ cài đặt mạng.

API này bao gồm 4 điểm cuối:

Định nghĩa mạng

Điểm cuối Xác định mạng được dùng để tạo mạng mới. Điểm cuối này dùng cho mạng Wi-Fi, Ethernet và VPN.

Trong ví dụ này, chúng ta định nghĩa một Mạng Wi-Fi đơn giản. Để xác định một cấu trúc phức tạp hơn mạng, hãy kiểm tra xem có những trường nào trong không gian tên chrome.networks.wifi.

Chính sách chi tiết_schema phải hiển thị cho tất cả các loại mạng.

curl -H "Content-Type: application/json" -H "Authorization:Bearer $TOKEN"   -d "{target_resource: 'orgunits/$ORG_UNIT', \
    name: 'Network Name', \
    settings: [
      {policy_schema: 'chrome.networks.wifi.AllowForChromeUsers', value: {'allowForChromeUsers': true}}, \
      {policy_schema: 'chrome.networks.wifi.Details',value: {'details': {'security': 'None', 'ssid': 'ssid'}}}
    ]}" \
    "https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies/networks:defineNetwork"   

Phản hồi thành công sẽ chứa mạng đã tạo, bao gồm cả networkId tham chiếu đến mạng đó.

{
  "networkId": "Network Name-Wifi",
  "targetResource": "orgunits/$ORG_UNIT",
  "settings": [
    {
      "policySchema": "chrome.networks.wifi.Details",
      "value": {
        "details": {
          "ssid": "ssid",
          "security": "None",
          "proxySettings": {
            "type": "Direct"
          },
          "allowIpConfiguration": false,
          "allowNameServersConfiguration": false,
          "nameServerSelection": "NAME_SERVERS_ENUM_AUTOMATIC"
        }
      }
    },
    {
      "policySchema": "chrome.networks.wifi.AllowForChromeDevices",
      "value": {
        "allowForChromeDevices": false
      }
    },
    {
      "policySchema": "chrome.networks.wifi.AllowForChromeUsers",
      "value": {
        "allowForChromeUsers": true
      }
    }
  ]
}

Xoá mạng

Điểm cuối Xoá mạng được dùng để xoá một mạng. Điểm cuối này dùng cho mạng Wi-Fi, Ethernet và VPN.

Trong ví dụ này, chúng ta sẽ xoá một mạng Wi-Fi.

curl -H "Content-Type: application/json" -H "Authorization:Bearer $TOKEN" -d "{target_resource: 'orgunits/$ORG_UNIT', network_id: '$NETWORK_ID'}" \
"https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies/networks:removeNetwork"

Phản hồi thành công trống.

{}

Định nghĩa chứng chỉ

Điểm cuối Xác định chứng chỉ được dùng để tạo chứng chỉ mới.

Trong ví dụ này, chúng ta xác định chứng chỉ và cho phép thiết bị Chrome sử dụng chứng chỉ đó.

curl -H "Content-Type: application/json" -H "Authorization:Bearer $TOKEN" -d " \
{
  target_resource: 'orgunits/$ORG_UNIT', 
  certificate: 'raw string representation of a .pem or .crt certificate file.', 
  settings: [{
      policy_schema: 'chrome.networks.certificates.AllowForChromeDevices', 
      value: {'allowForChromeDevices': true} 
  }]
}" "https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies/networks:defineCertificate"

Phản hồi thành công sẽ chứa mục tham chiếu đến chứng chỉ đã tạo (networkId).

{
  "networkId": "{c045f8df-79f1-49d3-92b9-0e61516e6a6b}",
  "targetResource": "orgunits/$ORG_UNIT"
}

Xoá chứng chỉ

Điểm cuối Xoá chứng chỉ được dùng để xoá định nghĩa chứng chỉ.

Trong ví dụ này, chúng tôi sẽ xoá một chứng chỉ.

curl -H "Content-Type: application/json" -H "Authorization:Bearer $TOKEN" -d "{target_resource: 'orgunits/$ORG_UNIT', network_id: '$NETWORK_ID'}" \
"https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies/networks:removeCertificate"

Phản hồi thành công trống.

{}

Tương tác với các mạng đã lưu của bạn

Để tương tác với một chứng chỉ hoặc mạng, hãy sử dụng Policy API. Yêu cầu phải bao gồm một khoá mục tiêu bổ sung, đại diện cho tài nguyên mà bạn muốn tương tác.

Bạn chỉ được phép bỏ qua khoá mục tiêu bổ sung trong yêu cầu phân giải. Chiến dịch này sẽ dẫn đến việc tất cả các mạng khớp với vùng chứa tên được yêu cầu đều được trả về.

Bạn có thể lấy giản đồ mạng đầy đủ thông qua dịch vụ giản đồ bằng bộ lọc.
Để xem tất cả chế độ cài đặt VPN, hãy thử cách sau:

curl -H "Authorization:Bearer $TOKEN" \
  "https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policySchemas?filter=chrome.networks.vpn"

Dưới đây là ví dụ về cách thêm Imprivata làm tổ chức phát hành chứng chỉ.

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{
        requests: [{
                policyTargetKey: {
                        targetResource: "orgunits/$ORG_UNIT",
                        additionalTargetKeys: {"network_id": "$NETWORK_ID"}
                        },
                policyValue: {
                        policySchema: "chrome.networks.certificates.AllowForChromeImprivata",
                        value: {allowForChromeImprivata: true}
                        },
                updateMask: {paths: "allowForChromeImprivata"}
       }]
      }' \
  "https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies/orgunits:batchModify"

Dưới đây là ví dụ về cách thay đổi mật khẩu mạng.

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{
        requests: [{
                policyTargetKey: {
                        targetResource: "orgunits/$ORG_UNIT",
                        additionalTargetKeys: {"network_id": "$NETWORK_ID"}
                        },
                policyValue: {
                        policySchema: "chrome.networks.wifi.Details",
                        value: {details: {
                                  ssid: 'ssid',
                                  security: 'WEP-PSK'
                                  passphrase: 'Your passphrase.'
                               }
                        }
                },
                updateMask: {paths: "details"}
        }]
      }' \
  "https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies/orgunits:batchModify"