Method: securityPolicies.getRule

Gets a rule at the specified priority.

HTTP request

GET https://compute.googleapis.com/compute/beta/projects/{project}/global/securityPolicies/{resourceId}/getRule

The URL uses gRPC Transcoding syntax.

Path parameters

Parameters
project

string

Project ID for this request.

resourceId

string

Name of the security policy to which the queried rule belongs.

Query parameters

Parameters
priority

integer

The priority of the rule to get from the security policy.

Request body

The request body must be empty.

Response body

If successful, the response body contains data with the following structure:

JSON representation
{
  "description": string,
  "priority": integer,
  "match": {
    "expr": {
      "expression": string,
      "title": string,
      "description": string,
      "location": string
    },
    "versionedExpr": enum,
    "config": {
      "srcIpRanges": [
        string
      ],
      "destIpRanges": [
        string
      ],
      "layer4Configs": [
        {
          "ipProtocol": string,
          "ports": [
            string
          ]
        }
      ]
    }
  },
  "action": string,
  "preview": boolean,
  "direction": enum,
  "targetResources": [
    string
  ],
  "enableLogging": boolean,
  "ruleTupleCount": integer,
  "targetServiceAccounts": [
    string
  ],
  "kind": string
}
Fields
description

string

An optional description of this resource. Provide this property when you create the resource.

priority

integer

An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority.

match

object

A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced.

match.expr

object

User defined CEVAL expression. A CEVAL expression is used to specify match criteria such as origin.ip, source.region_code and contents in the request header.

match.expr.expression

string

Textual representation of an expression in Common Expression Language syntax.

match.expr.title

string

Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.

match.expr.description

string

Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.

match.expr.location

string

Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.

match.versionedExpr

enum

Preconfigured versioned expression. If this field is specified, config must also be specified. Available preconfigured expressions along with their requirements are: SRC_IPS_V1 - must specify the corresponding srcIpRange field in config.

match.config

object

The configuration options available when specifying versionedExpr. This field must be specified if versionedExpr is specified and cannot be specified if versionedExpr is not specified.

match.config.srcIpRanges[]

string

CIDR IP address range.

match.config.destIpRanges[]

string

CIDR IP address range.

This field may only be specified when versionedExpr is set to FIREWALL.

match.config.layer4Configs[]

object

Pairs of IP protocols and ports that the rule should match.

This field may only be specified when versionedExpr is set to FIREWALL.

match.config.layer4Configs[].ipProtocol

string

The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number.

match.config.layer4Configs[].ports[]

string

An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port.

Example inputs include: ["22"], ["80","443"], and ["12345-12349"].

This field may only be specified when versionedExpr is set to FIREWALL.

action

string

The Action to preform when the client connection triggers the rule. Can currently be either "allow" or "deny()" where valid values for status are 403, 404, and 502.

preview

boolean

If set to true, the specified action is not enforced.

direction

enum

The direction in which this rule applies. This field may only be specified when versionedExpr is set to FIREWALL.

targetResources[]

string

A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule.

This field may only be specified when versionedExpr is set to FIREWALL.

enableLogging

boolean

Denotes whether to enable logging for a particular rule. If logging is enabled, logs will be exported to the configured export destination in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging on "goto_next" rules.

This field may only be specified when the versionedExpr is set to FIREWALL.

ruleTupleCount

integer

[Output Only] Calculation of the complexity of a single firewall security policy rule.

targetServiceAccounts[]

string

A list of service accounts indicating the sets of instances that are applied with this rule.

kind

string

[Output only] Type of the resource. Always compute#securityPolicyRule for security policy rules

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/compute
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

IAM Permissions

In addition to any permissions specified on the fields above, authorization requires one or more of the following IAM permissions:

  • compute.securityPolicies.get

To find predefined roles that contain those permissions, see Compute Engine IAM Roles.

Try it!