Class: Google::Cloud::Compute::V1::SecurityPolicyRuleRateLimitOptions

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/cloud/compute/v1/compute.rb

Defined Under Namespace

Modules: EnforceOnKey

Instance Attribute Summary collapse

Instance Attribute Details

#ban_duration_sec ⇒ ::Integer

Returns Can only be specified if the action for the rule is "rate_based_ban". If specified, determines the time (in seconds) the traffic will continue to be banned by the rate limit after the rate falls below the threshold.

Returns:

  • (::Integer) —

    Can only be specified if the action for the rule is "rate_based_ban". If specified, determines the time (in seconds) the traffic will continue to be banned by the rate limit after the rate falls below the threshold.



73649
73650
73651
73652
73653
73654
73655
73656
73657
73658
73659
73660
73661
73662
73663
73664
73665
73666
73667
73668
73669
73670
73671
73672
73673
73674
73675
73676
73677
73678
73679
73680
73681
73682
73683
73684
73685
73686
73687
73688
73689
73690
73691
73692
73693
73694
73695
73696
73697
73698
73699
73700
73701
73702
73703
73704
73705
73706
73707
73708
73709
73710
73711
73712
73713
73714
73715
73716
73717
73718
73719
73720
73721
73722
73723
73724
73725
73726
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 73649

class SecurityPolicyRuleRateLimitOptions
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Determines the key to enforce the rate_limit_threshold on. Possible
  # values are:
  #
  #    - ALL: A single rate limit threshold is applied to all
  #    the requests matching this rule. This is the default value if
  #    "enforceOnKey" is not configured.
  #    - IP: The source IP address of
  #    the request is the key. Each IP has this limit enforced
  #    separately.
  #    - HTTP_HEADER: The value of the HTTP
  #    header whose name is configured under "enforceOnKeyName". The key
  #    value is truncated to the first 128 bytes of the header value. If no
  #    such header is present in the request, the key type defaults toALL.
  #    - XFF_IP: The first IP address (i.e. the
  #    originating client IP address) specified in the list of IPs under
  #    X-Forwarded-For HTTP header. If no such header is present or the value
  #    is not a valid IP, the key defaults to the source IP address of
  #    the request i.e. key type IP.
  #    - HTTP_COOKIE: The value of the HTTP
  #    cookie whose name is configured under "enforceOnKeyName". The key
  #    value is truncated to the first 128 bytes of the cookie value. If no
  #    such cookie is present in the request, the key type defaults toALL.
  #    - HTTP_PATH: The URL path of the HTTP request. The key
  #    value is truncated to the first 128 bytes.
  #    - SNI: Server name indication in the TLS session of the
  #    HTTPS request. The key value is truncated to the first 128 bytes. The
  #    key type defaults to ALL on a HTTP session.
  #    - REGION_CODE: The country/region from which the request
  #    originates.
  #    - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the
  #    client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the
  #    key type defaults to ALL.
  #    - USER_IP: The IP address of the originating client,
  #    which is resolved based on "userIpRequestHeaders" configured with the
  #    security policy. If there is no "userIpRequestHeaders" configuration or
  #    an IP address cannot be resolved from it, the key type defaults toIP.
  #    - ASN: The autonomous system number of the originating
  #    client. If not available, the key type defaults toALL.
  #    - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the
  #    client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the
  #    key type defaults to ALL.
  #
  #
  # For "fairshare" action, this value is limited to ALL i.e. a single rate
  # limit threshold is enforced for all the requests matching the rule.
  module EnforceOnKey
    # A value indicating that the enum field is not set.
    UNDEFINED_ENFORCE_ON_KEY = 0

    ALL = 64_897

    ASN = 65_116

    HTTP_COOKIE = 494_981_627

    HTTP_HEADER = 91_597_348

    HTTP_PATH = 311_503_228

    IP = 2343

    REGION_CODE = 79_559_768

    SNI = 82_254

    TLS_JA3_FINGERPRINT = 327_127_933

    TLS_JA4_FINGERPRINT = 33_724_926

    USER_IP = 34_009_627

    XFF_IP = 438_707_118
  end
end

#ban_threshold ⇒ ::Google::Cloud::Compute::V1::SecurityPolicyRuleRateLimitOptionsThreshold

Returns Can only be specified if the action for the rule is "rate_based_ban". If specified, the key will be banned for the configured 'ban_duration_sec' when the number of requests that exceed the 'rate_limit_threshold' also exceed this 'ban_threshold'.

Returns:



