REST Resource: projects.locations.authorizationPolicies

Recurso: AuthorizationPolicy

AuthorizationPolicy es un recurso que especifica cómo un servidor debe autorizar las conexiones entrantes. Este recurso en sí no cambia la configuración, a menos que esté conectado a un proxy HTTPS de destino o a un recurso selector de configuración de extremo.

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

string

Obligatorio. Nombre del recurso de 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 salida. Marca de tiempo cuando se creó el recurso.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, 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 salida. La marca de tiempo de la actualización del recurso.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, 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 de etiqueta asociadas con el recurso AuthorizationPolicy.

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

action

enum (Action)

Obligatorio. Es la acción que se debe realizar cuando se encuentra una coincidencia de regla. Los valores posibles son "ALLOW" o "DENY".

rules[]

object (Rule)

Opcional. Lista de reglas con las que coinciden. Ten en cuenta que al menos una de las reglas debe coincidir para que se realice la acción especificada en el campo "action". Una regla coincide si hay un origen y un destino que coinciden. Si se deja en blanco, la acción especificada en el campo action se aplicará en cada solicitud.

internalCaller

boolean

Opcional. Una marca establecida para identificar los controladores internos Con esta configuración se activará una verificación de P4SA para validar que el emisor pertenece a P4SA de un servicio incluido en la lista de entidades permitidas, incluso si no se establecen otros campos opcionales.

Acción

Son valores posibles que definen qué acción se debe realizar.

Enums
ACTION_UNSPECIFIED Valor predeterminado
ALLOW Otorga acceso.
DENY Denegar acceso Se deben evitar las reglas de denegación, a menos que se usen para proporcionar un resguardo predeterminado de “Rechazar todo”.

Regla

Especificación de 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 las principales y los ipBlocks. Si no se configura, la acción especificada en el campo “acción” se aplicará sin ninguna verificación de reglas para la fuente.

destinations[]

object (Destination)

Opcional. Lista de atributos para el destino del tráfico. Todos los destinos deben coincidir. Un destino es una coincidencia si una solicitud coincide con todos los hosts, puertos, métodos y encabezados especificados. Si no se configura, la acción especificada en el campo “acción” se aplicará sin ninguna verificación de reglas para el destino.

Origen

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 intercambio de tráfico que deben coincidir para la autorización. Al menos una principal debe coincidir. Cada par puede ser una coincidencia exacta o 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 rangos CIDR para que coincidan según la dirección IP de origen. Debe coincidir al menos un bloque de IP. Una sola IP (p.ej., "1.2.3.4") y CIDR (p.ej., "1.2.3.0/24"). Se debe evitar la autorización basada únicamente en la IP de origen. Las direcciones IP de cualquier balanceador de cargas 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
  ],
  "paths": [
    string
  ],
  "methods": [
    string
  ],
  "httpHeaderMatch": {
    object (HttpHeaderMatch)
  }
}
Campos
hosts[]

string

Obligatorio. Lista de nombres de host con los que debe coincidir. Coincide con el encabezado ":authority" en las solicitudes http. Al menos un host debe coincidir. Cada host puede ser una coincidencia exacta o una coincidencia de prefijo (por ejemplo, “midominio.*”), una coincidencia de sufijo (por ejemplo, “*.miorg.com”) o una coincidencia de presencia (cualquiera) “*”.

ports[]

integer (uint32 format)

Obligatorio. Lista de puertos de destino que deben coincidir. Al menos un puerto debe coincidir.

paths[]

string

Opcional. Una lista de rutas HTTP con las que debe coincidir. Los métodos de gRPC deben presentarse como un nombre completamente calificado con el formato “/packageName.serviceName/methodName”. Debe coincidir al menos una ruta de acceso. Cada ruta de acceso puede ser una coincidencia exacta o una coincidencia de prefijo (por ejemplo, “/packageName.serviceName/*”), una coincidencia de sufijo (por ejemplo, “*/video”) o una coincidencia de presencia (cualquiera) “*”.

methods[]

string

Opcional. Una lista de métodos HTTP con los que se debe establecer la coincidencia. Debe coincidir al menos un método. No se debe configurar para los servicios de gRPC.

httpHeaderMatch

object (HttpHeaderMatch)

Opcional. Coincide con el par clave-valor en el encabezado HTTP. Proporciona una coincidencia flexible basada en encabezados HTTP para casos de uso potencialmente avanzados. Debe coincidir al menos un encabezado. Evita usar coincidencias de encabezados para tomar decisiones de autorización, a menos que haya una garantía sólida de que las solicitudes lleguen a través de un cliente o proxy de confianza.

HttpHeaderMatch

Especificación de atributos de coincidencia de encabezado 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. El nombre del encabezado HTTP que debe coincidir. Para comparar la autoridad de la solicitud HTTP, usa un headerMatch con el nombre de encabezado ":authority". Para hacer coincidir el método de una solicitud, usa headerName ":method".

Campo de unión type.

type puede ser una de las siguientes opciones:

regexMatch

string

Obligatorio. El valor del encabezado debe coincidir con la expresión regular especificada en regexMatch. Para conocer la gramática de las expresiones regulares, consulta: en.cppreference.com/w/cpp/regex/ecmascript. Para establecer la coincidencia con un puerto especificado en la solicitud HTTP, usa un headerMatch con headerName establecido en Host y una expresión regular que satisfaga el especificador del puerto del encabezado RFC2616 del host.

Métodos

create

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

delete

Borra una sola AuthorizationPolicy.

get

Obtiene detalles de una sola AuthorizationPolicy.

getIamPolicy

Permite obtener la política de control de acceso de un recurso.

list

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

patch

Actualiza los parámetros de una sola AuthorizationPolicy.

setIamPolicy

Permite configurar la política de control de acceso en el recurso especificado.

testIamPermissions

Permite mostrar los permisos que tiene un emisor para un recurso específico.