คำขอด้านล่างแสดงการจัดการนโยบายด้วย Policy API โดยใช้ นโยบายเครือข่ายเป็นตัวอย่าง ก่อนเริ่มต้น โปรดอ่าน ภาพรวมของ Chrome Policy API และ คู่มือสคีมานโยบาย
คำขอทั้งหมดที่แสดงด้านล่างใช้ตัวแปรต่อไปนี้
$TOKEN
- โทเค็น OAuth 2$CUSTOMER
- รหัสของลูกค้าหรือรหัสของลูกค้าmy_customer
$ORG_UNIT
- รหัสของหน่วยขององค์กรเป้าหมาย$NETWORK_ID
- ตัวระบุที่ไม่ซ้ำกันของออบเจ็กต์ที่คุณต้องการโต้ตอบด้วย
บริการเครือข่ายนโยบาย
บริการ Policy Networks เป็น API เพื่อช่วย Chrome Policy Api ใน ในการจัดการการตั้งค่าเครือข่าย
API ประกอบด้วย 4 ปลายทาง ได้แก่
กำหนดเครือข่าย
ใช้ปลายทาง "กำหนดเครือข่าย" เพื่อสร้างเครือข่ายใหม่ ปลายทางนี้ใช้สำหรับเครือข่าย Wi-Fi, อีเทอร์เน็ต และ VPN
ในตัวอย่างนี้ เรากำหนดเครือข่าย Wi-Fi แบบง่าย หากต้องการกำหนดคำจำกัดความที่ซับซ้อนยิ่งขึ้น ตรวจสอบช่องที่มีอยู่ในเนมสเปซ chrome.networks.wifi
รายละเอียด policy_schema ต้องแสดงสำหรับเครือข่ายทุกประเภท
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"
การตอบกลับที่สำเร็จจะมีเครือข่ายที่สร้างขึ้น ซึ่งรวมถึง networkId ที่อ้างอิงเครือข่ายนั้น
{
"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
}
}
]
}
นำเครือข่ายออก
ใช้ปลายทางนำเครือข่ายออกเพื่อลบเครือข่าย ปลายทางนี้ใช้สำหรับเครือข่าย Wi-Fi, อีเทอร์เน็ต และ VPN
ในตัวอย่างนี้ เราจะนำเครือข่าย 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"
การตอบกลับที่สำเร็จว่างเปล่า
{}
กำหนดใบรับรอง
ใช้ปลายทางการกำหนดใบรับรองเพื่อสร้างใบรับรองใหม่
ในตัวอย่างนี้ เรากำหนดใบรับรองและอนุญาตให้อุปกรณ์ Chrome สามารถใช้ได้
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"
การตอบกลับที่สำเร็จจะมีการอ้างอิงใบรับรองที่สร้างขึ้น (networkId)
{
"networkId": "{c045f8df-79f1-49d3-92b9-0e61516e6a6b}",
"targetResource": "orgunits/$ORG_UNIT"
}
นำใบรับรองออก
ใช้ปลายทางการนำใบรับรองออกเพื่อนำคำจำกัดความใบรับรองออก
ในตัวอย่างนี้ เราจะนำใบรับรองออก
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"
การตอบกลับที่สำเร็จว่างเปล่า
{}
การโต้ตอบกับเครือข่ายที่บันทึกไว้
หากต้องการโต้ตอบกับใบรับรองหรือเครือข่าย ให้ใช้ Policy API คำขอต้องมีคีย์เป้าหมายเพิ่มเติม ซึ่งแสดงถึงทรัพยากรที่คุณ ที่ต้องการโต้ตอบกับ
การละเว้นคีย์เป้าหมายเพิ่มเติมสามารถทำได้ในคำขอแก้ไขเท่านั้น ช่วงเวลานี้ จะทำให้เครือข่ายทั้งหมดตรงกับเนมสเปซที่ขอที่แสดงผล
รับสคีมาเครือข่ายแบบเต็มได้ผ่านบริการสคีมาโดยใช้ตัวกรอง
หากต้องการดูการตั้งค่า VPN ทั้งหมด ให้ลองทำดังนี้
curl -H "Authorization:Bearer $TOKEN" \
"https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policySchemas?filter=chrome.networks.vpn"
ตัวอย่างการเพิ่ม Imprivata เป็นผู้ออกใบรับรองมีดังนี้
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"
ต่อไปนี้คือตัวอย่างของการเปลี่ยนรหัสผ่านเครือข่าย
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"