Ağ politikaları için kod örnekleri

Aşağıdaki istekler, aşağıdakileri kullanarak Policy API ile politika yönetimini göstermektedir ağ politikalarını ele alalım. Başlamadan önce Chrome Policy API'ye Genel Bakış ve Politika şemaları kılavuzu.

Aşağıda sunulan tüm istekler aşağıdaki değişkenleri kullanır:

  • $TOKEN - OAuth 2 jetonu
  • $CUSTOMER - Müşterinin kimliği veya değişmez değeri my_customer
  • $ORG_UNIT - Hedef kuruluş biriminin kimliği
  • $NETWORK_ID - Etkileşimde bulunmak istediğiniz nesnenin benzersiz tanımlayıcısı

Politika Ağları Hizmeti

Policy Networks Hizmeti, Chrome Policy API'sine şu konularda yardımcı olacak bir API'dir: ağ ayarlarını yönetme.

API dört uç noktadan oluşur:

Ağı Tanımlama

Ağı Tanımla uç noktası yeni bir ağ oluşturmak için kullanılır. Bu uç nokta kablosuz ağ, Ethernet ve VPN ağları için kullanılır.

Bu örnekte basit bir Kablosuz Ağı tanımladık. Daha karmaşık bir ağında, chrome.networks.wifi ad alanında hangi alanların bulunduğuna göz atın.

Ayrıntı politikası_şeması tüm ağ türleri için mevcut olmalıdır.

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"   

Başarılı bir yanıt, oluşturulan ağı ve bu ağa referans veren networkId öğesini içerir.

{
  "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
      }
    }
  ]
}

Ağı Kaldır

Ağı Kaldır uç noktası, bir ağı silmek için kullanılır. Bu uç nokta kablosuz ağ, Ethernet ve VPN ağları için kullanılır.

Bu örnekte kablosuz ağı kaldırıyoruz.

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"

Başarılı yanıt boş.

{}

Sertifikayı Tanımla

Sertifika Tanımlama uç noktası yeni bir sertifika oluşturmak için kullanılır.

Bu örnekte bir sertifika tanımlayıp Chrome cihazların bunu kullanmasına izin veriyoruz.

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"

Başarılı bir yanıt, oluşturulan sertifikaya (networkId) başvuru içerir.

{
  "networkId": "{c045f8df-79f1-49d3-92b9-0e61516e6a6b}",
  "targetResource": "orgunits/$ORG_UNIT"
}

Sertifikayı Kaldır

Sertifika Kaldır uç noktası, bir sertifika tanımını kaldırmak için kullanılır.

Bu örnekte bir sertifikayı kaldırıyoruz.

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"

Başarılı yanıt boş.

{}

Kayıtlı ağlarınızla etkileşim kurma

Bir sertifikayla veya ağla etkileşimde bulunmak için Policy API'yi kullanın. İstekler, kullandığınız kaynağı temsil eden ek bir hedef anahtarı içermelidir ön planda tutmak anlamına gelir.

Ek bir hedef anahtarın atlanması yalnızca çözüm isteğinde kabul edilir. Bu işlevi, istenen ad alanıyla eşleşen tüm ağların döndürülmesiyle sonuçlanır.

Tam ağ şemaları, filtreler kullanılarak şema hizmeti aracılığıyla edinilebilir.
. Tüm VPN ayarlarını görmek için şunu deneyin:

curl -H "Authorization:Bearer $TOKEN" \
  "https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policySchemas?filter=chrome.networks.vpn"

Imprivata'yı sertifika yetkilisi olarak eklemeyle ilgili bir örneği aşağıda bulabilirsiniz.

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"

Aşağıda ağ şifresini değiştirmeyle ilgili bir örnek verilmiştir.

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"