טשטוש נתוני משתמשים לצורך ניתוח

התכונה הזו מאפשרת לכם להסתיר נתונים לפני שאתם שולחים אותם כחלק ממטען ייעודי (payload) של הניתוח. באמצעות התכונה הזו, Apigee משתמש ב-SHA512 כדי לגבב את הערך המקורי לפני שליחת נתונים ממישור זמן הריצה למישור הבקרה.

התהליך

אפשר להגדיר את ערך ה-salt לגיבוב באמצעות המאפיין axHashSalt בקובץ overrides.yaml. המאפיין axHashSalt מציין ערך שמשמש כ-salt כשמחשבים גיבובי SHA512 כדי להסתיר נתונים רגישים של Analytics. מומלץ להשתמש באותו ערך בכל האשכולות השונים שמארחים את אותו ארגון Apigee. החלת הערך עם apigeectl.

כדי להפעיל את התכונה הזו בכל סביבה, מגדירים את features.analytics.data.obfuscation.enabled לערך true.

curl -v -X PUT \
   https://apigee.googleapis.com/v1/organizations/your_org_name/environments/your_env_name \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{
  "name" : "your_env_name",
  "properties" : {
    "property" : [ {
      "name" : "features.analytics.data.obfuscation.enabled",
      "value" : "true"
    },]
  }
}'

אם ההסתרה מופעלת, Apigee hybrid יגבב את השדות הבאים באמצעות SHA512 במישור זמן הריצה לפני שליחת המידע אל קצה העורף של Analytics:

  • client_id
  • client_ip
  • developer_email
  • proxy_client_ip
  • proxy_pathsuffix
  • request_uri
  • request_path
  • target_basepath
  • target_url
  • x_forwarded_for_ip
  • x-apigee.edge.true_client_ip
  • x-apigee.intelligence.client_ip_header

ב-Apigee hybrid, ערכי המאפיינים הבאים עוברים גיבוב בדוחות ניתוח מותאמים אישית:

  • מזהה לקוח
  • כתובת ה-IP של הלקוח
  • כתובת האימייל של המפתח
  • כתובת ה-IP של לקוח ה-Proxy
  • סיומת נתיב שרת proxy
  • כתובת ה-IP של הלקוח שהופנה
  • נתיב הבקשה
  • URI של בקשה
  • כתובת IP של לקוח שנפתרה
  • נתיב בסיסי של היעד
  • כתובת URL של יעד
  • X Forwarded For

במאמר הפניה למדדים, למאפיינים ולמסננים ב-Analytics מופיעים תיאורים מפורטים של מאפיינים ב-Analytics.

צפייה בתוצאות מוצפנות

התוצאות המוסתרות מוצגות בלוח הבקרה של Apigee hybrid analytics. יכול להיות שיחלפו כמה דקות עד שהתוצאות המגובבות יופיעו בממשק המשתמש.

דוחות בהתאמה אישית שכוללים נתוני משתמשים מגובבים

דוגמה

בדוגמה הבאה אפשר לראות את הנתונים לפני ואחרי ההסתרה:

// JSON data sent to AX before obfuscating
{
   "proxy_basepath":"/APP_NAME",
   "x-apigee.edge.execution.stats.request_flow_endtimestamp":1582770652814,
   "apiproxy":"APP_NAME",
   "x-apigee.edge.is_policy_error":0,
   "client_sent_start_timestamp":1582770652817,
   "x-apigee.edge.is_target_error":0,
   "client_received_start_timestamp":1582770652813,
   "client_ip":"10.10.0.99",
   "is_error":false,
   "x-apigee.edge.stats.steps":"{\"JS1.0\":1}",
   "request_size":0,
   "x-apigee.intelligence.client_ip_header":"10.10.0.99",
   "virtual_host":"default",
   "x-apigee.edge.mp_host":"mp",
   "sla":false,
   "x-apigee.intelligence.service":"{}",
   "client_sent_end_timestamp":1582770652817,
   "request_uri":"/APP_NAME",
   "proxy":"default",
   "proxy_client_ip":"10.10.0.99",
   "x-apigee.edge.dn.region":"dc-1",
   "apigee.edge.execution.is_apigee_fault":0,
   "x-apigee.edge.target.latency.stats":"{\"targetList\":[]}",
   "useragent":"Apache-HttpClient/4.3.6 (java 1.6)",
   "proxy_pathsuffix":"",
   "x-apigee.edge.execution.stats.request_flow_start_timestamp":1582770652814,
   "x_forwarded_for_ip":"10.10.0.99",
   "x_forwarded_proto":"http",
   "response_status_code":200,
   "request_verb":"GET",
   "x-apigee.edge.execution.stats.response_flow_end_timestamp":1582770652816,
   "gateway_source":"message_processor",
   "environment":"env_82hw",
   "client_received_end_timestamp":1582770652814,
   "organization":"Org_1582769880344",
   "x-apigee.edge.execution.stats.response_flow_start_timestamp":1582770652814,
   "request_path":"/APP_NAME",
   "gateway_flow_id":"rt-8644-188-1",
   "apiproxy_revision":"1"
}
// JSON data sent to AX after obfuscating
{
   "proxy_basepath":"/APP_NAME",
   "x-apigee.edge.execution.stats.request_flow_endtimestamp":1582749361836,
   "apiproxy":"APP_NAME",
   "x-apigee.edge.is_policy_error":0,
   "client_sent_start_timestamp":1582749361884,
   "x-apigee.edge.is_target_error":0,
   "client_received_start_timestamp":1582749361790,
   "client_ip":"090cdae81ea6e58e55093f702661cf2325cef6a68aa801f1209e73bb0649c2b931bcad468911da887a42ce1d1daee07b24933e3dbbde6eb7438cfc9020a25445",
   "is_error":false,
   "x-apigee.edge.stats.steps":"{\"JS1.0\":30}",
   "request_size":0,
   "x-apigee.intelligence.client_ip_header":"090cdae81ea6e58e55093f702661cf2325cef6a68aa801f1209e73bb0649c2b931bcad468911da887a42ce1d1daee07b24933e3dbbde6eb7438cfc9020a25445",
   "virtual_host":"default",
   "x-apigee.edge.mp_host":"mp",
   "sla":false,
   "x-apigee.intelligence.service":"{}",
   "client_sent_end_timestamp":1582749361886,
   "request_uri":"0176937d9c4a33094d3c3f38ac8b15fa05dd6380a6bb544e4002c98de9f27bdbfea754901b0acb487f4980b09f7d312ad1e7027b96b2c8bfd8b9c24e833fbb5a",
   "proxy":"default",
   "proxy_client_ip":"090cdae81ea6e58e55093f702661cf2325cef6a68aa801f1209e73bb0649c2b931bcad468911da887a42ce1d1daee07b24933e3dbbde6eb7438cfc9020a25445",
   "x-apigee.edge.dn.region":"dc-1",
   "apigee.edge.execution.is_apigee_fault":0,
   "x-apigee.edge.target.latency.stats":"{\"targetList\":[]}",
   "useragent":"Apache-HttpClient/4.3.6 (java 1.6)",
   "proxy_pathsuffix":"cf83e1.67eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81.638327af927da3e",
   "x-apigee.edge.execution.stats.request_flow_start_timestamp":1582749361833,
   "x_forwarded_for_ip":"090cdae81ea6e58e55093f702661cf2325cef6a68aa801f1209e73bb0649c2b931bcad468911da887a42ce1d1daee07b24933e3dbbde6eb7438cfc9020a25445",
   "x_forwarded_proto":"http",
   "response_status_code":200,
   "request_verb":"GET",
   "x-apigee.edge.execution.stats.response_flow_end_timestamp":1582749361874,
   "gateway_source":"message_processor",
   "environment":"env_xj25",
   "client_received_end_timestamp":1582749361821,
   "organization":"Org_1582749068984",
   "x-apigee.edge.execution.stats.response_flow_start_timestamp":1582749361836,
   "request_path":"0176937d9c4a33094d3c3f38ac8b15fa05dd6380a6bb544e4002c98de9f27bdbfea754901b0acb487f4980b09f7d312ad1e7027b96b2c8bfd8b9c24e833fbb5a",
   "gateway_flow_id":"rt-6290-57-1",
   "apiproxy_revision":"1"
}