Recurso: AuthorizationPolicy
AuthorizationPolicy é um recurso que especifica como um servidor deve autorizar conexões de entrada. Esse recurso em si não muda 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 em texto livre do recurso. |
createTime |
Apenas saída. O carimbo de data/hora em que o recurso foi criado. Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: |
updateTime |
Apenas saída. O carimbo de data/hora em que o recurso foi atualizado. Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. 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 tomada quando uma correspondência de regra for encontrada. Os valores possíveis são "ALLOW" ou "DENY". |
rules[] |
Opcional. Lista de regras a serem atendidas. Pelo menos uma das regras precisa corresponder para que a ação especificada no campo "ação" seja realizada. Uma regra é uma correspondência se houver 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 ser tomada.
Enums | |
---|---|
ACTION_UNSPECIFIED |
Valor padrão. |
ALLOW |
Conceda acesso. |
DENY |
Negar acesso. Evite usar regras de negação, a menos que elas sejam usadas para fornecer uma alternativa 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 é uma correspondência se os dois principais e os ipBlocks corresponderem. Se não for definido, a ação especificada no campo "ação" 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 correspondentes. Um destino é uma correspondência quando uma solicitação corresponde a todos os hosts, portas, métodos e cabeçalhos especificados. Se não for definido, a ação especificada no campo "ação" será aplicada sem nenhuma verificação de regra para o destino. |
Origem
Especificação dos atributos da origem de tráfego.
Representação JSON |
---|
{ "principals": [ string ], "ipBlocks": [ string ] } |
Campos | |
---|---|
principals[] |
Opcional. Lista de identidades de pares a serem verificadas para autorização. Pelo menos um principal precisa corresponder. Cada peer pode ser uma correspondência exata ou de prefixo (por exemplo, "namespace/*") ou de sufixo (por exemplo, "*/service-account") ou de presença "*". A autorização com base no nome principal sem validação de certificado (configurada pelo recurso ServerTlsPolicy) é considerada não segura. |
ipBlocks[] |
Opcional. Lista de intervalos CIDR a serem correspondidos com base no endereço IP de origem. Pelo menos um bloco de IP precisa corresponder. Endereço IP único (por exemplo, "1.2.3.4") e CIDR (por exemplo, "1.2.3.0/24") são aceitos. A autorização com base apenas no IP de origem deve ser evitada. Os endereços IP de qualquer balanceador de carga ou proxy devem ser considerados não confiáveis. |
Destino
Especificação dos atributos de destino do tráfego.
Representação JSON |
---|
{
"hosts": [
string
],
"ports": [
integer
],
"methods": [
string
],
"httpHeaderMatch": {
object ( |
Campos | |
---|---|
hosts[] |
Obrigatório. Lista de nomes de host a serem correspondidos. Corresponde ao cabeçalho ":authority" em solicitações HTTP. Pelo menos um host precisa corresponder. Cada host pode ser uma correspondência exata ou de prefixo (por exemplo, "mydomain.*"), de sufixo (por exemplo, "*.myorg.com") ou de presença (qualquer) "*". |
ports[] |
Obrigatório. Lista de portas de destino a serem correspondidas. Pelo menos uma porta precisa corresponder. |
methods[] |
Opcional. Uma lista de métodos HTTP a serem correspondidos. 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 de que as solicitações chegam por um cliente ou proxy confiável. |
HttpHeaderMatch
Especificação dos atributos de correspondência de cabeçalhos HTTP.
Representação JSON |
---|
{ "headerName": string, // Union field |
Campos | |
---|---|
headerName |
Obrigatório. O nome do cabeçalho HTTP a ser correspondido. Para corresponder à autoridade da solicitação HTTP, use um headerMatch com o nome do 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 a 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 atenda ao especificador de porta do cabeçalho Host do RFC2616. |
Métodos |
|
---|---|
|
Cria uma nova AuthorizationPolicy em um determinado projeto e local. |
|
Exclui uma única AuthorizationPolicy. |
|
Recebe detalhes de uma única AuthorizationPolicy. |
|
Busca a política de controle de acesso de um recurso. |
|
Lista as políticas de autorização em um determinado projeto e local. |
|
Atualiza os parâmetros de uma única AuthorizationPolicy. |
|
Define a política de controle de acesso no recurso especificado. |
|
Retorna permissões do autor da chamada no recurso especificado. |