73649
73650
73651
73652
73653
73654
73655
73656
73657
73658
73659
73660
73661
73662
73663
73664
73665
73666
73667
73668
73669
73670
73671
73672
73673
73674
73675
73676
73677
73678
73679
73680
73681
73682
73683
73684
73685
73686
73687
73688
73689
73690
73691
73692
73693
73694
73695
73696
73697
73698
73699
73700
73701
73702
73703
73704
73705
73706
73707
73708
73709
73710
73711
73712
73713
73714
73715
73716
73717
73718
73719
73720
73721
73722
73723
73724
73725
73726
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 73649

class SecurityPolicyRuleRateLimitOptions
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Determines the key to enforce the rate_limit_threshold on. Possible
  # values are:
  #
  #    - ALL: A single rate limit threshold is applied to all
  #    the requests matching this rule. This is the default value if
  #    "enforceOnKey" is not configured.
  #    - IP: The source IP address of
  #    the request is the key. Each IP has this limit enforced
  #    separately.
  #    - HTTP_HEADER: The value of the HTTP
  #    header whose name is configured under "enforceOnKeyName". The key
  #    value is truncated to the first 128 bytes of the header value. If no
  #    such header is present in the request, the key type defaults toALL.
  #    - XFF_IP: The first IP address (i.e. the
  #    originating client IP address) specified in the list of IPs under
  #    X-Forwarded-For HTTP header. If no such header is present or the value
  #    is not a valid IP, the key defaults to the source IP address of
  #    the request i.e. key type IP.
  #    - HTTP_COOKIE: The value of the HTTP
  #    cookie whose name is configured under "enforceOnKeyName". The key
  #    value is truncated to the first 128 bytes of the cookie value. If no
  #    such cookie is present in the request, the key type defaults toALL.
  #    - HTTP_PATH: The URL path of the HTTP request. The key
  #    value is truncated to the first 128 bytes.
  #    - SNI: Server name indication in the TLS session of the
  #    HTTPS request. The key value is truncated to the first 128 bytes. The
  #    key type defaults to ALL on a HTTP session.
  #    - REGION_CODE: The country/region from which the request
  #    originates.
  #    - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the
  #    client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the
  #    key type defaults to ALL.
  #    - USER_IP: The IP address of the originating client,
  #    which is resolved based on "userIpRequestHeaders" configured with the
  #    security policy. If there is no "userIpRequestHeaders" configuration or
  #    an IP address cannot be resolved from it, the key type defaults toIP.
  #    - ASN: The autonomous system number of the originating
  #    client. If not available, the key type defaults toALL.
  #    - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the
  #    client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the
  #    key type defaults to ALL.
  #
  #
  # For "fairshare" action, this value is limited to ALL i.e. a single rate
  # limit threshold is enforced for all the requests matching the rule.
  module EnforceOnKey
    # A value indicating that the enum field is not set.
    UNDEFINED_ENFORCE_ON_KEY = 0

    ALL = 64_897

    ASN = 65_116

    HTTP_COOKIE = 494_981_627

    HTTP_HEADER = 91_597_348

    HTTP_PATH = 311_503_228

    IP = 2343

    REGION_CODE = 79_559_768

    SNI = 82_254

    TLS_JA3_FINGERPRINT = 327_127_933

    TLS_JA4_FINGERPRINT = 33_724_926

    USER_IP = 34_009_627

    XFF_IP = 438_707_118
  end
end

#conform_action ⇒ ::String

Returns Action to take for requests that are under the configured rate limit threshold. Valid option is "allow" only.

Returns:

  • (::String) —

    Action to take for requests that are under the configured rate limit threshold. Valid option is "allow" only.



73649
73650
73651
73652
73653
73654
73655
73656
73657
73658
73659
73660
73661
73662
73663
73664
73665
73666
73667
73668
73669
73670
73671
73672
73673
73674
73675
73676
73677
73678
73679
73680
73681
73682
73683
73684
73685
73686
73687
73688
73689
73690
73691
73692
73693
73694
73695
73696
73697
73698
73699
73700
73701
73702
73703
73704
73705
73706
73707
73708
73709
73710
73711
73712
73713
73714
73715
73716
73717
73718
73719
73720
73721
73722
73723
73724
73725
73726
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 73649

