以下请求展示了使用 网络政策示例在开始之前,请务必先查看 Chrome Policy API 概览和 政策架构指南。
下面展示的所有请求都使用以下变量:
$TOKEN
- OAuth 2 令牌$CUSTOMER
- 客户 ID 或字面量my_customer
$ORG_UNIT
- 目标组织部门的 ID$NETWORK_ID
- 您希望与之互动的对象的唯一标识符
Policy Networks 服务
Policy Networks Service 是一个 API,用于帮助 Chrome Policy API 管理网络设置
该 API 包含四个端点:
定义网络
“定义网络”端点用于创建新网络。 此端点用于 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"