Ağ politikaları için kod örnekleri

Aşağıdaki isteklerde, ağ politikalarını örnek olarak kullanarak Policy API ile politika yönetimi gösterilmektedir. Başlamadan önce Chrome Policy API'ye Genel Bakış ve Politika şemaları kılavuzunu incelediğinizden emin olun.

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ğer 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 Service, ağ ayarlarını yönetmede Chrome Policy API'ye yardımcı olan bir API'dir.

API, dört uç noktadan oluşur:

Ağ Tanımlayın

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

Bu örnekte, basit bir kablosuz ağı tanımlıyoruz. Daha karmaşık bir ağ tanımlamak için chrome.networks.wifi ad alanında hangi alanların bulunduğunu inceleyin.

Ayrıntılar policy_schema değeri 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 buna başvuruda bulunan networkId'yi 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ında kullanılır.

Bu örnekte, bir 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ı bir yanıt boş.

{}

Sertifika Tanımlayın

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

Bu örnekte, bir sertifika tanımlıyoruz ve Chrome cihazlarının bu sertifikayı 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) bir referans içerir.

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

Sertifikayı Kaldır

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

Bu örnekte bir sertifika kaldırılmaktadır.

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ı bir yanıt boş.

{}

Kayıtlı ağlarınızla etkileşimde bulunma

Bir sertifika veya ağ ile etkileşimde bulunmak için Policy API'yi kullanın. İstekler, etkileşimde bulunmak istediğiniz kaynağı temsil eden ek bir hedef anahtarı içermelidir.

Ek hedef anahtarın atlanması yalnızca çözümleme isteğinde kabul edilebilir. Bu işlem, istenen ad alanıyla eşleşen tüm ağların döndürülmesini sağlar.

Tam ağ şemaları, filtreler kullanılarak şema hizmetiyle elde edilebilir.
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 burada 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ğ şifresinin değiştirilmesiyle 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"