Recurso: AuthorizationPolicy
AuthorizationPolicy é um recurso que especifica como um servidor deve autorizar as conexões recebidas. Esse recurso em si não altera a configuração, a menos que esteja anexado a um proxy HTTPS de destino ou recurso de seletor de configuração de endpoint.
| Representação JSON |
|---|
{ "name": string, "description": string, "createTime": string, "updateTime": string, "labels": { string: string, ... }, "action": enum ( |
| Campos | |
|---|---|
name |
Obrigatório. Nome do recurso AuthorizationPolicy. Ele corresponde ao padrão |
description |
Opcional. Descrição de texto livre do recurso. |
createTime |
Apenas saída. O carimbo de data/hora em que o recurso foi criado. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de "Z", outros ajustes também são aceitos. Exemplos: |
updateTime |
Apenas saída. O carimbo de data/hora em que o recurso foi atualizado. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de "Z", outros ajustes também são aceitos. Exemplos: |
labels |
Opcional. Conjunto de tags de rótulo associadas ao recurso AuthorizationPolicy. Um objeto com uma lista de pares |
action |
Obrigatório. A ação a ser realizada quando uma correspondência de regra é encontrada. Os valores possíveis são "ALLOW" ou "DENY". |
rules[] |
Opcional. Lista de regras para correspondência. Pelo menos uma das regras precisa corresponder para que a ação especificada no campo "action" seja realizada. Uma regra será uma correspondência se houver uma origem e um destino correspondentes. Se deixado em branco, a ação especificada no campo |
Ação
Valores possíveis que definem qual ação realizar.
| Tipos enumerados | |
|---|---|
ACTION_UNSPECIFIED |
Valor padrão. |
ALLOW |
Conceda acesso. |
DENY |
Negar acesso. Evite regras de negação, a menos que sejam usadas para fornecer um substituto padrão de "negar tudo". |
Regra
Especificação de regras.
| Representação JSON |
|---|
{ "sources": [ { object ( |
| Campos | |
|---|---|
sources[] |
Opcional. Lista de atributos da origem de tráfego. Todas as origens precisam ser correspondentes. Uma origem será uma correspondência se os principais e os ipBlocks forem correspondentes. Se não for definida, a ação especificada no campo "action" será aplicada sem nenhuma verificação de regra para a origem. |
destinations[] |
Opcional. Lista de atributos do destino do tráfego. Todos os destinos precisam ser iguais. Um destino será uma correspondência se uma solicitação corresponder a todos os hosts, portas, métodos e cabeçalhos especificados. Se não for definida, a ação especificada no campo "action" será aplicada sem nenhuma verificação de regra para o destino. |
Origem
Especificação de atributos de origem de tráfego.
| Representação JSON |
|---|
{ "principals": [ string ], "ipBlocks": [ string ] } |
| Campos | |
|---|---|
principals[] |
Opcional. Lista de identidades de peering para correspondência de autorização. Pelo menos um principal precisa corresponder. Cada par pode ser uma correspondência exata, uma correspondência de prefixo (por exemplo, "namespace/*"), uma correspondência de sufixo (por exemplo, "*/service-account") ou uma correspondência de presença "*". A autorização com base no nome principal sem validação de certificado (configurada pelo recurso ServerTlsPolicy) é considerada insegura. |
ipBlocks[] |
Opcional. Lista de intervalos CIDR para correspondência com base no endereço IP de origem. Pelo menos um bloco de IP precisa corresponder. IP único (por exemplo, "1.2.3.4") e CIDR (por exemplo, "1.2.3.0/24") são aceitos. A autorização baseada apenas no IP de origem deve ser evitada. Os endereços IP de balanceadores de carga ou proxies devem ser considerados não confiáveis. |
Destino
Especificação de atributos de destino de tráfego.
| Representação JSON |
|---|
{
"hosts": [
string
],
"ports": [
integer
],
"paths": [
string
],
"methods": [
string
],
"httpHeaderMatch": {
object ( |
| Campos | |
|---|---|
hosts[] |
Obrigatório. Lista de nomes de host para correspondência. Corresponde ao cabeçalho ":authority" em solicitações HTTP. Pelo menos um host precisa corresponder. Cada host pode ser uma correspondência exata, uma correspondência de prefixo (por exemplo, "mydomain.*"), uma correspondência de sufixo (por exemplo, "*.myorg.com") ou uma correspondência de presença (qualquer) "*". |
ports[] |
Obrigatório. Lista de portas de destino para correspondência. Pelo menos uma porta precisa corresponder. |
paths[] |
Opcional. Uma lista de caminhos HTTP para correspondência. Os métodos gRPC precisam ser apresentados como um nome totalmente qualificado no formato "/packageName.serviceName/methodName". Pelo menos um caminho precisa corresponder. Cada caminho pode ser uma correspondência exata, uma correspondência de prefixo (por exemplo, "/packageName.serviceName/*"), uma correspondência de sufixo (por exemplo, "*/video") ou uma correspondência de presença (qualquer) "*". |
methods[] |
Opcional. Uma lista de métodos HTTP para correspondência. Pelo menos um método precisa corresponder. Não deve ser definido para serviços gRPC. |
httpHeaderMatch |
Opcional. Corresponde ao par de chave-valor no cabeçalho HTTP. Oferece uma correspondência flexível com base em cabeçalhos HTTP, para casos de uso potencialmente avançados. Pelo menos um cabeçalho precisa corresponder. Evite usar correspondências de cabeçalho para tomar decisões de autorização, a menos que haja uma garantia forte de que as solicitações chegam por um cliente ou proxy confiável. |
HttpHeaderMatch
Especificação de atributos de correspondência de cabeçalho HTTP.
| Representação JSON |
|---|
{ "headerName": string, // Union field |
| Campos | |
|---|---|
headerName |
Obrigatório. O nome do cabeçalho HTTP a ser correspondido. Para fazer a correspondência com a autoridade da solicitação HTTP, use um headerMatch com o nome de cabeçalho ":authority". Para corresponder ao método de uma solicitação, use o headerName ":method". |
Campo de união
|
|
regexMatch |
Obrigatório. O valor do cabeçalho precisa corresponder à expressão regular especificada em regexMatch. Para gramática de expressão regular, consulte: en.cppreference.com/w/cpp/regex/ecmascript. Para correspondência com uma porta especificada na solicitação HTTP, use um headerMatch com headerName definido como Host e uma expressão regular que satisfaça o especificador de porta do cabeçalho Host RFC2616. |
Métodos |
|
|---|---|
|
Cria uma nova AuthorizationPolicy em um determinado projeto e local. |
|
Exclui uma única AuthorizationPolicy. |
|
Recebe detalhes de uma única AuthorizationPolicy. |
|
Lista as AuthorizationPolicies em determinado projeto e local. |
|
Atualiza os parâmetros de uma única AuthorizationPolicy. |