নেটওয়ার্ক নীতির জন্য কোড নমুনা

নীচের অনুরোধগুলি একটি উদাহরণ হিসাবে নেটওয়ার্ক নীতিগুলি ব্যবহার করে নীতি API এর সাথে নীতি পরিচালনার চিত্র তুলে ধরে। আপনি শুরু করার আগে, নিশ্চিত করুন যে আপনি Chrome নীতি API ওভারভিউ এবং নীতি স্কিমা গাইড পর্যালোচনা করেছেন।

নীচে উপস্থাপিত সমস্ত অনুরোধ নিম্নলিখিত ভেরিয়েবল ব্যবহার করে:

  • $TOKEN - OAuth 2 টোকেন
  • $CUSTOMER - গ্রাহকের আইডি বা আক্ষরিক my_customer
  • $ORG_UNIT - টার্গেট সাংগঠনিক ইউনিটের আইডি
  • $NETWORK_ID - আপনি যে বস্তুর সাথে ইন্টারঅ্যাক্ট করতে চান তার অনন্য শনাক্তকারী৷

পলিসি নেটওয়ার্ক সার্ভিস

নীতি নেটওয়ার্ক পরিষেবা হল একটি API যা নেটওয়ার্ক সেটিংস পরিচালনা করতে Chrome নীতি এপিআইকে সহায়তা করে৷

API চারটি শেষ পয়েন্ট নিয়ে গঠিত:

নেটওয়ার্ক সংজ্ঞায়িত করুন

একটি নতুন নেটওয়ার্ক তৈরি করতে ডিফাইন নেটওয়ার্ক এন্ডপয়েন্ট ব্যবহার করা হয়। এই এন্ডপয়েন্ট ওয়াইফাই, ইথারনেট এবং ভিপিএন নেটওয়ার্কের জন্য ব্যবহার করা হয়।

এই উদাহরণে, আমরা একটি সাধারণ ওয়াইফাই নেটওয়ার্ক সংজ্ঞায়িত করি। আরও জটিল নেটওয়ার্ক সংজ্ঞায়িত করতে, chrome.networks.wifi নামস্থানে কোন ক্ষেত্রগুলি উপলব্ধ রয়েছে তা পরীক্ষা করুন৷

বিশদ নীতি_স্কিম সব ধরনের নেটওয়ার্কের জন্য উপস্থিত থাকতে হবে।

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

নেটওয়ার্ক সরান

রিমুভ নেটওয়ার্ক এন্ডপয়েন্ট একটি নেটওয়ার্ক মুছে ফেলার জন্য ব্যবহার করা হয়। এই এন্ডপয়েন্ট ওয়াইফাই, ইথারনেট এবং ভিপিএন নেটওয়ার্কের জন্য ব্যবহার করা হয়।

এই উদাহরণে, আমরা একটি ওয়াইফাই নেটওয়ার্ক সরিয়ে ফেলি।

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"

একটি সফল প্রতিক্রিয়া খালি।

{}

শংসাপত্রের সংজ্ঞা দাও

Define Certificate endpoint একটি নতুন শংসাপত্র তৈরি করতে ব্যবহৃত হয়।

এই উদাহরণে, আমরা একটি শংসাপত্র সংজ্ঞায়িত করি এবং ক্রোম ডিভাইসগুলিকে এটি ব্যবহার করার অনুমতি দিই৷

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"

একটি সফল প্রতিক্রিয়া খালি।

{}

আপনার সংরক্ষিত নেটওয়ার্কগুলির সাথে ইন্টারঅ্যাক্ট করা

একটি শংসাপত্র বা নেটওয়ার্কের সাথে ইন্টারঅ্যাক্ট করতে, নীতি 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"