class SecurityPolicyRuleRateLimitOptions
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Determines the key to enforce the rate_limit_threshold on. Possible
  # values are:
  #
  #    - ALL: A single rate limit threshold is applied to all
  #    the requests matching this rule. This is the default value if
  #    "enforceOnKey" is not configured.
  #    - IP: The source IP address of
  #    the request is the key. Each IP has this limit enforced
  #    separately.
  #    - HTTP_HEADER: The value of the HTTP
  #    header whose name is configured under "enforceOnKeyName". The key
  #    value is truncated to the first 128 bytes of the header value. If no
  #    such header is present in the request, the key type defaults toALL.
  #    - XFF_IP: The first IP address (i.e. the
  #    originating client IP address) specified in the list of IPs under
  #    X-Forwarded-For HTTP header. If no such header is present or the value
  #    is not a valid IP, the key defaults to the source IP address of
  #    the request i.e. key type IP.
  #    - HTTP_COOKIE: The value of the HTTP
  #    cookie whose name is configured under "enforceOnKeyName". The key
  #    value is truncated to the first 128 bytes of the cookie value. If no
  #    such cookie is present in the request, the key type defaults toALL.
  #    - HTTP_PATH: The URL path of the HTTP request. The key
  #    value is truncated to the first 128 bytes.
  #    - SNI: Server name indication in the TLS session of the
  #    HTTPS request. The key value is truncated to the first 128 bytes. The
  #    key type defaults to ALL on a HTTP session.
  #    - REGION_CODE: The country/region from which the request
  #    originates.
  #    - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the
  #    client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the
  #    key type defaults to ALL.
  #    - USER_IP: The IP address of the originating client,
  #    which is resolved based on "userIpRequestHeaders" configured with the
  #    security policy. If there is no "userIpRequestHeaders" configuration or
  #    an IP address cannot be resolved from it, the key type defaults toIP.
  #    - ASN: The autonomous system number of the originating
  #    client. If not available, the key type defaults toALL.
  #    - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the
  #    client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the
  #    key type defaults to ALL.
  #
  #
  # For "fairshare" action, this value is limited to ALL i.e. a single rate
  # limit threshold is enforced for all the requests matching the rule.
  module EnforceOnKey
    # A value indicating that the enum field is not set.
    UNDEFINED_ENFORCE_ON_KEY = 0

    ALL = 64_897

    ASN = 65_116

    HTTP_COOKIE = 494_981_627

    HTTP_HEADER = 91_597_348

    HTTP_PATH = 311_503_228

    IP = 2343

    REGION_CODE = 79_559_768

    SNI = 82_254

    TLS_JA3_FINGERPRINT = 327_127_933

    TLS_JA4_FINGERPRINT = 33_724_926

    USER_IP = 34_009_627

    XFF_IP = 438_707_118
  end
end

#enforce_on_key ⇒ ::String

Returns Determines the key to enforce the rate_limit_threshold on. Possible values are:

- ALL: A single rate limit threshold is applied to all
the requests matching this rule. This is the default value if
"enforceOnKey" is not configured.
- IP: The source IP address of
the request is the key. Each IP has this limit enforced
separately.
- HTTP_HEADER: The value of the HTTP
header whose name is configured under "enforceOnKeyName". The key
value is truncated to the first 128 bytes of the header value. If no
such header is present in the request, the key type defaults toALL.
- XFF_IP: The first IP address (i.e. the
originating client IP address) specified in the list of IPs under
X-Forwarded-For HTTP header. If no such header is present or the value
is not a valid IP, the key defaults to the source IP address of
the request i.e. key type IP.
- HTTP_COOKIE: The value of the HTTP
cookie whose name is configured under "enforceOnKeyName". The key
value is truncated to the first 128 bytes of the cookie value. If no
such cookie is present in the request, the key type defaults toALL.
- HTTP_PATH: The URL path of the HTTP request. The key
value is truncated to the first 128 bytes.
- SNI: Server name indication in the TLS session of the
HTTPS request. The key value is truncated to the first 128 bytes. The
key type defaults to ALL on a HTTP session.
- REGION_CODE: The country/region from which the request
originates.
- TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the
client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the
key type defaults to ALL.
- USER_IP: The IP address of the originating client,
which is resolved based on "userIpRequestHeaders" configured with the
security policy. If there is no "userIpRequestHeaders" configuration or
an IP address cannot be resolved from it, the key type defaults toIP.
- ASN: The autonomous system number of the originating
client. If not available, the key type defaults toALL.
- TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the
client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the
key type defaults to ALL.

For "fairshare" action, this value is limited to ALL i.e. a single rate limit threshold is enforced for all the requests matching the rule. Check the EnforceOnKey enum for the list of possible values.

