عيّنات تعليمات برمجية لسياسات الشبكة

توضّح الطلبات أدناه إدارة السياسات من خلال Policy API باستخدام سياسات الشبكة كمثال. قبل البدء، تأكد من مراجعة نظرة عامة على Chrome Policy API دليل مخططات السياسات:

تستخدِم جميع الطلبات المقدَّمة أدناه المتغيرات التالية:

  • $TOKEN - رمز OAuth 2 المميز
  • $CUSTOMER - معرّف العميل أو الحرف my_customer
  • $ORG_UNIT - رقم تعريف الوحدة التنظيمية المستهدفة
  • $NETWORK_ID - المعرّف الفريد للعنصر الذي تريد التفاعل معه

خدمة شبكات السياسات

"خدمة شبكات السياسات" هي واجهة برمجة تطبيقات لمساعدة واجهة برمجة التطبيقات لسياسة Chrome في وإدارة إعدادات الشبكة.

تتألف واجهة برمجة التطبيقات من أربع نقاط نهاية:

تحديد الشبكة

يتم استخدام نقطة نهاية "تعريف الشبكة" لإنشاء شبكة جديدة. تُستخدم نقطة النهاية هذه لشبكات WiFi وإيثرنت وVPN.

في هذا المثال، نعرّف شبكة واي فاي بسيطة. لتحديد نموذج أكثر تعقيدًا عليك التحقّق من الحقول المتوفّرة في مساحة الاسم 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": "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
      }
    }
  ]
}

إزالة الشبكة

تُستخدم نقطة نهاية "إزالة الشبكة" لحذف شبكة. تُستخدم نقطة النهاية هذه لشبكات WiFi وإيثرنت وVPN.

في هذا المثال، نزيل شبكة WiFi.

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": "{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"