שני ערכי UUID קובעים אם אפליקציית iPhone מנוהלת אחת עוברת במנהרה לפי אפליקציה, ואף אחד מהם אינו המזהה של הפרופיל שנושא אותם. התכונה VPNUUID של האפליקציה חייבת להיות שווה ל-VPNUUID שבתוך מטען ה-VPN לפי אפליקציה. האפליקציה שנפרסה חייבת גם להיות מנוהלת בידי אותה שירות ניהול מכשירים, והפקודה שאתם שולחים חייבת לשאת את התכונה בפועל. עברו על ארבעת השלבים שלהלן לפי הסדר, כי כל אחד מפיק ערך שהשלב הבא זקוק לו.

אספו ארבעה מזהים לפני שנוגעים במכשיר

רשמו ארבעה ערכים: מזהה החבילה מהמלאי הניהולי שלכם, המזהה של מטען ה-VPN לפי אפליקציה, ה-VPNUUID שבתוך המטען הזה, והמזהה של הפקודה שאתם עומדים לשלוח. מזהה החבילה נותן שם לאפליקציה שמקבלת את ההגדרות, והתווית במסך הבית אינה מחליפה אותו. השאירו את PayloadUUID מחוץ לרשימה הזו לגמרי, משום שהוא מזהה מטען בתוך פרופיל ועונה על שאלה אחרת. החלפה בו רק מפני ששני השדות נראים כמו UUID היא הדרך הנפוצה ביותר לבנות שיוך שלעולם לא יוכל להתאים.

אם מנהל ה-VPN לא מסר לכם את המטען לפי אפליקציה ואת המזהה שלו, בקשו אותם במקום לגרד UUID מקובץ תצורה כלשהו שהוא הקרוב ביותר.

החילו את התכונה דרך ערוץ הניהול

ודאו שאפליקציית היעד מנוהלת במכשיר הזה, כי מזהה חבילה מוכר אינו הופך התקנה לא מנוהלת לראויה לשיוך. אחר כך שלחו פריט הגדרות מסוג ApplicationAttributes דרך הקצאת ה-VPN לפי אפליקציה של המוצר שלכם או המימוש הנתמך שלו של פקודת Settings. הפריט מזהה את האפליקציה לפי מזהה החבילה ונושא מילון Attributes שה-VPNUUID שלו תואם למטען. שום דבר בפריט הזה אינו מעטפת פקודה מלאה, ושום דבר בו אינו ניתן להתקנה כפרופיל ביד.

התייחסו להסרה באותה מידה של כוונה כמו להתקנה. הסכימה אומרת שהשמטת מילון Attributes מסירה את התכונות הקיימות של האפליקציה, כך שעדכון שנבנה למחצה הופך בשקט לאיפוס. הפקודה בעלת השם הדומה Managed Application Attributes קוראת תכונות חזרה לצורך אימות; היא אינה מגדירה אותן, והשימוש בה כמגדיר הוא חלון פריסה מבוזבז.

קראו את תוצאת הפקודה, לא את סמל האפליקציה

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

אם קיימות שתי תצורות לפי אפליקציה באותו צי, השוו את המזהים שלהן לפני שאתם מניחים שההקצאה שלכם נחתה בזו שהתכוונתם אליה.

בדקו עם המשאב, ואז רשמו את הצמד

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

שמרו יחד את מזהה החבילה, מזהה המטען, ה-VPNUUID המשותף ותוצאת הפקודה, כדי שהחקירה הבאה תתחיל מאותם ארבעה ערכים ולא מהזיכרון.

חזרו אחורה בלי נזק נלווה

כדי להסיר את ההקצאה, שלחו שוב את תכונת האפליקציה עם מילון Attributes ריק בצורה שהמוצר שלכם מתעד, במקום להפיל את האפליקציה מהפקודה. לאחר מכן ודאו שהאפליקציה אינה פותחת עוד את המנהרה לפי אפליקציה ושאר אפליקציות מנוהלות שמרו על שלהן. אם באותו טלפון יש גם פרופיל VPN לכל המכשיר, ודאו שהוא עדיין מתנהג כפי שהתנהג לפני החזרה, כי שתי תצורות VPN במכשיר אחד הוא המקום שבו השלב הזה בדרך כלל משתבש. אחר כך עדכנו את הרישום ששמרתם.

ביקורת שתשאל למה אפליקציה מסוימת עברה אי פעם במנהרה תרצה את צמד ה-UUID ותאריך, לא תיאור של הפריסה.

מאמרים קשורים