Returns:

  • (::String) —

    Determines the key to enforce the rate_limit_threshold on. Possible values are:

    - ALL: A single rate limit threshold is applied to all
    the requests matching this rule. This is the default value if
    "enforceOnKey" is not configured.
    - IP: The source IP address of
    the request is the key. Each IP has this limit enforced
    separately.
    - HTTP_HEADER: The value of the HTTP
    header whose name is configured under "enforceOnKeyName". The key
    value is truncated to the first 128 bytes of the header value. If no
    such header is present in the request, the key type defaults toALL.
    - XFF_IP: The first IP address (i.e. the
    originating client IP address) specified in the list of IPs under
    X-Forwarded-For HTTP header. If no such header is present or the value
    is not a valid IP, the key defaults to the source IP address of
    the request i.e. key type IP.
    - HTTP_COOKIE: The value of the HTTP
    cookie whose name is configured under "enforceOnKeyName". The key
    value is truncated to the first 128 bytes of the cookie value. If no
    such cookie is present in the request, the key type defaults toALL.
    - HTTP_PATH: The URL path of the HTTP request. The key
    value is truncated to the first 128 bytes.
    - SNI: Server name indication in the TLS session of the
    HTTPS request. The key value is truncated to the first 128 bytes. The
    key type defaults to ALL on a HTTP session.
    - REGION_CODE: The country/region from which the request
    originates.
    - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the
    client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the
    key type defaults to ALL.
    - USER_IP: The IP address of the originating client,
    which is resolved based on "userIpRequestHeaders" configured with the
    security policy. If there is no "userIpRequestHeaders" configuration or
    an IP address cannot be resolved from it, the key type defaults toIP.
    - ASN: The autonomous system number of the originating
    client. If not available, the key type defaults toALL.
    - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the
    client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the
    key type defaults to ALL.
    

    For "fairshare" action, this value is limited to ALL i.e. a single rate limit threshold is enforced for all the requests matching the rule. Check the EnforceOnKey enum for the list of possible values.



73649
73650
73651
73652
73653
73654
73655
73656
73657
73658
73659
73660
73661
73662
73663
73664
73665
73666
73667
73668
73669
73670
73671
73672
73673
73674
73675
73676
73677
73678
73679
73680
73681
73682
73683
73684
73685
73686
73687
73688
73689
73690
73691
73692
73693
73694
73695
73696
73697
73698
73699
73700
73701
73702
73703
73704
73705
73706
73707
73708
73709
73710
73711
73712
73713
73714
73715
73716
73717
73718
73719
73720
73721
73722
73723
73724
73725
73726
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 73649

class SecurityPolicyRuleRateLimitOptions
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Determines the key to enforce the rate_limit_threshold on. Possible
  # values are:
  #
  #    - ALL: A single rate limit threshold is applied to all
  #    the requests matching this rule. This is the default value if
  #    "enforceOnKey" is not configured.
  #    - IP: The source IP address of
  #    the request is the key. Each IP has this limit enforced
  #    separately.
  #    - HTTP_HEADER: The value of the HTTP
  #    header whose name is configured under "enforceOnKeyName". The key
  #    value is truncated to the first 128 bytes of the header value. If no
  #    such header is present in the request, the key type defaults toALL.
  #    - XFF_IP: The first IP address (i.e. the
  #    originating client IP address) specified in the list of IPs under
  #    X-Forwarded-For HTTP header. If no such header is present or the value
  #    is not a valid IP, the key defaults to the source IP address of
  #    the request i.e. key type IP.
  #    - HTTP_COOKIE: The value of the HTTP
  #    cookie whose name is configured under "enforceOnKeyName". The key
  #    value is truncated to the first 128 bytes of the cookie value. If no
  #    such cookie is present in the request, the key type defaults toALL.
  #    - HTTP_PATH: The URL path of the HTTP request. The key
  #    value is truncated to the first 128 bytes.
  #    - SNI: Server name indication in the TLS session of the
  #    HTTPS request. The key value is truncated to the first 128 bytes. The
  #    key type defaults to ALL on a HTTP session.
  #    - REGION_CODE: The country/region from which the request
  #    originates.
  #    - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the
  #    client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the
  #    key type defaults to ALL.
  #    - USER_IP: The IP address of the originating client,
  #    which is resolved based on "userIpRequestHeaders" configured with the
  #    security policy. If there is no "userIpRequestHeaders" configuration or
  #    an IP address cannot be resolved from it, the key type defaults toIP.
  #    - ASN: The autonomous system number of the originating
  #    client. If not available, the key type defaults toALL.
  #    - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the
  #    client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the
  #    key type defaults to ALL.
  #
  #
  # For "fairshare" action, this value is limited to ALL i.e. a single rate
  # limit threshold is enforced for all the requests matching the rule.
  module EnforceOnKey
    # A value indicating that the enum field is not set.
    UNDEFINED_ENFORCE_ON_KEY = 0

    ALL = 64_897

    ASN = 65_116

    HTTP_COOKIE = 494_981_627

    HTTP_HEADER = 91_597_348

    HTTP_PATH = 311_503_228

    IP = 2343

    REGION_CODE = 79_559_768

    SNI = 82_254

    TLS_JA3_FINGERPRINT = 327_127_933

    TLS_JA4_FINGERPRINT = 33_724_926

    USER_IP = 34_009_627

    XFF_IP = 438_707_118
  end
end

#enforce_on_key_configs ⇒ ::Array<::Google::Cloud::Compute::V1::SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig>

