Recurso: AuthorizationPolicy
AuthorizationPolicy é um recurso que especifica como um servidor deve autorizar as ligações recebidas. Este recurso em si não altera a configuração, a menos que esteja anexado a um proxy HTTPS de destino ou a um recurso seletor de configuração de ponto final.
Representação JSON |
---|
{ "name": string, "description": string, "createTime": string, "updateTime": string, "labels": { string: string, ... }, "action": enum ( |
Campos | |
---|---|
name |
Obrigatório. Nome do recurso AuthorizationPolicy. Corresponde ao padrão |
description |
Opcional. Descrição de texto livre do recurso. |
createTime |
Apenas saída. A data/hora em que o recurso foi criado. Usa RFC 3339, em que o resultado gerado é sempre normalizado em Z e usa 0, 3, 6 ou 9 dígitos fracionários. Também são aceites desvios diferentes de "Z". Exemplos: |
updateTime |
Apenas saída. A data/hora em que o recurso foi atualizado. Usa RFC 3339, em que o resultado gerado é sempre normalizado em Z e usa 0, 3, 6 ou 9 dígitos fracionários. Também são aceites desvios diferentes de "Z". Exemplos: |
labels |
Opcional. Conjunto de etiquetas associadas ao recurso AuthorizationPolicy. Um objeto que contém uma lista de pares |
action |
Obrigatório. A ação a realizar quando é encontrada uma correspondência de regra. Os valores possíveis são "ALLOW" ou "DENY". |
rules[] |
Opcional. Lista de regras a corresponder. Tenha em atenção que, para a ação especificada no campo "action" ser realizada, pelo menos uma das regras tem de corresponder. Uma regra é uma correspondência se existir uma origem e um destino correspondentes. Se for deixado em branco, a ação especificada no campo |
Ação
Valores possíveis que definem a ação a realizar.
Enumerações | |
---|---|
ACTION_UNSPECIFIED |
Valor predefinido. |
ALLOW |
Conceder acesso. |
DENY |
Negue o acesso. As regras de recusa devem ser evitadas, a menos que sejam usadas para fornecer uma alternativa "recusar tudo" predefinida. |
Regra
Especificação de regras.
Representação JSON |
---|
{ "sources": [ { object ( |
Campos | |
---|---|
sources[] |
Opcional. Lista de atributos da origem de tráfego. Todas as fontes têm de corresponder. Uma origem é uma correspondência se os principais e os ipBlocks corresponderem. Se não estiver definido, a ação especificada no campo "action" é aplicada sem verificações de regras para a origem. |
destinations[] |
Opcional. Lista de atributos do destino de tráfego. Todos os destinos têm de corresponder. Um destino é uma correspondência se um pedido corresponder a todos os anfitriões, portas, métodos e cabeçalhos especificados. Se não estiver definido, a ação especificada no campo "action" é aplicada sem verificações de regras para o destino. |
Origem
Especificação dos atributos de origem de tráfego.
Representação JSON |
---|
{ "principals": [ string ], "ipBlocks": [ string ] } |
Campos | |
---|---|
principals[] |
Opcional. Lista de identidades de pares a corresponder para autorização. Pelo menos um principal deve 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 baseada no nome principal sem validação de certificado (configurada pelo recurso ServerTlsPolicy) é considerada insegura. |
ipBlocks[] |
Opcional. Lista de intervalos CIDR a corresponder com base no endereço IP de origem. Pelo menos um bloco de IPs deve corresponder. IP único (por exemplo, "1.2.3.4") e CIDR (por exemplo, "1.2.3.0/24") são suportados. Deve evitar a autorização baseada apenas no IP de origem. Os endereços IP de quaisquer balanceadores de carga ou proxies devem ser considerados não fidedignos. |
Destino
Especificação dos atributos do 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 anfitriões a corresponder. Correspondido com o cabeçalho ":authority" em pedidos HTTP. Pelo menos, um anfitrião deve corresponder. Cada anfitrião 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 a corresponder. Pelo menos uma porta deve corresponder. |
paths[] |
Opcional. Uma lista de caminhos HTTP a corresponder. Os métodos gRPC têm de ser apresentados como um nome totalmente qualificado no formato "/packageName.serviceName/methodName". Pelo menos um caminho deve 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 a corresponder. Pelo menos um método deve corresponder. Não deve ser definido para serviços gRPC. |
httpHeaderMatch |
Opcional. Fazer corresponder ao par de chave:valor no cabeçalho HTTP. Oferece uma correspondência flexível baseada em cabeçalhos HTTP, para exemplos de utilização potencialmente avançados. Pelo menos um cabeçalho deve corresponder. Evite usar correspondências de cabeçalhos para tomar decisões de autorização, a menos que haja uma forte garantia de que os pedidos chegam através de um proxy ou um cliente fidedigno. |
HttpHeaderMatch
Especificação dos atributos de correspondência do cabeçalho HTTP.
Representação JSON |
---|
{ "headerName": string, // Union field |
Campos | |
---|---|
headerName |
Obrigatório. O nome do cabeçalho HTTP a corresponder. Para a correspondência com a autoridade do pedido HTTP, use um headerMatch com o nome do cabeçalho ":authority". Para fazer corresponder o método de um pedido, use o headerName ":method". |
Campo de união
|
|
regexMatch |
Obrigatório. O valor do cabeçalho tem de corresponder à expressão regular especificada em regexMatch. Para a gramática de expressões regulares, consulte: en.cppreference.com/w/cpp/regex/ecmascript. Para a correspondência com uma porta especificada no pedido 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 num determinado projeto e localização. |
|
Elimina uma AuthorizationPolicy. |
|
Obtém detalhes de uma única AuthorizationPolicy. |
|
Apresenta AuthorizationPolicies num determinado projeto e localização. |
|
Atualiza os parâmetros de uma única AuthorizationPolicy. |