במאמר הזה מוסבר איך לשלב באתרים את Google Cloud Fraud Defense ל-Cloud Armor.
כדי להשלים את השילוב, צריך להטמיע תכונה אחת או יותר של Fraud Defense ל-Cloud Armor ולהגדיר את כללי מדיניות האבטחה של Cloud Armor.
לפני שמתחילים
מפעילים את reCAPTCHA Enterprise API.
התפקידים שנדרשים כדי להפעיל ממשקי API
כדי להפעיל ממשקי API, צריך את ההרשאה
serviceusage.services.enable. אם אתם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד "בעלים" (roles/owner). אחרת, אתם יכולים לקבל את ההרשאה הזו דרך התפקיד "אדמין בממשק 'שימוש בשירות'" (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים?תכננו איך אתם רוצים להטמיע את התכונות של Fraud Defense ל-Cloud Armor כדי להגן על האתר שלכם.
- בוחרים תכונה אחת או יותר של WAF שמתאימה לתרחיש לדוגמה.
- מזהים את הדפים שרוצים להגן עליהם ואת סוג התכונה של Cloud Armor שרוצים להטמיע בדפים האלה.
הטמעת תכונות של Fraud Defense ל-Cloud Armor
בהתאם לדרישות שלכם, אתם יכולים להשתמש בתכונה אחת או יותר של Fraud Defense ל-Cloud Armor באפליקציה אחת.
אם אתם רוצים להשתמש ביותר מתכונה אחת, אתם צריכים ליצור מפתח reCAPTCHA לכל אחת מהתכונות האלה ולהשתמש בהן באפליקציה. לדוגמה, אם רוצים להשתמש בטוקנים של פעולות ב-reCAPTCHA ובמבחן reCAPTCHA, צריך ליצור מפתח לטוקן פעולה ומפתח למבחן reCAPTCHA, ולהשתמש בהם באפליקציה.
הטמעת אסימוני פעולה של reCAPTCHA
כדי ליצור אסימוני פעולה, צריך להפעיל את reCAPTCHA בדפי האינטרנט.
אחרי ש-reCAPTCHA יוצר טוקן פעולה, אתם מצרפים את טוקן הפעולה ל-request header מוגדר מראש בכל מקום שבו אתם צריכים להגן על פעולת משתמש, כמו checkout. כברירת מחדל, אסימוני הפעולה תקפים למשך 30 דקות, אבל משך הזמן יכול להשתנות בהתאם לתנועה.
כדי ש-Cloud Armor יוכל להעריך את מאפייני הטוקן, צריך לצרף את ה-action-token ל-request header מוגדר מראש לפני שהטוקן יפוג.
כדי להטמיע טוקן פעולה של reCAPTCHA:
יוצרים מפתח של אסימון פעולה לאתר.
מסוף Cloud
נכנסים לדף Google Cloud Fraud Defense במסוף Google Cloud .
מוודאים ששם הפרויקט מופיע בבורר המשאבים שבראש הדף.
אם שם הפרויקט לא מופיע, לוחצים על בורר המשאבים ובוחרים את הפרויקט.
- לוחצים על הכרטיסייה Keys.
- לוחצים על Create key.
- בשדה Display name, מזינים שם לתצוגה של המפתח.
- בהתאם לפלטפורמה שבה רוצים ליצור מפתחות reCAPTCHA ל-WAF, מבצעים את הפעולה המתאימה:
- ב-Application type בוחרים באפשרות Web.
הקטע רשימת דומיינים מופיע.
-
כדי להגן על מפתח reCAPTCHA של הדומיין ותת-הדומיינים, ודאו שהמתג Disable domain verification מושבת.
השבתת אימות הדומיין היא סיכון אבטחה כי אין הגבלות על האתר, כך שכל אחד יכול לגשת למפתח reCAPTCHA ולהשתמש בו.
-
מזינים את שם הדומיין של האתר:
- בקטע רשימת דומיינים, לוחצים על הוספת דומיין.
- בשדה דומיין, מזינים את שם הדומיין.
אופציונלי: כדי להוסיף עוד דומיין, לוחצים על הוספת דומיין ומזינים את השם של הדומיין הנוסף בשדה דומיין. אפשר להוסיף עד 250 דומיינים.
באתרים, מפתח reCAPTCHA הוא ייחודי לדומיינים ולתת-הדומיינים שאתם מציינים. אם האתר שלכם מוצג מכמה דומיינים, אתם יכולים לציין יותר מדומיין אחד. אם מציינים דומיין (לדוגמה,
examplepetstore.com), לא צריך לציין את תת-הדומיינים שלו (לדוגמה,subdomain.examplepetstore.com). שינויים ברשימת הדומיינים ייכנסו לתוקף תוך 30 דקות.
- בהגדרות נוספות, מפעילים את המתג האם המפתח הזה ייפרס בחומת אש ליישומי אינטרנט (WAF)?.
באפשרויות של תכונה, בוחרים באפשרות פעולה.
-
אופציונלי: מפעילים את המתג רוצה להשתמש באתגרים?.
- לוחצים על Create key.
המפתח החדש שנוצר מופיע בדף reCAPTCHA keys.
gcloud
כדי ליצור מפתחות reCAPTCHA, משתמשים בפקודה gcloud recaptcha keys create.
לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:
- INTEGRATION_TYPE: סוג השילוב.
מציינים את הערך
scoreאוcheckbox. - DISPLAY_NAME: שם המפתח. בדרך כלל שם האתר.
- DOMAIN_NAME: דומיינים או תת-דומיינים של אתרים שמורשים להשתמש במפתח.
כדי לציין כמה דומיינים, צריך להזין רשימה מופרדת בפסיקים. אופציונלי: מציינים את
--allow-all-domainsכדי להשבית את אימות הדומיין.השבתת אימות הדומיין היא סיכון אבטחה כי אין הגבלות על האתר, כך שכל אחד יכול לגשת למפתח reCAPTCHA ולהשתמש בו.
- WAF_FEATURE: שם התכונה של ה-WAF.
מציינים את
action-token. - WAF_SERVICE: השם של ספק שירות ה-WAF.
מציינים את
CAל-Cloud Armor.
מריצים את הפקודה gcloud recaptcha keys create:
Linux, macOS או Cloud Shell
gcloud recaptcha keys create \ --web \ --display-name=DISPLAY_NAME \ --integration-type=INTEGRATION_TYPE \ --domains=DOMAIN_NAME \ --waf-feature=WAF_FEATURE \ --waf-service=WAF_SERVICE
Windows (PowerShell)
gcloud recaptcha keys create ` --web ` --display-name=DISPLAY_NAME ` --integration-type=INTEGRATION_TYPE ` --domains=DOMAIN_NAME ` --waf-feature=WAF_FEATURE ` --waf-service=WAF_SERVICE
Windows (cmd.exe)
gcloud recaptcha keys create ^ --web ^ --display-name=DISPLAY_NAME ^ --integration-type=INTEGRATION_TYPE ^ --domains=DOMAIN_NAME ^ --waf-feature=WAF_FEATURE ^ --waf-service=WAF_SERVICE
התשובה מכילה את מפתח reCAPTCHA החדש שנוצר.
REST
למידע נוסף על סוגי מפתחות וסוגי שילובים, ראו מפתח וסוג שילוב.לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- INTEGRATION_TYPE: סוג השילוב.
מציינים את הערך
scoreאוcheckbox. - DISPLAY_NAME: שם המפתח. בדרך כלל שם האתר.
- DOMAIN_NAME: דומיינים או תת-דומיינים של אתרים שמורשים להשתמש במפתח.
כדי לציין כמה דומיינים, צריך להזין רשימה מופרדת בפסיקים. אופציונלי: מציינים את
--allow-all-domainsכדי להשבית את אימות הדומיין.השבתת אימות הדומיין היא סיכון אבטחה כי אין הגבלות על האתר, כך שכל אחד יכול לגשת למפתח reCAPTCHA ולהשתמש בו.
- WAF_FEATURE: שם התכונה של ה-WAF.
מציינים את
action-token. - WAF_SERVICE: השם של ספק שירות ה-WAF.
מציינים את
CAל-Cloud Armor. - DEFAULT_SCORE_THRESHOLD: במפתחות לאתגרים שמבוססים על מדיניות, הערך הזה מגדיר את סף האתגר האוניברסלי למפתח כשלא מוגדר סף ניקוד בהתאמה אישית. התכונה הזו נמצאת בגרסת טרום-השקה (Preview).
- ACTION_SCORE_THRESHOLDS: במפתחות אתגר שמבוססים על מדיניות, הפרמטר הזה מציין את הפעולה ואת ציון הסף התואם בין 0.0 ל-1.0. לדוגמה,
login='{"scoreThreshold": "0.3"}',signup='{"scoreThreshold": "0.1"}'. התכונה הזו נמצאת בגרסת טרום-השקה (Preview).
ה-method של ה-HTTP וכתובת ה-URL:
POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys
גוף בקשת JSON:
{ "displayName": "DISPLAY_NAME", 'wafSettings': " { "wafService": "WAF_SERVICE", "wafFeature": "WAF_FEATURE" } "webSettings": { "allowedDomains": "DOMAINS", "integrationType": "INTEGRATION_TYPE" } }כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם
request.jsonומריצים את הפקודה הבאה:curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys"PowerShell
שומרים את גוף הבקשה בקובץ בשם
request.jsonומריצים את הפקודה הבאה:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys" | Select-Object -Expand Contentאתם אמורים לקבל תגובת JSON שדומה לזו:
{ "name": "projects/project-id/keys/7Ldqgs0UBBBBBIn4k7YxEB-LwEh5S9-Gv6QQIWB8m", "displayName": "DISPLAY_NAME, "webSettings": { "allowAllDomains": true, "allowedDomains": [ "localhost" ], "integrationType": "SCORE", }, "wafSettings": { "wafService": "CA", "wafFeature": "ACTION_TOKEN" } }משלבים את JavaScript של reCAPTCHA בדפי האינטרנט באמצעות מפתח הטוקן לפעולה שיצרתם. הוראות מפורטות מופיעות במסמך שמתאים לסוג השילוב של מפתח אסימון הפעולה.
- לסוג השילוב
SCORE, קראו את המאמר שילוב מפתחות מבוססי-ניקוד עם ממשק הקצה. - לסוג השילוב
CHECKBOX, קראו את המאמר עיבוד הווידג'ט של reCAPTCHA בקצה הקדמי.
- לסוג השילוב
אחרי שמקבלים את הטוקן מ-reCAPTCHA, מצרפים את הטוקן ל-request header מוגדר מראש בפורמט הבא:
X-Recaptcha-Token: value-of-your-action-token
אתם יכולים להשתמש בשפות כמו XHR, Ajax או Fetch API כדי לצרף את האסימון ל-request header מוגדר מראש.
הסקריפט לדוגמה הבא מראה איך להגן על הפעולה
executeולצרף את האסימון לכותרת בקשה מוגדרת מראש באמצעות JavaScript + XHR:<script> src="https://www.google.com/recaptcha/enterprise.js?render=ACTION_TOKEN_KEY"></script> <script> function onSuccess(action_token) { const xhr = new XMLHttpRequest(); xhr.open('GET','YOUR_URL', false); // Attach the action-token to the predefined request header xhr.setRequestHeader("X-Recaptcha-Token", action_token); xhr.send(null); } function onError(reason) { alert('Response promise rejected: ' + reason); grecaptcha.enterprise.ready(function () { document.getElementById("execute-button").onclick = () => { grecaptcha.enterprise.execute('ACTION_TOKEN_KEY', { }).then(onSuccess, onError); }; }); } </script>
הטמעת טוקנים לסשנים של reCAPTCHA
אחרי הקריאה ל-execute(), קוד ה-JavaScript של reCAPTCHA מגדיר טוקן לסשן של reCAPTCHA כקובץ Cookie בדפדפן של משתמש הקצה. הדפדפן של משתמש הקצה מצרף את קובץ ה-Cookie ומרענן אותו כל עוד ה-JavaScript של reCAPTCHA נשאר פעיל.
כדי לספק טוקן לסשן כקובץ Cookie, צריך להתקין מפתח של טוקן לסשן לפחות באחד מדפי האינטרנט שמשתמש הקצה גולש בהם לפני הדף שצריך להגן עליו. לדוגמה, אם רוצים להגן על דף התשלום, צריך להתקין מפתח טוקן לסשן בדף הבית או בדף המוצר.
במאמר שילוב מפתחות מבוססי-ניקוד עם ממשק הקצה מוסבר איך מטמיעים מפתחות של טוקנים לסשנים בדפי אינטרנט.
אתם יכולים להשתמש בקובץ ה-Cookie הזה כדי להגן על הבקשות וטעינות הדפים הבאות של משתמש הקצה בדומיין ספציפי. כברירת מחדל, טוקנים לסשנים תקפים למשך 30 דקות. עם זאת, אם משתמש הקצה נשאר בדף שבו הטמעתם את הטוקן לסשן, מערכת reCAPTCHA מרעננת את הטוקן לסשן מדי פעם כדי למנוע את פקיעת התוקף שלו.
מתקינים טוקנים לסשנים בכל דף שרוצים להגן עליו באמצעות reCAPTCHA. מומלץ להגן על כל דף באמצעות reCAPTCHA ולהשתמש בכללי Cloud Armor כדי לאכוף את הגישה לכל הדפים, חוץ מהדף הראשון שבו משתמשי הקצה גולשים.
הדוגמה הבאה היא טוקן לסשן של reCAPTCHA:recaptcha-ca-t=value-of-your-session-token;domain=domain;expires=expiration_time
כדי להטמיע טוקן לסשן של reCAPTCHA, מבצעים את הפעולות הבאות:
יוצרים מפתח של טוקן לסשן באתר.
מסוף Cloud
נכנסים לדף Google Cloud Fraud Defense במסוף Google Cloud .
מוודאים ששם הפרויקט מופיע בבורר המשאבים שבראש הדף.
אם שם הפרויקט לא מופיע, לוחצים על בורר המשאבים ובוחרים את הפרויקט.
- לוחצים על הכרטיסייה Keys.
- לוחצים על Create key.
- בשדה Display name, מזינים שם לתצוגה של המפתח.
- בהתאם לפלטפורמה שבה רוצים ליצור מפתחות reCAPTCHA ל-WAF, מבצעים את הפעולה המתאימה:
- ב-Application type בוחרים באפשרות Web.
הקטע רשימת דומיינים מופיע.
-
כדי להגן על מפתח reCAPTCHA של הדומיין ותת-הדומיינים, ודאו שהמתג Disable domain verification מושבת.
השבתת אימות הדומיין היא סיכון אבטחה כי אין הגבלות על האתר, כך שכל אחד יכול לגשת למפתח reCAPTCHA ולהשתמש בו.
-
מזינים את שם הדומיין של האתר:
- בקטע רשימת דומיינים, לוחצים על הוספת דומיין.
- בשדה דומיין, מזינים את שם הדומיין.
אופציונלי: כדי להוסיף עוד דומיין, לוחצים על הוספת דומיין ומזינים את השם של הדומיין הנוסף בשדה דומיין. אפשר להוסיף עד 250 דומיינים.
באתרים, מפתח reCAPTCHA הוא ייחודי לדומיינים ולתת-הדומיינים שאתם מציינים. אם האתר שלכם מוצג מכמה דומיינים, אתם יכולים לציין יותר מדומיין אחד. אם מציינים דומיין (לדוגמה,
examplepetstore.com), לא צריך לציין את תת-הדומיינים שלו (לדוגמה,subdomain.examplepetstore.com). שינויים ברשימת הדומיינים ייכנסו לתוקף תוך 30 דקות.
- בהגדרות נוספות, מפעילים את המתג האם המפתח הזה ייפרס בחומת אש ליישומי אינטרנט (WAF)?.
באפשרויות של תכונה, בוחרים באפשרות סשן.
- אופציונלי:מפעילים את האפשרות השבתת אימות הדומיין.
השבתת אימות הדומיין היא סיכון אבטחה כי אין הגבלות על האתר, כך שכל אחד יכול לגשת למפתח reCAPTCHA ולהשתמש בו.
- לוחצים על Create key.
המפתח החדש שנוצר מופיע בדף reCAPTCHA keys.
gcloud
כדי ליצור מפתחות reCAPTCHA, משתמשים בפקודה gcloud recaptcha keys create.
לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:
- INTEGRATION_TYPE: סוג השילוב.
מציינים את
score. - DISPLAY_NAME: שם המפתח. בדרך כלל שם האתר.
- DOMAIN_NAME: דומיינים או תת-דומיינים של אתרים שמורשים להשתמש במפתח.
כדי לציין כמה דומיינים, צריך להזין רשימה מופרדת בפסיקים. אופציונלי: מציינים את
--allow-all-domainsכדי להשבית את אימות הדומיין.השבתת אימות הדומיין היא סיכון אבטחה כי אין הגבלות על האתר, כך שכל אחד יכול לגשת למפתח reCAPTCHA ולהשתמש בו.
- WAF_FEATURE: שם התכונה של ה-WAF.
מציינים את
session-token. - WAF_SERVICE: השם של ספק שירות ה-WAF.
מציינים את
CAל-Cloud Armor.
מריצים את הפקודה gcloud recaptcha keys create:
Linux, macOS או Cloud Shell
gcloud recaptcha keys create \ --web \ --display-name=DISPLAY_NAME \ --integration-type=INTEGRATION_TYPE \ --domains=DOMAIN_NAME \ --waf-feature=WAF_FEATURE \ --waf-service=WAF_SERVICE
Windows (PowerShell)
gcloud recaptcha keys create ` --web ` --display-name=DISPLAY_NAME ` --integration-type=INTEGRATION_TYPE ` --domains=DOMAIN_NAME ` --waf-feature=WAF_FEATURE ` --waf-service=WAF_SERVICE
Windows (cmd.exe)
gcloud recaptcha keys create ^ --web ^ --display-name=DISPLAY_NAME ^ --integration-type=INTEGRATION_TYPE ^ --domains=DOMAIN_NAME ^ --waf-feature=WAF_FEATURE ^ --waf-service=WAF_SERVICE
התשובה מכילה את מפתח reCAPTCHA החדש שנוצר.
REST
למידע נוסף על סוגי מפתחות וסוגי שילובים, ראו מפתח וסוג שילוב.לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- INTEGRATION_TYPE: סוג השילוב.
מציינים את
score. - DISPLAY_NAME: שם המפתח. בדרך כלל שם האתר.
- DOMAIN_NAME: דומיינים או תת-דומיינים של אתרים שמורשים להשתמש במפתח.
כדי לציין כמה דומיינים, צריך להזין רשימה מופרדת בפסיקים. אופציונלי: מציינים את
--allow-all-domainsכדי להשבית את אימות הדומיין.השבתת אימות הדומיין היא סיכון אבטחה כי אין הגבלות על האתר, כך שכל אחד יכול לגשת למפתח reCAPTCHA ולהשתמש בו.
- WAF_FEATURE: שם התכונה של ה-WAF.
מציינים את
session-token. - WAF_SERVICE: השם של ספק שירות ה-WAF.
מציינים את
CAל-Cloud Armor. - DEFAULT_SCORE_THRESHOLD: במפתחות לאתגרים שמבוססים על מדיניות, הערך הזה מגדיר את סף האתגר האוניברסלי למפתח כשלא מוגדר סף ניקוד בהתאמה אישית. התכונה הזו נמצאת בגרסת טרום-השקה (Preview).
- ACTION_SCORE_THRESHOLDS: במפתחות אתגר שמבוססים על מדיניות, הפרמטר הזה מציין את הפעולה ואת ציון הסף התואם בין 0.0 ל-1.0. לדוגמה,
login='{"scoreThreshold": "0.3"}',signup='{"scoreThreshold": "0.1"}'. התכונה הזו נמצאת בגרסת טרום-השקה (Preview).
ה-method של ה-HTTP וכתובת ה-URL:
POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys
גוף בקשת JSON:
{ "displayName": "DISPLAY_NAME", 'wafSettings': " { "wafService": "WAF_SERVICE", "wafFeature": "WAF_FEATURE" } "webSettings": { "allowedDomains": "DOMAINS", "integrationType": "INTEGRATION_TYPE" } }כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם
request.jsonומריצים את הפקודה הבאה:curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys"PowerShell
שומרים את גוף הבקשה בקובץ בשם
request.jsonומריצים את הפקודה הבאה:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys" | Select-Object -Expand Contentאתם אמורים לקבל תגובת JSON שדומה לזו:
{ "name": "projects/project-id/keys/7Ldqgs0UBBBBBIn4k7YxEB-LwEh5S9-Gv6QQIWB8m", "displayName": "DISPLAY_NAME, "webSettings": { "allowAllDomains": true, "allowedDomains": [ "localhost" ], "integrationType": "SCORE", }, "wafSettings": { "wafService": "CA", "wafFeature": "SESSION_TOKEN" } }מוסיפים את המפתח session-token ואת
waf=sessionל-JavaScript של reCAPTCHA.הסקריפט לדוגמה הבא מראה איך להטמיע טוקן לסשן בדף אינטרנט:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>reCAPTCHA WAF Session Token</title> <script src="https://www.google.com/recaptcha/enterprise.js?render=SESSION_TOKEN_KEY&waf=session"></script> </head> <body></body> </html>
הטמעה של דף מבחן reCAPTCHA
כשמטמיעים דף מבחן reCAPTCHA, השירות reCAPTCHA מפנה לדף מעברון שבו נקבע אם צריך להציג למשתמש אתגר CAPTCHA. לכן, יכול להיות שחלק מהמשתמשים לא יראו את אתגרי ה-CAPTCHA.
כדי להטמיע דף מבחן reCAPTCHA, צריך ליצור מפתח לדף האתגר באתר.
מסוף Cloud
נכנסים לדף Google Cloud Fraud Defense במסוף Google Cloud .
מוודאים ששם הפרויקט מופיע בבורר המשאבים שבראש הדף.
אם שם הפרויקט לא מופיע, לוחצים על בורר המשאבים ובוחרים את הפרויקט.
- לוחצים על הכרטיסייה Keys.
- לוחצים על Create key.
- בשדה Display name, מזינים שם לתצוגה של המפתח.
- בהתאם לפלטפורמה שבה רוצים ליצור מפתחות reCAPTCHA ל-WAF, מבצעים את הפעולה המתאימה:
- ב-Application type בוחרים באפשרות Web.
- בהגדרות נוספות, מפעילים את המתג האם המפתח הזה ייפרס בחומת אש ליישומי אינטרנט (WAF)?.
באפשרויות תכונה, בוחרים באפשרות אתגר.
- מפעילים את האפשרות השבתת אימות הדומיין.
כשמשביתים את אימות הדומיין למפתחות של דפי אתגר, Cloud Armor מאמת את הדומיין.
- לוחצים על Create key.
המפתח החדש שנוצר מופיע בדף reCAPTCHA keys.
gcloud
כדי ליצור מפתחות reCAPTCHA, משתמשים בפקודה gcloud recaptcha keys create.
לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:
- INTEGRATION_TYPE: סוג השילוב.
מציינים את
invisible. - DISPLAY_NAME: שם המפתח. בדרך כלל שם האתר.
- DOMAIN_NAME: דומיינים או תת-דומיינים של אתרים שמורשים להשתמש במפתח.
מציינים את
--allow-all-domains. - WAF_FEATURE: שם התכונה של ה-WAF.
מציינים את
challenge-page. - WAF_SERVICE: השם של ספק שירות ה-WAF.
מציינים את
CAל-Cloud Armor.
מריצים את הפקודה gcloud recaptcha keys create:
Linux, macOS או Cloud Shell
gcloud recaptcha keys create \ --web \ --display-name=DISPLAY_NAME \ --integration-type=INTEGRATION_TYPE \ --domains=DOMAIN_NAME \ --waf-feature=WAF_FEATURE \ --waf-service=WAF_SERVICE
Windows (PowerShell)
gcloud recaptcha keys create ` --web ` --display-name=DISPLAY_NAME ` --integration-type=INTEGRATION_TYPE ` --domains=DOMAIN_NAME ` --waf-feature=WAF_FEATURE ` --waf-service=WAF_SERVICE
Windows (cmd.exe)
gcloud recaptcha keys create ^ --web ^ --display-name=DISPLAY_NAME ^ --integration-type=INTEGRATION_TYPE ^ --domains=DOMAIN_NAME ^ --waf-feature=WAF_FEATURE ^ --waf-service=WAF_SERVICE
התשובה מכילה את מפתח reCAPTCHA החדש שנוצר.
REST
למידע נוסף על סוגי מפתחות וסוגי שילובים, ראו מפתח וסוג שילוב.לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- INTEGRATION_TYPE: סוג השילוב.
מציינים את
invisible. - DISPLAY_NAME: שם המפתח. בדרך כלל שם האתר.
- DOMAIN_NAME: דומיינים או תת-דומיינים של אתרים שמורשים להשתמש במפתח.
מציינים את
--allow-all-domains. - WAF_FEATURE: שם התכונה של ה-WAF.
מציינים את
challenge-page. - WAF_SERVICE: השם של ספק שירות ה-WAF.
מציינים את
CAל-Cloud Armor. - DEFAULT_SCORE_THRESHOLD: במפתחות לאתגרים שמבוססים על מדיניות, הערך הזה מגדיר את סף האתגר האוניברסלי למפתח כשלא מוגדר סף ניקוד בהתאמה אישית. התכונה הזו נמצאת בגרסת טרום-השקה (Preview).
- ACTION_SCORE_THRESHOLDS: במפתחות אתגר שמבוססים על מדיניות, הפרמטר הזה מציין את הפעולה ואת ציון הסף התואם בין 0.0 ל-1.0. לדוגמה,
login='{"scoreThreshold": "0.3"}',signup='{"scoreThreshold": "0.1"}'. התכונה הזו נמצאת בגרסת טרום-השקה (Preview).
ה-method של ה-HTTP וכתובת ה-URL:
POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys
גוף בקשת JSON:
{
"displayName": "DISPLAY_NAME",
'wafSettings': " {
"wafService": "WAF_SERVICE",
"wafFeature": "WAF_FEATURE"
}
"webSettings": {
"allowedDomains": "DOMAINS",
"integrationType": "INTEGRATION_TYPE"
}
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/project-id/keys/7Ldqgs0UBBBBBIn4k7YxEB-LwEh5S9-Gv6QQIWB8m",
"displayName": "DISPLAY_NAME,
"webSettings": {
"allowAllDomains": true,
"allowedDomains": [
"localhost"
],
"integrationType": "INVISIBLE",
},
"wafSettings": {
"wafService": "CA",
"wafFeature": "CHALLENGE_PAGE"
}
}
הגדרת מדיניות האבטחה של Cloud Armor
אחרי שמטמיעים את התכונות של Fraud Defense ל-Cloud Armor, צריך להגדיר את מדיניות האבטחה של Cloud Armor לניהול בוטים.
אם הטמעתם דף מבחן reCAPTCHA, אתם צריכים:
- משייכים את מפתח דף האתגר למדיניות האבטחה.
- מגדירים כלל במדיניות האבטחה כדי להפנות מחדש בקשה לבדיקת reCAPTCHA.
אם הטמעתם טוקנים לפעולות או טוקנים לסשנים של reCAPTCHA, אתם צריכים להגדיר כלל במדיניות האבטחה שמעריך את הטוקנים של reCAPTCHA.
לפני שאתם מגדירים את מדיניות האבטחה של Cloud Armor, חשוב להבין את מאפייני האסימון של reCAPTCHA ל-Cloud Armor.
במאמר הגדרת כללים לניהול בוטים מוסבר איך להגדיר את מדיניות האבטחה של Cloud Armor ולהשתמש במפתחות reCAPTCHA ל-WAF עם מדיניות האבטחה.
קבלת תוצאות של reCAPTCHA
בטוקנים לפעולות ובטוקנים לסשנים של reCAPTCHA, אפשר לקבל את הניקוד של reCAPTCHA מהכותרת X-Recaptcha-Wafdata.
על סמך הציונים האלה, אתם יכולים להגדיר כל פעולה מותאמת אישית שצריך לבצע לבקשות של משתמשים.
בדוגמה הבאה מוצגת כותרת X-Recaptcha-Wafdata לדוגמה:
X-Recaptcha-Wafdata: waf_service="Google Cloud Armor", action_token;score=0.9, session_token;score=0.8\r\n
אפשר גם לראות את הניקוד של reCAPTCHA ביומנים של Google Cloud Armor.