Recurso: AuthorizationPolicy
AuthorizationPolicy es un recurso que especifica cómo un servidor debe autorizar las conexiones entrantes. Este recurso 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 ( |
Campos | |
---|---|
name |
Obligatorio. Es el nombre del recurso AuthorizationPolicy. Coincide con el patrón |
description |
Opcional. Es la descripción de texto libre del recurso. |
createTime |
Solo salida. Marca de tiempo cuando se creó el recurso. Usa el RFC 3339, en el que el resultado generado siempre se normaliza según la zona horaria Z y usa 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otras compensaciones que no sean "Z". Ejemplos: |
updateTime |
Solo salida. La marca de tiempo cuando se creó el recurso. Usa el RFC 3339, en el que el resultado generado siempre se normaliza según la zona horaria Z y usa 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otras compensaciones que no sean "Z". Ejemplos: |
labels |
Opcional. Es un conjunto de etiquetas asociadas con el recurso AuthorizationPolicy. Un objeto que contiene una lista de pares |
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[] |
Opcional. Es la lista de reglas que se deben satisfacer. Ten en cuenta que, para que se realice la acción especificada en el campo "action", debe coincidir al menos una de las reglas. Una regla coincide si hay una fuente y un destino que coinciden. Si se deja en blanco, la acción especificada en el campo |
Acción
Son los valores posibles que definen qué acción se debe realizar.
Enums | |
---|---|
ACTION_UNSPECIFIED |
Valor predeterminado |
ALLOW |
Otorga acceso. |
DENY |
Deniega el acceso. Se deben evitar las reglas de denegación, a menos que se usen para proporcionar una alternativa predeterminada de “denegar todo”. |
Regla
Especificación de reglas
Representación JSON |
---|
{ "sources": [ { object ( |
Campos | |
---|---|
sources[] |
Opcional. Es la lista de atributos de la fuente de tráfico. Todas las fuentes deben coincidir. Una fuente coincide si coinciden tanto los principales como los ipBlocks. Si no se configura, se aplicará la acción especificada en el campo "action" sin ninguna verificación de reglas para la fuente. |
destinations[] |
Opcional. Es la 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 configura, la acción especificada en el campo "action" se aplicará sin ninguna verificación de reglas para el destino. |
Fuente
Es la especificación de los atributos de la fuente de tráfico.
Representación JSON |
---|
{ "principals": [ string ], "ipBlocks": [ string ] } |
Campos | |
---|---|
principals[] |
Opcional. Es la lista de identidades de intercambio de tráfico que se deben hacer coincidir para la autorización. Debe coincidir al menos un principal. Cada par 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[] |
Opcional. Es una lista de rangos de CIDR que se deben comparar según la dirección IP de origen. Debe coincidir al menos un bloque de IP. IP única (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 los balanceadores de cargas o proxies deben considerarse no confiables. |
Destino
Es la especificación de los atributos del destino del tráfico.
Representación JSON |
---|
{
"hosts": [
string
],
"ports": [
integer
],
"paths": [
string
],
"methods": [
string
],
"httpHeaderMatch": {
object ( |
Campos | |
---|---|
hosts[] |
Obligatorio. Es la lista de nombres de host que deben coincidir. Coincide con el encabezado ":authority" en 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[] |
Obligatorio. Es la lista de puertos de destino que se deben hacer coincidir. Debe coincidir al menos un puerto. |
paths[] |
Opcional. Es una lista de rutas de acceso HTTP con las que se debe establecer la coincidencia. Los métodos de gRPC deben presentarse como nombres completamente calificados con el formato "/packageName.serviceName/methodName". Debe coincidir al menos una ruta de acceso. Cada ruta puede ser una coincidencia exacta, una coincidencia de prefijo (por ejemplo, "/packageName.serviceName/*"), una coincidencia de sufijo (por ejemplo, "*/video") o una coincidencia de presencia (cualquiera) "*". |
methods[] |
Opcional. Es una lista de métodos HTTP que se deben hacer coincidir. Debe coincidir al menos un método. No se debe configurar para los servicios de gRPC. |
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 encabezado para tomar decisiones de autorización, a menos que haya una garantía sólida de que las solicitudes llegan a través de un cliente o proxy de confianza. |
HttpHeaderMatch
Es la especificación de los atributos de coincidencia del encabezado HTTP.
Representación JSON |
---|
{ "headerName": string, // Union field |
Campos | |
---|---|
headerName |
Obligatorio. Nombre del encabezado HTTP que se debe hacer coincidir. Para hacer coincidir la autoridad de la solicitud HTTP, usa un headerMatch con el nombre del encabezado ":authority". Para que coincida con el método de una solicitud, usa el headerName ":method". |
Campo de unión
|
|
regexMatch |
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 coincidencias 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 de puerto del encabezado Host de RFC2616. |
Métodos |
|
---|---|
|
Crea una nueva AuthorizationPolicy en un proyecto y una ubicación determinados. |
|
Borra una sola AuthorizationPolicy. |
|
Obtiene los detalles de una sola AuthorizationPolicy. |
|
Enumera AuthorizationPolicies en una ubicación y un proyecto determinados. |
|
Actualiza los parámetros de una sola AuthorizationPolicy. |