Returns If specified, any combination of values of enforce_on_key_type/enforce_on_key_name is treated as the key on which ratelimit threshold/action is enforced. You can specify up to 3 enforce_on_key_configs. If enforce_on_key_configs is specified, enforce_on_key must not be specified.

Returns:



73649
73650
73651
73652
73653
73654
73655
73656
73657
73658
73659
73660
73661
73662
73663
73664
73665
73666
73667
73668
73669
73670
73671
73672
73673
73674
73675
73676
73677
73678
73679
73680
73681
73682
73683
73684
73685
73686
73687
73688
73689
73690
73691
73692
73693
73694
73695
73696
73697
73698
73699
73700
73701
73702
73703
73704
73705
73706
73707
73708
73709
73710
73711
73712
73713
73714
73715
73716
73717
73718
73719
73720
73721
73722
73723
73724
73725
73726
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 73649

class SecurityPolicyRuleRateLimitOptions
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Determines the key to enforce the rate_limit_threshold on. Possible
  # values are:
  #
  #    - ALL: A single rate limit threshold is applied to all
  #    the requests matching this rule. This is the default value if
  #    "enforceOnKey" is not configured.
  #    - IP: The source IP address of
  #    the request is the key. Each IP has this limit enforced
  #    separately.
  #    - HTTP_HEADER: The value of the HTTP
  #    header whose name is configured under "enforceOnKeyName". The key
  #    value is truncated to the first 128 bytes of the header value. If no
  #    such header is present in the request, the key type defaults toALL.
  #    - XFF_IP: The first IP address (i.e. the
  #    originating client IP address) specified in the list of IPs under
  #    X-Forwarded-For HTTP header. If no such header is present or the value
  #    is not a valid IP, the key defaults to the source IP address of
  #    the request i.e. key type IP.
  #    - HTTP_COOKIE: The value of the HTTP
  #    cookie whose name is configured under "enforceOnKeyName". The key
  #    value is truncated to the first 128 bytes of the cookie value. If no
  #    such cookie is present in the request, the key type defaults toALL.
  #    - HTTP_PATH: The URL path of the HTTP request. The key
  #    value is truncated to the first 128 bytes.
  #    - SNI: Server name indication in the TLS session of the
  #    HTTPS request. The key value is truncated to the first 128 bytes. The
  #    key type defaults to ALL on a HTTP session.
  #    - REGION_CODE: The country/region from which the request
  #    originates.
  #    - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the
  #    client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the
  #    key type defaults to ALL.
  #    - USER_IP: The IP address of the originating client,
  #    which is resolved based on "userIpRequestHeaders" configured with the
  #    security policy. If there is no "userIpRequestHeaders" configuration or
  #    an IP address cannot be resolved from it, the key type defaults toIP.
  #    - ASN: The autonomous system number of the originating
  #    client. If not available, the key type defaults toALL.
  #    - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the
  #    client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the
  #    key type defaults to ALL.
  #
  #
  # For "fairshare" action, this value is limited to ALL i.e. a single rate
  # limit threshold is enforced for all the requests matching the rule.
  module EnforceOnKey
    # A value indicating that the enum field is not set.
    UNDEFINED_ENFORCE_ON_KEY = 0

    ALL = 64_897

    ASN = 65_116

    HTTP_COOKIE = 494_981_627

    HTTP_HEADER = 91_597_348

    HTTP_PATH = 311_503_228

    IP = 2343

    REGION_CODE = 79_559_768

    SNI = 82_254

    TLS_JA3_FINGERPRINT = 327_127_933

    TLS_JA4_FINGERPRINT = 33_724_926

    USER_IP = 34_009_627

    XFF_IP = 438_707_118
  end
end

#enforce_on_key_name ⇒ ::String

Returns Rate limit key name applicable only for the following key types: HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the key value.

Returns:

  • (::String) —

    Rate limit key name applicable only for the following key types: HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value. HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the key value.



73649
73650
73651
73652
73653
73654
73655
73656
73657
73658
73659
73660
73661
73662
73663
73664
73665
73666
73667
73668
73669
73670
73671
73672
73673
73674
73675
73676
73677
73678
73679
73680
73681
73682
73683
73684
73685
73686
73687
73688
73689
73690
73691
73692
73693
73694
73695
73696
73697
73698
73699
73700
73701
73702
73703
73704
73705
73706
73707
73708
73709
73710
73711
73712
73713
73714
73715
73716
73717
73718
73719
73720
73721
73722
73723
73724
73725
73726
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 73649

