Le richieste riportate di seguito illustrano la gestione dei criteri con l'API Policy utilizzando criteri di rete, ad esempio. Prima di iniziare, assicurati di esaminare Panoramica dell'API Chrome Policy e Guida agli schemi dei criteri.
Tutte le richieste presentate di seguito utilizzano le seguenti variabili:
$TOKEN
- Token OAuth 2$CUSTOMER
- ID del cliente o letteralemy_customer
$ORG_UNIT
- ID dell'unità organizzativa di destinazione$NETWORK_ID
: l'identificatore univoco dell'oggetto con cui vuoi interagire
Servizio Policy Networks
Il servizio Policy Networks è un'API che assiste l'API Chrome Policy in per gestire le impostazioni di rete.
L'API è composta da quattro endpoint:
Definisci rete
L'endpoint Definisci rete viene utilizzato per creare una nuova rete. Questo endpoint viene utilizzato per le reti Wi-Fi, Ethernet e VPN.
In questo esempio, definiamo una semplice rete Wi-Fi. Per definire un modello di attribuzione esamina i campi disponibili nello spazio dei nomi chrome.networks.wifi.
Il valore policy_schema dei dettagli deve essere presente per tutti i tipi di reti.
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"
Una risposta corretta conterrà la rete creata, incluso il networkId che la fa riferimento.
{
"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
}
}
]
}
Rimuovi rete
L'endpoint Rimuovi rete è utilizzato per eliminare una rete. Questo endpoint viene utilizzato per le reti Wi-Fi, Ethernet e VPN.
In questo esempio, rimuoviamo una rete 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"
La risposta corretta è vuota.
{}
Definisci certificato
L'endpoint Definisci certificato viene utilizzato per creare un nuovo certificato.
In questo esempio, definiamo un certificato e consentiamo ai dispositivi Chrome di utilizzarlo.
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"
Una risposta corretta conterrà un riferimento al certificato creato (networkId).
{
"networkId": "{c045f8df-79f1-49d3-92b9-0e61516e6a6b}",
"targetResource": "orgunits/$ORG_UNIT"
}
Rimuovi certificato
L'endpoint Rimuovi certificato viene utilizzato per rimuovere una definizione di certificato.
In questo esempio, viene rimosso un certificato.
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"
La risposta corretta è vuota.
{}
Interazione con le reti salvate
Per interagire con un certificato o una rete, utilizza l'API Policy. Le richieste devono includere una chiave di destinazione aggiuntiva, che rappresenta la risorsa con cui desideri interagire.
L'omissione di una chiave di destinazione aggiuntiva è accettabile solo in una richiesta di risoluzione. Questo tutte le reti corrispondenti allo spazio dei nomi richiesto verranno restituite.
È possibile ottenere schemi di rete completi tramite il servizio schemi utilizzando i filtri.
Per vedere tutte le impostazioni VPN, prova questo:
curl -H "Authorization:Bearer $TOKEN" \
"https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policySchemas?filter=chrome.networks.vpn"
Ecco un esempio di aggiunta di Imprivata come autorità di certificazione.
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"
Ecco un esempio di modifica della password di rete.
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"