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. 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ótulos 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 a serem correspondidas. Pelo menos uma das regras precisa ser correspondente 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 |
internalCaller |
Opcional. Uma flag definida para identificar controladores internos aciona uma verificação do P4SA para confirmar que o autor da chamada é do P4SA de um serviço da lista de permissões, mesmo que outros campos opcionais não estejam definidos. |
Ação
Possíveis valores que definem a ação a ser realizada.
Tipos enumerados | |
---|---|
ACTION_UNSPECIFIED |
Valor padrão. |
ALLOW |
Conceda acesso. |
DENY |
Negar acesso. As regras de negação precisam ser evitadas, a menos que sejam usadas para fornecer um substituto padrão "deny all". |
Regra
Especificação de regras.
Representação JSON |
---|
{ "sources": [ { object ( |
Campos | |
---|---|
sources[] |
Opcional. Lista de atributos para a origem de tráfego. Todas as origens precisam ser iguais. Uma origem será uma correspondência se os principais e os ipBlocks forem correspondentes. Se ela não for definida, a ação especificada no campo "ação" será aplicada sem nenhuma verificação de regra da origem. |
destinations[] |
Opcional. Lista de atributos para o destino do tráfego. Todos os destinos precisam ser correspondentes. Um destino será uma correspondência se uma solicitação corresponder a todos os hosts, portas, métodos e cabeçalhos especificados. Se ela não for definida, a ação especificada no campo "ação" será aplicada sem nenhuma verificação de regra 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 para corresponder para autorização. Pelo menos um principal precisa ser correspondente. Cada peering pode ser uma correspondência exata, uma correspondência de prefixo (por exemplo, "namespace/*") ou uma correspondência de sufixo (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 não segura. |
ipBlocks[] |
Opcional. Lista de intervalos CIDR para corresponder com base no endereço IP de origem. Pelo menos um bloco de IP precisa ser correspondente. IP único (por exemplo, "1.2.3.4") e CIDR (por exemplo, "1.2.3.0/24") são compatíveis. Evite 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 confiáveis. |
Destino
Especificação dos atributos de destino do 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 deve ser correspondente. Cada host pode ser uma correspondência exata, uma correspondência de prefixo (por exemplo, "meudominio.*") ou 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 ser correspondente. |
paths[] |
Opcional. Uma lista de caminhos HTTP a serem correspondentes. Os métodos gRPC precisam ser apresentados como nome totalmente qualificado no formato "/packageName.serviceName/methodName". Pelo menos um caminho precisa ser correspondente. Cada caminho pode ser uma correspondência exata, uma correspondência de prefixo (por exemplo, "/packageName.serviceName/*") ou 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 ser correspondente. Não deve ser definido para serviços gRPC. |
httpHeaderMatch |
Opcional. Corresponde ao par de chave-valor no cabeçalho http. Fornece uma correspondência flexível com base em cabeçalhos HTTP para casos de uso potencialmente avançados. Pelo menos um cabeçalho deve ser correspondente. Evite usar correspondências de cabeçalho para tomar decisões de autorização, a menos que haja uma forte garantia de que as solicitações chegam por meio de um cliente ou proxy confiável. |
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 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 acessar a gramática de expressões regulares, consulte: en.cppreference.com/w/cpp/regex/ecmascript. Para fazer a correspondência com uma porta especificada na solicitação HTTP, use um headerMatch com o headerName definido como Host e uma expressão regular que satisfaça o especificador de porta do cabeçalho do host RFC2616. |
Métodos |
|
---|---|
|
Cria uma nova AuthorizationPolicy em um determinado projeto e local. |
|
Exclui uma única AuthorizationPolicy. |
|
Recebe detalhes de um único AuthorizationPolicy. |
|
Busca a política de controle de acesso de um recurso. |
|
Lista AuthorizationPolicies em um determinado projeto e local. |
|
Atualiza os parâmetros de um único AuthorizationPolicy. |
|
Define a política de controle de acesso no recurso especificado. |
|
Retorna permissões do autor da chamada no recurso especificado. |