class SecurityPolicyRuleRateLimitOptions
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Determines the key to enforce the rate_limit_threshold on. Possible
  # values are:
  #
  #    - ALL: A single rate limit threshold is applied to all
  #    the requests matching this rule. This is the default value if
  #    "enforceOnKey" is not configured.
  #    - IP: The source IP address of
  #    the request is the key. Each IP has this limit enforced
  #    separately.
  #    - HTTP_HEADER: The value of the HTTP
  #    header whose name is configured under "enforceOnKeyName". The key
  #    value is truncated to the first 128 bytes of the header value. If no
  #    such header is present in the request, the key type defaults toALL.
  #    - XFF_IP: The first IP address (i.e. the
  #    originating client IP address) specified in the list of IPs under
  #    X-Forwarded-For HTTP header. If no such header is present or the value
  #    is not a valid IP, the key defaults to the source IP address of
  #    the request i.e. key type IP.
  #    - HTTP_COOKIE: The value of the HTTP
  #    cookie whose name is configured under "enforceOnKeyName". The key
  #    value is truncated to the first 128 bytes of the cookie value. If no
  #    such cookie is present in the request, the key type defaults toALL.
  #    - HTTP_PATH: The URL path of the HTTP request. The key
  #    value is truncated to the first 128 bytes.
  #    - SNI: Server name indication in the TLS session of the
  #    HTTPS request. The key value is truncated to the first 128 bytes. The
  #    key type defaults to ALL on a HTTP session.
  #    - REGION_CODE: The country/region from which the request
  #    originates.
  #    - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the
  #    client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the
  #    key type defaults to ALL.
  #    - USER_IP: The IP address of the originating client,
  #    which is resolved based on "userIpRequestHeaders" configured with the
  #    security policy. If there is no "userIpRequestHeaders" configuration or
  #    an IP address cannot be resolved from it, the key type defaults toIP.
  #    - ASN: The autonomous system number of the originating
  #    client. If not available, the key type defaults toALL.
  #    - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the
  #    client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the
  #    key type defaults to ALL.
  #
  #
  # For "fairshare" action, this value is limited to ALL i.e. a single rate
  # limit threshold is enforced for all the requests matching the rule.
  module EnforceOnKey
    # A value indicating that the enum field is not set.
    UNDEFINED_ENFORCE_ON_KEY = 0

    ALL = 64_897

    ASN = 65_116

    HTTP_COOKIE = 494_981_627

    HTTP_HEADER = 91_597_348

    HTTP_PATH = 311_503_228

    IP = 2343

    REGION_CODE = 79_559_768

    SNI = 82_254

    TLS_JA3_FINGERPRINT = 327_127_933

    TLS_JA4_FINGERPRINT = 33_724_926

    USER_IP = 34_009_627

    XFF_IP = 438_707_118
  end
end

#exceed_action ⇒ ::String

Returns Action to take for requests that are above the configured rate limit threshold, to either deny with a specified HTTP response code, or redirect to a different endpoint. Valid options are deny(STATUS), where valid values for STATUS are 403, 404, 429, and 502, and redirect, where the redirect parameters come from exceedRedirectOptions below. The redirect action is only supported in Global Security Policies of type CLOUD_ARMOR.

Returns:

  • (::String) —

    Action to take for requests that are above the configured rate limit threshold, to either deny with a specified HTTP response code, or redirect to a different endpoint. Valid options are deny(STATUS), where valid values for STATUS are 403, 404, 429, and 502, and redirect, where the redirect parameters come from exceedRedirectOptions below. The redirect action is only supported in Global Security Policies of type CLOUD_ARMOR.



73649
73650
73651
73652
73653
73654
73655
73656
73657
73658
73659
73660
73661
73662
73663
73664
73665
73666
73667
73668
73669
73670
73671
73672
73673
73674
73675
73676
73677
73678
73679
73680
73681
73682
73683
73684
73685
73686
73687
73688
73689
73690
73691
73692
73693
73694
73695
73696
73697
73698
73699
73700
73701
73702
73703
73704
73705
73706
73707
73708
73709
73710
73711
73712
73713
73714
73715
73716
73717
73718
73719
73720
73721
73722
73723
73724
73725
73726
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 73649

