Les requêtes ci-dessous illustrent la gestion des stratégies avec l'API Policy à l'aide de règles de réseau à titre d'exemple. Avant de commencer, veillez à consulter les Présentation de l'API Chrome Policy et Guide des schémas de règles
Toutes les requêtes présentées ci-dessous utilisent les variables suivantes:
$TOKEN
: jeton OAuth 2$CUSTOMER
: ID du client ou littéralmy_customer
$ORG_UNIT
: ID de l'unité organisationnelle cible$NETWORK_ID
: identifiant unique de l'objet avec lequel vous souhaitez interagir
Service Policy Networks
Le service Policy Networks est une API permettant à l'API Chrome Policy de la gestion des paramètres réseau.
L'API comprend quatre points de terminaison:
Définir le réseau
L'option "Define Network endpoint" (Définir le point de terminaison du réseau) permet de créer un réseau. Ce point de terminaison est utilisé pour les réseaux Wi-Fi, Ethernet et VPN.
Dans cet exemple, nous définissons un réseau Wi-Fi simple. Pour définir une définition examinez les champs disponibles dans l'espace de noms chrome.networks.wifi.
Les détails policy_schema doivent être présents pour tous les types de réseaux.
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"
Si la réponse est "réussie", elle contiendra le réseau créé, y compris le networkId qui le référence.
{
"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
}
}
]
}
Supprimer le réseau
L'option "Supprimer le point de terminaison du réseau" permet de supprimer un réseau. Ce point de terminaison est utilisé pour les réseaux Wi-Fi, Ethernet et VPN.
Dans cet exemple, nous supprimons un réseau 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"
Une réponse positive est vide.
{}
Définir un certificat
Le point de terminaison "Définir un certificat" permet de créer un certificat.
Dans cet exemple, nous définissons un certificat et autorisons les appareils Google Chrome à l'utiliser.
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"
Une réponse positive contient une référence au certificat créé (networkId).
{
"networkId": "{c045f8df-79f1-49d3-92b9-0e61516e6a6b}",
"targetResource": "orgunits/$ORG_UNIT"
}
Supprimer le certificat
Le point de terminaison Supprimer le certificat permet de supprimer une définition de certificat.
Dans cet exemple, nous supprimons un certificat.
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"
Une réponse positive est vide.
{}
Interagir avec vos réseaux enregistrés
Pour interagir avec un certificat ou un réseau, utilisez l'API Policy. Les requêtes doivent inclure une clé cible supplémentaire, représentant la ressource que vous souhaitez interagir.
L'omission d'une clé cible supplémentaire n'est acceptable que dans une demande de résolution. Ce renverra tous les réseaux correspondant à l'espace de noms demandé.
Vous pouvez obtenir des schémas réseau complets via le service de schéma à l'aide de filtres.
Pour afficher tous les paramètres VPN, procédez comme suit:
curl -H "Authorization:Bearer $TOKEN" \
"https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policySchemas?filter=chrome.networks.vpn"
Voici un exemple illustrant l'ajout d'Imprivata en tant qu'autorité de certification.
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"
Voici un exemple de modification d'un mot de passe réseau.
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"