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

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

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

הגדרת Policy Engine ב-Fraud Defense מספקת שתי תכונות עיקריות:

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

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

  1. הכנת הסביבה ל-Google Cloud Fraud Defense.

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

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

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

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

המסוף

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

    כניסה ל-Google Cloud Fraud Defense

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

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

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

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

gcloud

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

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

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

‫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: השם המוצג של המפתח, בדרך כלל שם האתר שלכם

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

הגדרת דומיינים ל-Policy Engine

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

המסוף

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

    מעבר אל Fraud Defense

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

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

  3. לוחצים על הכרטיסייה Keys.

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

  5. בדף Key details, לוחצים על Edit key.

  6. מאתרים את הקטע Key usage settings.

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

    השבתת אימות הדומיין היא סיכון אבטחה כי אין הגבלות על האתר, כך שכל אחד יכול לגשת למפתח 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

כדי לעדכן את הדומיינים המותרים למפתח האוניברסלי באמצעות ה-API ל-REST, משתמשים ב-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
}
}

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

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

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