תיעוד 186
דפי Access מותאמים אישית
דפי Access מותאמים אישית מאפשרים להתאים אישית את הדפים שמבקרים רואים כשהם נכנסים, מקבלים דחייה של מדיניות Access, או מאשרים כניסה משורת הפקודה. התבניות משתמשות ב-HTML וב-Liquid כדי להציג מידע שספציפי לבקשה.
זמינות לפי תוכנית
דפי Access מותאמים אישית דורשים תוכנית Zero Trust Pay-as-you-go או Enterprise. תבניות HTML ו-Liquid אינן זמינות בתוכנית Zero Trust Free.
דפים מותאמים אישית משנים את ההצגה, לא את החלטת Access. הם אינם מעניקים גישה ואינם מחליפים את מדיניות האימות וההרשאה.
#סוגי דפים
צרו תבנית נפרדת לכל סוג דף:
| סוג | מטרה | פקד נדרש |
|---|---|---|
| Login | כניסה ליישום Access. | בדיוק רכיב <cf-access-authbox></cf-access-authbox> אחד. |
| Identity denied | הסבר על דחייה אחרי שהמבקר נכנס. אימות מוצלח אינו מבטיח הרשאה לפי המדיניות. | אין צורך בפקד אינטראקטיבי. |
| Forbidden | הסבר על דחייה של מדיניות שאינה מבוססת זהות, למשל בקשה שנכשלת במדיניות אימות שירות. | אין צורך בפקד אינטראקטיבי. |
| Interstitial | בקשה מהמבקר לאשר או לדחות בקשת כניסה משורת הפקודה. | בדיוק רכיב <cf-access-cli-approval></cf-access-cli-approval> אחד. |
Access משלב את פקדי הכניסה והאישור שלו בתוך הרכיבים הנדרשים. השאירו את הרכיבים האלה גלויים ומחוץ לתנאים או ללולאות של Liquid. הם חייבים להתרנדר בדיוק פעם אחת, ולא רק להופיע פעם אחת בקוד המקור של התבנית. אל תחליפו אותם בטפסים משלכם, בקישורים לספקי זהות, או בכפתורי אישור.
#יצירת דף מותאם אישית
- ב-Cloudflare One, עברו אל Reusable components > Custom pages. מעבר ↗
- בכרטיס Access custom pages, בחרו Manage.
- בחרו Create custom page.
- הזינו Name ייחודי ובחרו Type. העורך טוען תבנית התחלה עבור הסוג הזה.
- ערכו את ה-HTML ואת ה-Liquid. השאירו את הפקד הנדרש בדפי login או interstitial.
- השתמשו ב-Variables כדי לבדוק את הנתונים הזמינים לסוג שנבחר. עיינו ב-Problems לאיתור שגיאות אימות ואזהרות.
- פתרו שגיאות חוסמות, ואז בחרו Publish. אם האימות אינו זמין, בחרו Retry validation לפני הפרסום.
הפרסום שומר תבנית לשימוש חוזר. כדי להציג אותה, שייכו אותה ליישום או הגדירו אותה כברירת מחדל של החשבון.
בדיקת הדף שנשמר
האימות אינו תצוגה מקדימה מרונדרת. בדקו את התבנית שנשמרה מול יישום מבודד לפני שימוש רחב יותר. בדקו את תהליך הכניסה או הדחייה, טקסט ארוך, פריסות לנייד, וכל תנאי Liquid. לוח Problems נקי אינו מוכיח שכל תנאי בזמן ריצה מרונדר נכון.
#דוגמה לתבנית Login
הדוגמה המינימלית הזו מציגה את שם היישום, הודעות כניסה, ואת פקד הכניסה של Access:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Sign in to {{ app_name }}</title>
</head>
<body>
<main>
<h1>Sign in to {{ app_name }}</h1>
{% if message.text.size > 0 %}
<p role="status">{{ message.text }}</p>
{% endif %}
<cf-access-authbox></cf-access-authbox>
</main>
</body>
</html>השאירו את message.text גלוי כדי שמבקרים יוכלו להבין בעיות כניסה. אל תקבעו בקוד כתובות URL של ספקי זהות ואל תעתיקו אישורים לתוך התבנית.
#שיוך דף ליישום
עבור יישום באירוח עצמי:
- עברו אל Access controls > Applications ובחרו את היישום. מעבר אל Applications ↗
- פתחו את Additional settings ואתרו את Custom block pages. מקטע זה מכיל גם את הגדרות ה-login ואת ה-interstitial.
- בחרו את האפשרות עבור הדף שאתם רוצים להחליף:
| הגדרת היישום | אפשרות | סוג התבנית |
|---|---|---|
| Identity failure block page | Custom page template | Identity denied |
| Non-identity failure block page | Custom page template | Forbidden |
| Login page | Custom page | Login |
| Interstitial page | Custom page | Interstitial |
| 4. בחרו תבנית שמורה מהרשימה הנפתחת. כל רשימה נפתחת מציעה רק סוגי דפים תואמים. | ||
| 5. בחרו Save, ואז הפעילו את תהליך היישום. המתינו עד ששינויי התצורה יתפשטו לפני בדיקה חוזרת. |
כדי להסיר שיוך של יישום, בחרו Cloudflare default עבור סוג הדף הזה ושמרו. אם קיימת ברירת מחדל של החשבון, Access משתמש בה כשאין תבנית ספציפית ליישום.
#ברירות מחדל של החשבון
הרשימה Access custom pages מציעה את הפעולות Set as default ו-Remove as default. שיוך ספציפי ליישום גובר על ברירת המחדל של החשבון עבור אותו סוג. בלי אף אחד מהשיוכים, Access משתמש בדף המובנה שלו.
ברירת מחדל של החשבון משפיעה על יישומים שיורשים את סוג הדף הזה. בדקו שיוך ספציפי ליישום לפני שינוי של ברירת מחדל של החשבון.
#נתוני התבנית
בחרו Variables בעורך עבור שמות המשתנים והתיאורים של הסוג שנבחר. אל תניחו שלכל סוג דף יש את אותם נתונים.
| סוג הדף | דוגמאות לנתונים זמינים |
|---|---|
| Login | app_name, app_domain, org, idps, has_onetimepin ו-message. הרשימה idps מספקת מידע לתצוגה, לא כתובות URL לכניסה. |
| Identity denied ו-Forbidden | app, ונתונים אופציונליים ray_id, user ו-policy_evaluation. ייתכן שמידע על המשתמש ייעדר לפני הכניסה. |
| Interstitial | app, requesting_tool, ונתוני user אופציונליים. פרטי האישור שייכים לפקד של Access, לא לנתוני התבנית. |
| כל הסוגים | מידע על חיבור request ו-locale אופציונלי. ייתכן שגם שדות הבקשה ייעדרו. |
הגנו על נתונים אופציונליים באמצעות תנאי Liquid. לדוגמה, דף של דחיית זהות יכול להציג כתובת דוא"ל כשהיא זמינה:
<h1>Access denied</h1>
<p>You do not have access to {{ app.name }}.</p>
{% if user.email %}
<p>You are signed in as {{ user.email }}.</p>
{% endif %} {% if ray_id %}
<p>Share this Ray ID with your administrator: {{ ray_id }}</p>
{% endif %}פלט Liquid עובר escaping של HTML. משתנים חסרים מרונדרים כטקסט ריק. נתוני הערכת מדיניות הם מידע מובנה, לא הסבר מוכן של הדחייה. בחרו מה להציג בלי לחשוף שלא לצורך שמות קבוצות רגישים, claims, או פרטי מדיניות.
#מגבלות התבנית
התבניות רצות בסביבת Liquid מוגבלת:
- JavaScript של הלקוח, מטפלי אירועים מוטבעים, וטפסי אימות מותאמים אישית אינם נתמכים. Access הוא הבעלים של פקדי הכניסה והאישור האינטראקטיביים.
- תגיות Liquid
include,render,layout,echoו-raw, והמסנןraw, אינם זמינים. - HTML ו-CSS עוברים ניקוי. נכסים חיצוניים חייבים לעמוד ב-Content Security Policy (CSP) של הדף. השתמשו בכתובות URL של תמונות וגופנים ב-HTTPS, ואל תסתמכו על סקריפט של צד שלישי כדי לרנדר את הדף.
- חלות מגבלות על ניתוח, רינדור וזיכרון. שמרו על תבניות קטנות והימנעו מלולאות יקרות.
אם תבנית שמורה אינה זמינה או אינה יכולה להתרנדר בבטחה, Access חוזר לדף מובנה. החזרה הזו אינה משנה את החלטת המדיניות.
#עריכה ותחזוקה של תבניות
בחרו תבנית מתוך Access custom pages כדי לערוך אותה. הסוג שלה קבוע אחרי היצירה. עיינו ב-Problems, ואז בחרו Publish כדי לשמור שינויים.
תבנית יכולה לשמש כמה יישומים. פרסום עריכה משנה את התבנית המשותפת, לכן בדקו עם תבנית נפרדת כשצריך להימנע מהשפעה על שיוכים קיימים. לפני מחיקת תבנית, החליפו את שיוכי היישומים שלה והסירו אותה כברירת מחדל של החשבון.
שמרו עותק של ה-HTML וה-Liquid מחוץ ללוח הבקרה. העורך אינו מספק תצוגה מקדימה מרונדרת או פעולת Download.