ניהול מיסוך של פרטים אישיים מזהים (PII)

סקירה כללית

כחלק משילוב המחבר של API Hub, העלאת המטא-נתונים של חבילות שרתי proxy ל-API ושל חבילות sharedflow מסונכרנת עם API Hub. יכול להיות שהחבילות האלה יכילו פרטים אישיים מזהים (PII) או נתונים רגישים אחרים במסגרת הגדרות המדיניות. התכונה הזו מאפשרת להסוות שדות של פרטים אישיים מזהים (PII) לפני שה-App Bundles מועלים אל API Hub, וכך להבטיח את פרטיות הנתונים והתאימות של סביבת Edge for Private Cloud.

שיטת המסקינג

ההסתרה של פרטים אישיים מזהים מתבצעת באמצעות ביטויי XPath כדי לטרגט רכיבים ספציפיים בהגדרות המדיניות בפורמט XML בחבילות. התכונה מחולקת לשני חלקים.

מסכות ברירת מחדל

‫Apigee Edge for Private Cloud כולל רשימה מוגדרת מראש ומוטמעת של ביטויי XPath (שנקראים default masks) שמטרגטים באופן אוטומטי שדות שידוע שהם מקורות פוטנציאליים של PII במדיניות שונות.

מקורות פוטנציאליים של פרטים אישיים מזהים ומסכות ברירת מחדל

בטבלה הבאה מפורטים כללי המדיניות והרכיבים שמוחל עליהם מיסוך ברירת המחדל:

שם מדיניות רכיב רגיש ברירת מחדל של XPath לאנונימיזציה ההסבר
BasicAuthentication שם משתמש שמוגדר בקוד //BasicAuthentication/User מאחסן ישירות את זהות המשתמש בטקסט רגיל.
BasicAuthentication סיסמה שמוטמעת בקוד //BasicAuthentication/Password מאחסן ישירות סיסמה בטקסט גלוי.
GenerateJWT מפתח סימטרי (סודי) //GenerateJWT/SecretKey/Value מפתח סימטרי להצפנה או לחתימה שמוגדר מראש בקוד.
GenerateJWT מפתח פרטי //GenerateJWT/PrivateKey/Value מפתח פרטי בקידוד PEM לחתימה אסימטרית.
GenerateJWT סיסמה של מפתח פרטי //GenerateJWT/PrivateKey/Password הסיסמה לפענוח המפתח הפרטי.
GenerateJWS מפתח סימטרי (סודי) //GenerateJWS/SecretKey/Value מפתח סימטרי להצפנה או לחתימה שמוגדר מראש בקוד.
GenerateJWS מפתח פרטי //GenerateJWS/PrivateKey/Value מפתח פרטי בקידוד PEM לחתימה אסימטרית.
GenerateJWS סיסמה של מפתח פרטי //GenerateJWS/PrivateKey/Password הסיסמה לפענוח המפתח הפרטי.
VerifyJWT מפתח סימטרי (סודי) //VerifyJWT/SecretKey/Value מפתח סימטרי שמוגדר בהארדקוד לאימות.
VerifyJWS מפתח סימטרי (סודי) //VerifyJWS/SecretKey/Value מפתח סימטרי שמוגדר בהארדקוד לאימות.
HMAC מפתח סודי משותף //HMAC/SecretKey מפתח סודי שמוגדר בהארדקוד לחישוב HMAC.
KeyValueMapOperations ערך שמוגדר בהארדקוד (Put) //KeyValueMapOperations/Put/Value סוד שמוגדר בהארדקוד נכתב ל-KVM.
ServiceCallout שם משתמש לאימות בסיסי //ServiceCallout//Authentication/BasicAuth/UserName שם משתמש שמוגדר מראש לאימות בקצה העורפי.
ServiceCallout סיסמה לאימות בסיסי** //ServiceCallout//Authentication/BasicAuth/Password סיסמה שמוגדרת מראש לאימות בקצה העורפי.
SAMLAssertion ערך המפתח הפרטי //SAMLAssertion//PrivateKey/Value מפתח פרטי לפענוח או לחתימה.
SAMLAssertion סיסמה של מפתח פרטי //SAMLAssertion//PrivateKey/Password הסיסמה לפענוח המפתח הפרטי.

מסכות בהתאמה אישית

בשדות שזיהיתם כ-PII אבל לא נכללים במסכות ברירת המחדל (כמו הגדרה מותאמת אישית במדיניות), אתם יכולים לספק רשימה משלכם של ביטויי XPath (מסכות מותאמות אישית).

כדי לנהל מסכות מותאמות אישית, צריך לעדכן מאפיין הגדרה בקובץ uapim-connector.properties במערכת Edge for Private Cloud.

הגדרת מסכות בהתאמה אישית

כדי להוסיף נתיבי מיסוך מותאמים אישית, מעדכנים את המאפיין conf_uapim_connector.uapim.mask.xpaths בקובץ ההגדרות של המחבר:

  • נתיב לקובץ ההגדרות: /opt/apigee/customer/application/uapim-connector.properties
  • נכס: conf_uapim_connector.uapim.mask.xpaths

המאפיין מקבל רשימה מופרדת בפסיקים של ביטויי XPath שמטרגטים את האלמנטים הספציפיים שאת הערכים שלהם רוצים להסתיר.

הגדרה לדוגמה

כדי להסתיר ערך של משתנה מותאם אישית ושדה סטטיסטיקה, מגדירים את המאפיין באופן הבא:

conf_uapim_connector.uapim.mask.xpaths=//StatisticsCollector/Statistics/Statistic[@name='caller'],//StatisticsCollector/Statistics/Statistic[@name='location'],//AssignMessage/AssignVariable[Name='password']/Value
ביטוי XPath בוצעה אנונימיזציה של רכיב מטרה
//StatisticsCollector/Statistics/Statistic[@name='caller'] ערך סטטיסטי (כאשר name='caller') הסתרת פרטים רגישים של המתקשר.
//AssignMessage/AssignVariable[Name='password']/Value ‫AssignVariable Value (כאשר Name='password') המסכה מקודדת ערכי סיסמאות.

כללי מדיניות מוסתרים

הערך של רכיבי היעד יוסתר. התוכן המוסתר הזה מועלה אל API Hub.

דוגמה למדיניות 1 (StatisticsCollector – מוסתר):

<StatisticsCollector name="publishPurchaseDetails">
  <Statistics>
    <Statistic name="caller" type="string">****</Statistic>
    <Statistic name="location" type="string">****</Statistic>
  </Statistics>
</StatisticsCollector>