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

במאמר הזה מוסבר איך להגדיר את Policy Engine באתר באמצעות מפתח אוניברסלי. מפתח אוניברסלי הוא מפתח חדש של Google Cloud Fraud Defense שתומך ביצירת כללים במנוע המדיניות.

בעזרת Policy Engine, Fraud Defense יכולה להפעיל אתגרים של CAPTCHA באופן דטרמיניסטי על סמך כללי מדיניות מותאמים אישית שאתם מגדירים. הכללים האלה יכולים לקבוע מתי להציג אתגר של Fraud Defense על סמך ציוני סיכון, כתובות IP, סוכני משתמש, מספרי מערכות אוטונומיות או זהויות מאומתות של בוטים (סוכני AI).

ההגדרה של מנוע המדיניות Fraud Defense כוללת שני מאפיינים עיקריים:

  • שילוב AutoExecute ‏ (protected_endpoint_group): מפשט את השילוב של JavaScript בקצה הקדמי. השילוב הזה בודק באופן אוטומטי בקשות לאחזור מהרשת יוצאות אסינכרוניות ומצרף אליהן טוקנים של reCAPTCHA, כך שצריך רק תג סקריפט בקצה הקדמי.
  • מדיניות אתגרים (challenge_rule_groups): קובעת אם להציג אתגרים בפעולות שונות של משתמשים, ומגדירה את רמות הקושי של האתגרים המשויכים (USABILITY,‏ BALANCE,‏ SECURITY) באמצעות כללים מותאמים אישית שמבוססים על CEL.

לפני שמתחילים

  1. הכנת הסביבה ל-reCAPTCHA

  2. מוודאים שהחיוב מופעל בפרויקט Google Cloud .

    כדי להשתמש ב-Policy Engine, Fraud Defense דורש שהחיוב יהיה מקושר ומופעל בפרויקט. אפשר להפעיל את החיוב באמצעות כרטיס אשראי או מזהה חיוב של פרויקט קיים Google Cloud . אם אתם צריכים עזרה בנושאי חיוב, אתם יכולים לפנות אל התמיכה של חיוב ב-Cloud.

יצירת מפתח אוניברסלי

בהתאם לממשק המועדף, בוחרים את האפשרות המתאימה ליצירת מפתח אוניברסלי:

המסוף

  1. נכנסים לדף reCAPTCHA במסוף Google Cloud .

    מעבר אל reCAPTCHA

  2. מוודאים ששם הפרויקט מופיע בבורר המשאבים בחלק העליון של הדף.

    אם שם הפרויקט לא מופיע, לוחצים על בורר המשאבים ובוחרים את הפרויקט.

  3. לוחצים על הכרטיסייה Keys.
  4. לוחצים על Create key.
  5. בשדה שם לתצוגה, מזינים שם לתצוגה של המפתח.
  6. ב-Application type בוחרים באפשרות Universal.
  7. לוחצים על Create key.

המפתח החדש שנוצר מופיע בדף מפתחות reCAPTCHA.

gcloud

כדי ליצור מפתח אוניברסלי באמצעות Google Cloud CLI, משתמשים בפקודה gcloud recaptcha keys create עם הדגל --universal:

gcloud recaptcha keys create --universal --display-name=DISPLAY_NAME

התשובה תכיל את מפתח reCAPTCHA Universal החדש שנוצר.

‫API בארכיטקטורת REST

כדי ליצור מפתח אוניברסלי באמצעות API ל-REST, משתמשים ב-method‏ projects.keys.create ומציינים universalSettings:

POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys

{
  "displayName": "DISPLAY_NAME",
  "universalSettings": {}
}

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID: מזהה הפרויקט ב- Google Cloud
  • DISPLAY_NAME: שם מוצג למפתח, בדרך כלל שם האתר

התשובה תכיל את מפתח reCAPTCHA Universal החדש שנוצר.

הגדרת דומיינים למנוע המדיניות

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

המסוף

  1. נכנסים לדף Fraud Defense במסוף Google Cloud .

    מעבר אל 'הגנה מפני הונאה'

  2. בודקים ששם הפרויקט מופיע בבורר המשאבים בחלק העליון של הדף.

    אם שם הפרויקט לא מופיע, לוחצים על בורר המשאבים ובוחרים את הפרויקט.

  3. לוחצים על הכרטיסייה מפתחות reCAPTCHA.

  4. מאתרים את המפתח האוניברסלי שרוצים להגדיר ולוחצים על המפתח.

  5. בדף פרטים עיקריים, לוחצים על עריכת המפתח.

  6. מאתרים את הקטע הגדרות שימוש במפתח.

    כדי להגן על מפתח ה-reCAPTCHA של הדומיין ותת-הדומיינים, מוודאים שהמתג השבתת אימות הדומיין מושבת.

    השבתת אימות הדומיין היא סיכון אבטחה כי אין הגבלות באתר, ולכן כל אחד יכול לגשת למפתח reCAPTCHA ולהשתמש בו.

    מזינים את שם הדומיין של האתר:

    1. בקטע רשימת הדומיינים, לוחצים על הוספת דומיין.
    2. בשדה דומיין, מזינים את שם הדומיין.
    3. אופציונלי: כדי להוסיף עוד דומיין, לוחצים על הוספת דומיין ומזינים את השם של דומיין נוסף בשדה דומיין. אפשר להוסיף עד 250 דומיינים.
  7. לוחצים על שמירת השינויים.

gcloud

כדי לעדכן את הדומיינים המותרים למפתח האוניברסלי באמצעות Google Cloud CLI, משתמשים בפקודה gcloud alpha recaptcha policies update ומציינים את הדומיינים בקובץ הגדרות מדיניות (לדוגמה, POLICY.yaml):

gcloud alpha recaptcha policies update --key=KEY_ID --policy=POLICY.yaml

בקובץ POLICY.yaml צריך לציין את הדומיינים המורשים בקטע clientSettings:

clientSettings:
  allowedDomains:
    - DOMAIN_NAME_1
    - DOMAIN_NAME_2

לחלופין, כדי לאפשר את כל הדומיינים ולהשבית את אימות הדומיין, מגדירים את allowAllDomains ל-true בקובץ POLICY.yaml:

clientSettings:
  allowAllDomains: true

מחליפים את מה שכתוב בשדות הבאים:

  • KEY_ID: המזהה או שם המשאב המלא של המפתח האוניברסלי
  • DOMAIN_NAME_1, ‏ DOMAIN_NAME_2: שמות הדומיינים של האתרים שמורשים להשתמש במפתח

‫API בארכיטקטורת REST

כדי לעדכן את הדומיינים המורשים למפתח האוניברסלי באמצעות REST API, משתמשים ב-method ‏projects.keys.updatePolicy.

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • PROJECT_ID: מזהה הפרויקט ב- Google Cloud
  • KEY_ID: המזהה של המפתח האוניברסלי
  • DOMAIN_NAME_1, DOMAIN_NAME_2: שמות הדומיינים של אתרים שמורשים להשתמש במפתח

ה-method של ה-HTTP וכתובת ה-URL:

PATCH https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys/KEY_ID/policy?updateMask=clientSettings.allowedDomains,clientSettings.allowAllDomains

תוכן בקשת JSON:

{
"clientSettings": {
  "allowedDomains": [
    "DOMAIN_NAME_1",
    "DOMAIN_NAME_2"
  ],
  "allowAllDomains": false
}
}

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

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

המאמרים הבאים