Diese Seite enthält Informationen zum Konfigurieren von Google Cloud Armor Sicherheitsrichtlinienregeln für die Bot-Verwaltung. Bevor Sie die Bot-Verwaltung konfigurieren, sollten Sie mit den Informationen in der Bot-Verwaltung.
Hinweise
In den folgenden Abschnitten werden alle IAM-Rollen (Identity and Access Management) und
Berechtigungen, die zum Konfigurieren von Google Cloud Armor-Sicherheitsrichtlinien erforderlich sind. Für
die Anwendungsfälle in diesem Dokument entsprechen,
compute.securityPolicies.create
und compute.securityPolicies.update
Berechtigungen.
IAM-Berechtigungen für Google Cloud Armor-Sicherheitsrichtlinien einrichten
Für die folgenden Vorgänge ist die Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM) erforderlich
Rolle „Compute-Sicherheitsadministrator“ (roles/compute.securityAdmin
):
- Google Cloud Armor konfigurieren, ändern, aktualisieren und löschen Sicherheitsrichtlinie
- Mithilfe der folgenden API-Methoden:
<ph type="x-smartling-placeholder">
- </ph>
SecurityPolicies insert
SecurityPolicies delete
SecurityPolicies patch
SecurityPolicies addRule
SecurityPolicies patchRule
SecurityPolicies removeRule
Einen Nutzer mit der Rolle „Compute-Netzwerkadministrator“ (roles/compute.networkAdmin
)
kann folgende Vorgänge ausführen:
- Google Cloud Armor-Sicherheitsrichtlinie für einen Back-End-Dienst festlegen
- Mithilfe der folgenden API-Methoden:
<ph type="x-smartling-placeholder">
- </ph>
BackendServices setSecurityPolicy
BackendServices list
(nurgcloud
)
Nutzer mit der Rolle „Sicherheitsadministrator“ (roles/iam.securityAdmin
)
und die Rolle „Compute Network Admin“ kann die Google Cloud Armor-Sicherheit ansehen
mithilfe der SecurityPolicies
API-Methoden get
, list
und
getRule
IAM-Berechtigungen für benutzerdefinierte Rollen einrichten
In der folgenden Tabelle sind die grundlegenden Berechtigungen der IAM-Rollen und die zugehörigen API-Methoden aufgeführt.
IAM-Berechtigung | API-Methoden |
---|---|
compute.securityPolicies.create |
SecurityPolicies insert |
compute.securityPolicies.delete |
SecurityPolicies delete |
compute.securityPolicies.get |
SecurityPolicies get SecurityPolicies getRule |
compute.securityPolicies.list |
SecurityPolicies list |
compute.securityPolicies.use |
BackendServices setSecurityPolicy |
compute.securityPolicies.update |
SecurityPolicies patch SecurityPolicies addRule SecurityPolicies patchRule SecurityPolicies removeRule |
compute.backendServices.setSecurityPolicy |
BackendServices setSecurityPolicy |
Verwenden Sie eine manuelle reCAPTCHA-Aufgabe, um zwischen menschlichen und automatisierten Clients zu unterscheiden
Wenn Sie reCAPTCHA mit Google Cloud Armor verwenden möchten, müssen Sie
Ihren reCAPTCHA WAF-Websiteschlüssel (reCAPTCHA-Schlüssel) vom Typ CHALLENGEPAGE
mit einem
Sicherheitsrichtlinie. Weitere Informationen zu reCAPTCHA-Schlüsseln finden Sie in der
Übersicht über reCAPTCHA-Schlüssel.
Um Ihren eigenen reCAPTCHA-Schlüssel mit einer Sicherheitsrichtlinie zu verknüpfen oder die Verknüpfung aufzuheben, verwenden Sie folgenden Befehl:
gcloud compute security-policies update SECURITY_POLICY \ --recaptcha-redirect-site-key SITE_KEY
Ersetzen Sie Folgendes:
SECURITY_POLICY
: der Name der SicherheitsrichtlinieSITE_KEY
: Ihr reCAPTCHA-CHALLENGEPAGE
-Schlüssel
reCAPTCHA-Schlüssel verknüpfen
Im folgenden Beispiel wird ein reCAPTCHA-Schlüssel mit einer Sicherheitsrichtlinie verknüpft. Die Der zugehörige reCAPTCHA-Schlüssel gilt für alle Regeln, für die die manuelle Identitätsbestätigung verwendet wird unter der jeweiligen Sicherheitsrichtlinie.
gcloud compute security-policies update SECURITY_POLICY \ --recaptcha-redirect-site-key "SITE_KEY"
Verknüpfung eines reCAPTCHA-Schlüssels aufheben
Verwenden Sie den folgenden Befehl, um die Verknüpfung eines reCAPTCHA-Schlüssels mit einer Sicherheitsrichtlinie aufzuheben:
gcloud compute security-policies update SECURITY_POLICY \ --recaptcha-redirect-site-key ""
Traffic für reCAPTCHA-Bewertung weiterleiten
Wenn Sie Ihren reCAPTCHA-Schlüssel mit Ihrer Sicherheitsrichtlinie verknüpft haben, können Sie Erstellen Sie eine Regel innerhalb dieser Richtlinie, um den Traffic intern umzuleiten reCAPTCHA-Bewertung. Verwenden Sie das folgende Format im gcloud CLI, um Traffic umzuleiten:
gcloud compute security-policies rules create PRIORITY \ --security-policy SECURITY_POLICY \ {--expression EXPRESSION | --src-ip-ranges SRC_IP_RANGE} \ --action redirect \ --redirect-type google-recaptcha
Ersetzen Sie Folgendes:
PRIORITY
: Die Priorität, mit der Sie die Klasse erstellen möchten. RegelSECURITY_POLICY
: der Name der SicherheitsrichtlinieEXPRESSION
: der Ausdruck der benutzerdefinierten Regelsprache, der stimmt mit dem Traffic überein, für den Sie die reCAPTCHA-Bewertung erzwingen möchtenSRC_IP_RANGE
ist ein IP-Adressbereich. Hiermit können Sie die reCAPTCHA-Bewertung für alle Anfragen aus diesem Bereich.
Im folgenden Beispiel wird eine Regel erstellt, die Traffic weiterleitet, der
/login.html
für eine manuelle reCAPTCHA-Aufgabe:
gcloud compute security-policies rules create 1000 \ --security-policy SECURITY_POLICY \ --expression "request.path.matches(\"/login.html\")" \ --action redirect \ --redirect-type google-recaptcha
Reibungslose reCAPTCHA-Bewertung erzwingen
Bevor Sie fortfahren, sehen Sie sich die Bot-Verwaltung finden Sie die Voraussetzungen für die Verwendung von reCAPTCHA-Aktionstokens oder Sitzungstokens.
Zum Extrahieren von Attributen aus einem reCAPTCHA-Aktionstoken können Sie Folgendes verwenden:
token.recaptcha_action.ATTRIBUTE
Ersetzen
ATTRIBUTE
mit einem gültigen Tokenattribut in der
Google Cloud Armor-Regelsprache.
Gleichermaßen token.recaptcha_session.ATTRIBUTE
verwenden
um Attribute aus einem reCAPTCHA-Sitzungstoken zu extrahieren. Weitere Informationen
Informationen zur Syntax des verfügbaren reCAPTCHA-Tokens
finden Sie in der
Referenz zur Sprache für Regeln
Ein Aktionstoken kann aus einer Webanwendung, einer iOS-App oder
eine Android-App, während ein Sitzungstoken nur aus einer
. Für jede Plattform ist ein separater reCAPTCHA-Schlüssel erforderlich. Die Ausdrücke
token.recaptcha_action.ATTRIBUTE
und
token.recaptcha_session.ATTRIBUTE
gelten für Tokens aus
jede dieser Plattformen. Um Tokens von
verschiedenen Plattformen zu unterscheiden
Um Tokendiebstahl zu verhindern, sollten Sie reCAPTCHA-Schlüssel verknüpfen, wenn Sie
Regeln konfigurieren, die diese Ausdrücke verwenden.
Beispiele
Im ersten Beispiel wird eine Regel erstellt, die das Traffic-Targeting zulässt
/login.html
mit einem reCAPTCHA-Aktionstoken mit folgendem Wert:
mindestens 0.8
.
gcloud compute security-policies rules create 1000 \ --security-policy SECURITY_POLICY \ --expression "request.path.matches(\"/login.html\") && token.recaptcha_action.score >= 0.8" \ --action allow
Das zweite Beispiel ist dasselbe wie das erste, aber es muss auch Folgendes angegeben werden:
Das Aktionstoken wird mit dem reCAPTCHA-Schlüssel example-site-key-1
oder
example-site-key-2
:
gcloud compute security-policies rules create 1000 \ --security-policy SECURITY_POLICY \ --expression "request.path.matches(\"/login.html\") && token.recaptcha_action.score >= 0.8" \ --recaptcha-action-site-keys "example-site-key-1,example-site-key-2" \ --action allow
Im dritten Beispiel wird eine Regel erstellt, die Traffic-Targeting /login.html
,
mit einem reCAPTCHA-Sitzungstoken, das mit dem reCAPTCHA-Schlüssel von
example-site-key-3
, mit einem Wert von mindestens 0.8
.
gcloud compute security-policies rules create 1000 \ --security-policy SECURITY_POLICY \ --expression "request.path.matches(\"/login.html\") && token.recaptcha_session.score >= 0.8" \ --recaptcha-session-site-keys "example-site-key-3" \ --action allow
Weiterleitung (302-Antwort)
Verwenden Sie die Methode im folgenden Format in der Google Cloud CLI:
gcloud compute security-policies rules create PRIORITY \ --security-policy SECURITY_POLICY \ {--expression EXPRESSION | --src-ip-ranges SRC_IP_RANGE} \ --action redirect \ --redirect-type external-302 \ --redirect-target REDIRECT_URL
Ersetzen Sie Folgendes:
PRIORITY
: Die Priorität, mit der Sie die Klasse erstellen möchten. RegelSECURITY_POLICY
: der Name der SicherheitsrichtlinieEXPRESSION
: der Ausdruck der benutzerdefinierten Regelsprache, der stimmt mit dem Traffic überein, für den Sie die reCAPTCHA-Bewertung erzwingen möchtenSRC_IP_RANGE
ist ein IP-Adressbereich. Hiermit können Sie die reCAPTCHA-Bewertung für alle Anfragen aus diesem Bereich.REDIRECT_URL
: die URL, zu der Sie weiterleiten möchten Verkehr
Im folgenden Beispiel wird eine Regel erstellt, die den Traffic von 10.10.10.0/24 an https://www.example.com weiterleitet.
gcloud compute security-policies rules create 1000 \ --security-policy SECURITY_POLICY \ --src-ip-ranges "10.10.10.0/24" \ --action redirect \ --redirect-type external-302 \ --redirect-target "https://www.example.com"
Anfrage gestalten
Um eine Regel zu erstellen, die Traffic zulässt, aber benutzerdefinierte Header und benutzerdefinierte statische Werte, bevor Sie sie an geschützte Back-Ends senden, verwenden Sie Folgendes: Format in der gcloud CLI:
gcloud compute security-policies rules create PRIORITY \ --security-policy SECURITY_POLICY \ {--expression EXPRESSION | --src-ip-ranges SRC_IP_RANGE} \ --action allow \ --request-headers-to-add HEADER_1=VALUE_1,HEADER_2=VALUE_2,...
Ersetzen Sie Folgendes:
PRIORITY
: die Priorität, mit der Sie das Element erstellen möchten die RegelSECURITY_POLICY
: der Name der SicherheitsrichtlinieEXPRESSION
: der Ausdruck der benutzerdefinierten Regelsprache, der stimmt mit dem Traffic überein, für den Sie die reCAPTCHA-Bewertung erzwingen möchtenSRC_IP_RANGE
ist ein IP-Adressbereich. Hiermit können Sie die reCAPTCHA-Bewertung für alle Anfragen aus diesem Bereich.HEADER_#
: der Name des Anfrageheaders, mit dem möchten Sie die Anfrage dekorieren,VALUE_#
: der Wert des Anfrageheaders, mit dem möchten Sie die Anfrage dekorieren,
Im folgenden Beispiel wird eine Regel erstellt, die Traffic-Targeting /login.html
,
solange die Anfrage auch einen reCAPTCHA-Aktionstokenwert hat
niedriger als 0.2
.
gcloud compute security-policies rules create 1000 \ --security-policy SECURITY_POLICY \ --expression "request.path.matches("/login.html") && token.recaptcha_action.score < 0.2" \ --action allow \ --request-headers-to-add "reCAPTCHA-Warning=high"
Nächste Schritte
- Sehen Sie sich die Übersicht zur Ratenbegrenzung an.
- Weitere Informationen zur Bot-Verwaltung