class SecurityPolicyRuleRateLimitOptions
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Determines the key to enforce the rate_limit_threshold on. Possible
  # values are:
  #
  #    - ALL: A single rate limit threshold is applied to all
  #    the requests matching this rule. This is the default value if
  #    "enforceOnKey" is not configured.
  #    - IP: The source IP address of
  #    the request is the key. Each IP has this limit enforced
  #    separately.
  #    - HTTP_HEADER: The value of the HTTP
  #    header whose name is configured under "enforceOnKeyName". The key
  #    value is truncated to the first 128 bytes of the header value. If no
  #    such header is present in the request, the key type defaults toALL.
  #    - XFF_IP: The first IP address (i.e. the
  #    originating client IP address) specified in the list of IPs under
  #    X-Forwarded-For HTTP header. If no such header is present or the value
  #    is not a valid IP, the key defaults to the source IP address of
  #    the request i.e. key type IP.
  #    - HTTP_COOKIE: The value of the HTTP
  #    cookie whose name is configured under "enforceOnKeyName". The key
  #    value is truncated to the first 128 bytes of the cookie value. If no
  #    such cookie is present in the request, the key type defaults toALL.
  #    - HTTP_PATH: The URL path of the HTTP request. The key
  #    value is truncated to the first 128 bytes.
  #    - SNI: Server name indication in the TLS session of the
  #    HTTPS request. The key value is truncated to the first 128 bytes. The
  #    key type defaults to ALL on a HTTP session.
  #    - REGION_CODE: The country/region from which the request
  #    originates.
  #    - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the
  #    client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the
  #    key type defaults to ALL.
  #    - USER_IP: The IP address of the originating client,
  #    which is resolved based on "userIpRequestHeaders" configured with the
  #    security policy. If there is no "userIpRequestHeaders" configuration or
  #    an IP address cannot be resolved from it, the key type defaults toIP.
  #    - ASN: The autonomous system number of the originating
  #    client. If not available, the key type defaults toALL.
  #    - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the
  #    client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the
  #    key type defaults to ALL.
  #
  #
  # For "fairshare" action, this value is limited to ALL i.e. a single rate
  # limit threshold is enforced for all the requests matching the rule.
  module EnforceOnKey
    # A value indicating that the enum field is not set.
    UNDEFINED_ENFORCE_ON_KEY = 0

    ALL = 64_897

    ASN = 65_116

    HTTP_COOKIE = 494_981_627

    HTTP_HEADER = 91_597_348

    HTTP_PATH = 311_503_228

    IP = 2343

    REGION_CODE = 79_559_768

    SNI = 82_254

    TLS_JA3_FINGERPRINT = 327_127_933

    TLS_JA4_FINGERPRINT = 33_724_926

    USER_IP = 34_009_627

    XFF_IP = 438_707_118
  end
end

#exceed_redirect_options ⇒ ::Google::Cloud::Compute::V1::SecurityPolicyRuleRedirectOptions

Returns Parameters defining the redirect action that is used as the exceed action. Cannot be specified if the exceed action is not redirect. This field is only supported in Global Security Policies of type CLOUD_ARMOR.

Returns:



73649
73650
73651
73652
73653
73654
73655
73656
73657
73658
73659
73660
73661
73662
73663
73664
73665
73666
73667
73668
73669
73670
73671
73672
73673
73674
73675
73676
73677
73678
73679
73680
73681
73682
73683
73684
73685
73686
73687
73688
73689
73690
73691
73692
73693
73694
73695
73696
73697
73698
73699
73700
73701
73702
73703
73704
73705
73706
73707
73708
73709
73710
73711
73712
73713
73714
73715
73716
73717
73718
73719
73720
73721
73722
73723
73724
73725
73726
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 73649

class SecurityPolicyRuleRateLimitOptions
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Determines the key to enforce the rate_limit_threshold on. Possible
  # values are:
  #
  #    - ALL: A single rate limit threshold is applied to all
  #    the requests matching this rule. This is the default value if
  #    "enforceOnKey" is not configured.
  #    - IP: The source IP address of
  #    the request is the key. Each IP has this limit enforced
  #    separately.
  #    - HTTP_HEADER: The value of the HTTP
  #    header whose name is configured under "enforceOnKeyName". The key
  #    value is truncated to the first 128 bytes of the header value. If no
  #    such header is present in the request, the key type defaults toALL.
  #    - XFF_IP: The first IP address (i.e. the
  #    originating client IP address) specified in the list of IPs under
  #    X-Forwarded-For HTTP header. If no such header is present or the value
  #    is not a valid IP, the key defaults to the source IP address of
  #    the request i.e. key type IP.
  #    - HTTP_COOKIE: The value of the HTTP
  #    cookie whose name is configured under "enforceOnKeyName". The key
  #    value is truncated to the first 128 bytes of the cookie value. If no
  #    such cookie is present in the request, the key type defaults toALL.
  #    - HTTP_PATH: The URL path of the HTTP request. The key
  #    value is truncated to the first 128 bytes.
  #    - SNI: Server name indication in the TLS session of the
  #    HTTPS request. The key value is truncated to the first 128 bytes. The
  #    key type defaults to ALL on a HTTP session.
  #    - REGION_CODE: The country/region from which the request
  #    originates.
  #    - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the
  #    client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the
  #    key type defaults to ALL.
  #    - USER_IP: The IP address of the originating client,
  #    which is resolved based on "userIpRequestHeaders" configured with the
  #    security policy. If there is no "userIpRequestHeaders" configuration or
  #    an IP address cannot be resolved from it, the key type defaults toIP.
  #    - ASN: The autonomous system number of the originating
  #    client. If not available, the key type defaults toALL.
  #    - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the
  #    client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the
  #    key type defaults to ALL.
  #
  #
  # For "fairshare" action, this value is limited to ALL i.e. a single rate
  # limit threshold is enforced for all the requests matching the rule.
  module EnforceOnKey
    # A value indicating that the enum field is not set.
    UNDEFINED_ENFORCE_ON_KEY = 0

    ALL = 64_897

    ASN = 65_116

    HTTP_COOKIE = 494_981_627

    HTTP_HEADER = 91_597_348

    HTTP_PATH = 311_503_228

    IP = 2343

    REGION_CODE = 79_559_768

    SNI = 82_254

    TLS_JA3_FINGERPRINT = 327_127_933

    TLS_JA4_FINGERPRINT = 33_724_926

    USER_IP = 34_009_627

    XFF_IP = 438_707_118
  end
