REST Resource: projects.locations.authorizationPolicies

Recurso: AuthorizationPolicy

AuthorizationPolicy es un recurso que especifica cómo debe autorizar un servidor las conexiones entrantes. Este recurso por sí solo no cambia la configuración, a menos que se adjunte a un recurso de proxy HTTPS de destino o de selector de configuración de endpoint.

Representación JSON
{
  "name": string,
  "description": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "action": enum (Action),
  "rules": [
    {
      object (Rule)
    }
  ]
}
Campos
name

string

Obligatorio. Nombre del recurso AuthorizationPolicy. Coincide con el patrón projects/{project}/locations/{location}/authorizationPolicies/<authorizationPolicy>.

description

string

Opcional. Descripción de texto libre del recurso.

createTime

string (Timestamp format)

Solo de salida. Marca de tiempo de creación del recurso.

Marca de tiempo en formato RFC3339 UTC "Zulu", con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Solo de salida. Marca de tiempo de la última actualización del recurso.

Marca de tiempo en formato RFC3339 UTC "Zulu", con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

labels

map (key: string, value: string)

Opcional. Conjunto de etiquetas asociadas al recurso AuthorizationPolicy.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }

action

enum (Action)

Obligatorio. Acción que se debe realizar cuando se encuentre una coincidencia con una regla. Los valores posibles son "ALLOW" o "DENY".

rules[]

object (Rule)

Opcional. Lista de reglas que deben coincidir. Ten en cuenta que se debe cumplir al menos una de las reglas para que se lleve a cabo la acción especificada en el campo "action". Una regla coincide si hay un origen y un destino coincidentes. Si se deja en blanco, la acción especificada en el campo action se aplicará a todas las solicitudes.

Acción

Valores posibles que definen la acción que se debe llevar a cabo.

Enumeraciones
ACTION_UNSPECIFIED Valor predeterminado.
ALLOW Concede acceso.
DENY Denegar acceso. Las reglas de denegación se deben evitar, a menos que se usen para proporcionar una alternativa predeterminada de "denegar todo".

Regla

Especificación de las reglas.

Representación JSON
{
  "sources": [
    {
      object (Source)
    }
  ],
  "destinations": [
    {
      object (Destination)
    }
  ]
}
Campos
sources[]

object (Source)

Opcional. Lista de atributos de la fuente de tráfico. Todas las fuentes deben coincidir. Una fuente es una coincidencia si coinciden tanto los principales como los ipBlocks. Si no se define, se aplicará la acción especificada en el campo "action" sin que se compruebe ninguna regla para la fuente.

destinations[]

object (Destination)

Opcional. Lista de atributos del destino del tráfico. Todos los destinos deben coincidir. Un destino coincide si una solicitud coincide con todos los hosts, puertos, métodos y encabezados especificados. Si no se define, se aplicará la acción especificada en el campo "action" sin que se compruebe ninguna regla para el destino.

Fuente

Especificación de los atributos de la fuente de tráfico.

Representación JSON
{
  "principals": [
    string
  ],
  "ipBlocks": [
    string
  ]
}
Campos
principals[]

string

Opcional. Lista de identidades de pares que deben coincidir para la autorización. Al menos una de las principales debe coincidir. Cada elemento del mismo nivel puede ser una coincidencia exacta, una coincidencia de prefijo (por ejemplo, "namespace/*"), una coincidencia de sufijo (por ejemplo, "*/service-account") o una coincidencia de presencia ("*"). La autorización basada en el nombre principal sin validación de certificado (configurada por el recurso ServerTlsPolicy) se considera insegura.

ipBlocks[]

string

Opcional. Lista de intervalos de CIDR que coinciden con la dirección IP de origen. Debe coincidir al menos un bloque de IP. IP única (por ejemplo, "1.2.3.4") y CIDR (por ejemplo, "1.2.3.0/24"). Se debe evitar la autorización basada únicamente en la IP de origen. Las direcciones IP de los balanceadores de carga o proxies no deben considerarse de confianza.

Destino

Especificación de los atributos de destino del tráfico.

Representación JSON
{
  "hosts": [
    string
  ],
  "ports": [
    integer
  ],
  "methods": [
    string
  ],
  "httpHeaderMatch": {
    object (HttpHeaderMatch)
  }
}
Campos
hosts[]

string

Obligatorio. Lista de nombres de host que deben coincidir. Se compara con el encabezado ":authority" de las solicitudes HTTP. Debe coincidir al menos un host. Cada host puede ser una coincidencia exacta, una coincidencia de prefijo (por ejemplo, "mydomain.*"), una coincidencia de sufijo (por ejemplo, "*.myorg.com") o una coincidencia de presencia (cualquiera) "*".

ports[]

integer (uint32 format)

Obligatorio. Lista de puertos de destino que deben coincidir. Debe coincidir al menos un puerto.

methods[]

string

Opcional. Lista de métodos HTTP que se deben buscar. Debe coincidir al menos un método. No se debe definir para los servicios gRPC.

httpHeaderMatch

object (HttpHeaderMatch)

Opcional. Coincide con el par clave-valor del encabezado HTTP. Proporciona una coincidencia flexible basada en encabezados HTTP para casos prácticos potencialmente avanzados. Debe coincidir al menos un encabezado. No uses coincidencias de encabezado para tomar decisiones de autorización, a menos que tengas la certeza de que las solicitudes llegan a través de un cliente o proxy de confianza.

HttpHeaderMatch

Especificación de los atributos de coincidencia de encabezados HTTP.

Representación JSON
{
  "headerName": string,

  // Union field type can be only one of the following:
  "regexMatch": string
  // End of list of possible types for union field type.
}
Campos
headerName

string

Obligatorio. Nombre del encabezado HTTP que se va a buscar. Para hacer coincidir la autoridad de la solicitud HTTP, usa un headerMatch con el nombre de encabezado ":authority". Para que coincida con el método de una solicitud, usa el nombre de encabezado ":method".

Campo de unión type.

type solo puede ser una de las siguientes cosas:

regexMatch

string

Obligatorio. El valor del encabezado debe coincidir con la expresión regular especificada en regexMatch. Para consultar la gramática de las expresiones regulares, visite en.cppreference.com/w/cpp/regex/ecmascript. Para que coincida con un puerto especificado en la solicitud HTTP, utilice un headerMatch con headerName definido como Host y una expresión regular que cumpla la especificación de puerto del encabezado Host de RFC2616.

Métodos

create

Crea un nuevo AuthorizationPolicy en un proyecto y una ubicación determinados.

delete

Elimina un solo AuthorizationPolicy.

get

Obtiene los detalles de un solo AuthorizationPolicy.

getIamPolicy

Obtiene la política de control de acceso de un recurso.

list

Muestra las AuthorizationPolicies de un proyecto y una ubicación determinados.

patch

Actualiza los parámetros de un único AuthorizationPolicy.

setIamPolicy

Aplica la política de control de acceso del recurso especificado.

testIamPermissions

Devuelve los permisos que tiene una sobre el recurso especificado.