end

#rate_limit_threshold ⇒ ::Google::Cloud::Compute::V1::SecurityPolicyRuleRateLimitOptionsThreshold

Returns Threshold at which to begin ratelimiting.

Returns:



73649
73650
73651
73652
73653
73654
73655
73656
73657
73658
73659
73660
73661
73662
73663
73664
73665
73666
73667
73668
73669
73670
73671
73672
73673
73674
73675
73676
73677
73678
73679
73680
73681
73682
73683
73684
73685
73686
73687
73688
73689
73690
73691
73692
73693
73694
73695
73696
73697
73698
73699
73700
73701
73702
73703
73704
73705
73706
73707
73708
73709
73710
73711
73712
73713
73714
73715
73716
73717
73718
73719
73720
73721
73722
73723
73724
73725
73726
# File 'proto_docs/google/cloud/compute/v1/compute.rb', line 73649

class SecurityPolicyRuleRateLimitOptions
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # Determines the key to enforce the rate_limit_threshold on. Possible
  # values are:
  #
  #    - ALL: A single rate limit threshold is applied to all
  #    the requests matching this rule. This is the default value if
  #    "enforceOnKey" is not configured.
  #    - IP: The source IP address of
  #    the request is the key. Each IP has this limit enforced
  #    separately.
  #    - HTTP_HEADER: The value of the HTTP
  #    header whose name is configured under "enforceOnKeyName". The key
  #    value is truncated to the first 128 bytes of the header value. If no
  #    such header is present in the request, the key type defaults toALL.
  #    - XFF_IP: The first IP address (i.e. the
  #    originating client IP address) specified in the list of IPs under
  #    X-Forwarded-For HTTP header. If no such header is present or the value
  #    is not a valid IP, the key defaults to the source IP address of
  #    the request i.e. key type IP.
  #    - HTTP_COOKIE: The value of the HTTP
  #    cookie whose name is configured under "enforceOnKeyName". The key
  #    value is truncated to the first 128 bytes of the cookie value. If no
  #    such cookie is present in the request, the key type defaults toALL.
  #    - HTTP_PATH: The URL path of the HTTP request. The key
  #    value is truncated to the first 128 bytes.
  #    - SNI: Server name indication in the TLS session of the
  #    HTTPS request. The key value is truncated to the first 128 bytes. The
  #    key type defaults to ALL on a HTTP session.
  #    - REGION_CODE: The country/region from which the request
  #    originates.
  #    - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the
  #    client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the
  #    key type defaults to ALL.
  #    - USER_IP: The IP address of the originating client,
  #    which is resolved based on "userIpRequestHeaders" configured with the
  #    security policy. If there is no "userIpRequestHeaders" configuration or
  #    an IP address cannot be resolved from it, the key type defaults toIP.
  #    - ASN: The autonomous system number of the originating
  #    client. If not available, the key type defaults toALL.
  #    - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the
  #    client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the
  #    key type defaults to ALL.
  #
  #
  # For "fairshare" action, this value is limited to ALL i.e. a single rate
  # limit threshold is enforced for all the requests matching the rule.
  module EnforceOnKey
    # A value indicating that the enum field is not set.
    UNDEFINED_ENFORCE_ON_KEY = 0

    ALL = 64_897

    ASN = 65_116

    HTTP_COOKIE = 494_981_627

    HTTP_HEADER = 91_597_348

    HTTP_PATH = 311_503_228

    IP = 2343

    REGION_CODE = 79_559_768

    SNI = 82_254

    TLS_JA3_FINGERPRINT = 327_127_933

    TLS_JA4_FINGERPRINT = 33_724_926

    USER_IP = 34_009_627

    XFF_IP = 438_707_118
  end
end