- Recurso: AuthzPolicy
- Meta
- LoadBalancingScheme
- AuthzRule
- De
- RequestSource
- StringMatch
- RequestResource
- TagValueIdSet
- Para
- RequestOperation
- HeaderSet
- HeaderMatch
- AuthzAction
- CustomProvider
- CloudIap
- AuthzExtension
- Métodos
Recurso: AuthzPolicy
AuthzPolicy
é um recurso que permite encaminhar o tráfego para um back-end de chamada com o objetivo de verificar o tráfego para fins de segurança.
Representação JSON |
---|
{ "name": string, "createTime": string, "updateTime": string, "description": string, "labels": { string: string, ... }, "target": { object ( |
Campos | |
---|---|
name |
Obrigatório. Identificador. Nome 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: |
description |
Opcional. Uma descrição legível do recurso. |
labels |
Opcional. Conjunto de rótulos associados ao recurso O formato precisa obedecer aos seguintes requisitos. Um objeto com uma lista de pares |
target |
Obrigatório. Especifica o conjunto de recursos a que essa política precisa ser aplicada. |
httpRules[] |
Opcional. Uma lista de regras HTTP de autorização para correspondência com a solicitação recebida. Uma correspondência de política ocorre quando pelo menos uma regra HTTP corresponde à solicitação ou quando nenhuma regra HTTP é especificada na política. É necessário pelo menos uma regra HTTP para a ação Permitir ou Negar. Limitado a cinco regras. |
action |
Obrigatório. Pode ser Quando a ação é Quando a ação é Quando a ação é Quando uma solicitação chega, as políticas são avaliadas na seguinte ordem:
|
customProvider |
Opcional. Obrigatório se a ação for |
Destino
Especifica o conjunto de destinos a que essa política será aplicada.
Representação JSON |
---|
{
"loadBalancingScheme": enum ( |
Campos | |
---|---|
loadBalancingScheme |
Obrigatório. Todas as regras de encaminhamento e as gateways referenciadas por essa política e extensões precisam compartilhar o mesmo esquema de balanceamento de carga. Valores aceitos: |
resources[] |
Obrigatório. Uma lista de referências às regras de encaminhamento em que essa política será aplicada. |
LoadBalancingScheme
Esquemas de balanceamento de carga compatíveis com o recurso AuthzPolicy
. Os valores válidos são INTERNAL_MANAGED
e EXTERNAL_MANAGED
. Para mais informações, consulte Visão geral dos serviços de back-end.
Enums | |
---|---|
LOAD_BALANCING_SCHEME_UNSPECIFIED |
Valor padrão. Não use. |
INTERNAL_MANAGED |
Indica que o balanceamento de carga de aplicativo é usado para balanceamento de carga de aplicativo interno regional ou entre regiões. |
EXTERNAL_MANAGED |
Significa que ele é usado para o balanceamento de carga de aplicativo externo global ou regional. |
INTERNAL_SELF_MANAGED |
Indica que o recurso é usado para o Cloud Service Mesh. Destinado apenas ao uso pelo controlador do GKE do CSM. |
AuthzRule
Condições a serem comparadas com a solicitação recebida.
Representação JSON |
---|
{ "from": { object ( |
Campos | |
---|---|
from |
Opcional. Descreve as propriedades de uma ou mais origens de uma solicitação. |
to |
Opcional. Descreve as propriedades de uma ou mais segmentações de uma solicitação. |
when |
Opcional. Expressão CEL que descreve as condições a serem atendidas para a ação. O resultado da expressão CEL é AND com "de" e "para". Consulte a referência de linguagem CEL para conferir uma lista de atributos disponíveis. |
De
Descreve as propriedades de uma ou mais origens de uma solicitação.
Representação JSON |
---|
{ "sources": [ { object ( |
Campos | |
---|---|
sources[] |
Opcional. Descreve as propriedades das origens de uma solicitação. Pelo menos uma das opções "sources" ou "notSources" precisa ser especificada. Limitado a 5 fontes. Uma correspondência ocorre quando QUALQUER origem (em "sources" ou "notSources") corresponde à solicitação. Em uma única origem, a correspondência segue a semântica AND entre campos e OR entre campos. Ou seja, uma correspondência ocorre quando QUALQUER principal corresponde E QUALQUER ipBlock corresponde. |
notSources[] |
Opcional. Descreve as propriedades negadas das origens de solicitação. Corresponde a solicitações de fontes que não correspondem aos critérios especificados neste campo. Pelo menos uma das opções "sources" ou "notSources" precisa ser especificada. |
RequestSource
Descreve as propriedades de uma única fonte.
Representação JSON |
---|
{ "principals": [ { object ( |
Campos | |
---|---|
principals[] |
Opcional. Uma lista de identidades derivadas do certificado do cliente. Esse campo não vai corresponder a uma solicitação, a menos que o TLS mútuo esteja ativado para a regra de encaminhamento ou o gateway. Cada identidade é uma string cujo valor é comparado ao SAN do URI, ao SAN do DNS ou ao campo de assunto no certificado do cliente. A correspondência pode ser exata, de prefixo, de sufixo ou de substring. É necessário especificar um dos termos "exato", "prefixo", "sufixo" ou "contém". Limitado a 5 principais. |
resources[] |
Opcional. Uma lista de recursos a serem comparados com o recurso da VM de origem de uma solicitação. Limitado a 5 recursos. |
StringMatch
Determina como um valor de string precisa ser correspondido.
Representação JSON |
---|
{ "ignoreCase": boolean, // Union field |
Campos | |
---|---|
ignoreCase |
Se definido como "true", indica que a correspondência exata/de prefixo/sufixo/contém não é sensível a maiúsculas. Por exemplo, o comparador |
Campo de união
|
|
exact |
A string de entrada precisa corresponder exatamente à string especificada aqui. Exemplos:
|
prefix |
A string de entrada precisa ter o prefixo especificado aqui. Observação: não é permitido usar um prefixo vazio. Use uma regex. Exemplos:
|
suffix |
A string de entrada precisa ter o sufixo especificado aqui. Observação: não é permitido usar um prefixo vazio. Use uma regex. Exemplos:
|
contains |
A string de entrada precisa ter a substring especificada aqui. Observação: a correspondência de vazios não é permitida. Use regex. Exemplos:
|
RequestResource
Descreve as propriedades de um recurso de VM cliente que acessa os balanceadores de carga de aplicativo internos.
Representação JSON |
---|
{ "tagValueIdSet": { object ( |
Campos | |
---|---|
tagValueIdSet |
Opcional. Uma lista de IDs permanentes de valor de tag de recurso a serem comparados com o valor de tags do Resource Manager associado à VM de origem de uma solicitação. |
iamServiceAccount |
Opcional. Uma conta de serviço do IAM para corresponder à conta de serviço de origem da VM que envia a solicitação. |
TagValueIdSet
Descreve um conjunto de IDs permanentes de valor de tag de recurso para corresponder ao valor de tags do gerenciador de recursos associado à VM de origem de uma solicitação.
Representação JSON |
---|
{ "ids": [ string ] } |
Campos | |
---|---|
ids[] |
Obrigatório. Uma lista de IDs permanentes de valor de tag de recurso a serem comparados com o valor de tags do Resource Manager associado à VM de origem de uma solicitação. A correspondência segue a semântica AND, o que significa que todos os IDs precisam ser correspondentes. Limitado a cinco correspondências. |
Até
Descreve as propriedades de uma ou mais segmentações de uma solicitação.
Representação JSON |
---|
{ "operations": [ { object ( |
Campos | |
---|---|
operations[] |
Opcional. Descreve as propriedades de uma ou mais segmentações de uma solicitação. Pelo menos uma das operações ou notOperations precisa ser especificada. Limitado a cinco operações. Uma correspondência ocorre quando QUALQUER operação (em operações ou notOperations) corresponde. Em uma operação, a correspondência segue a semântica AND entre campos e a semântica OR dentro de um campo, ou seja, uma correspondência ocorre quando QUALQUER caminho corresponde E QUALQUER cabeçalho corresponde E QUALQUER método corresponde. |
notOperations[] |
Opcional. Descreve as propriedades negadas dos destinos de uma solicitação. Corresponde a solicitações de operações que não correspondem aos critérios especificados neste campo. Pelo menos uma das operações ou notOperations precisa ser especificada. |
RequestOperation
Descreve as propriedades de uma ou mais segmentações de uma solicitação.
Representação JSON |
---|
{ "headerSet": { object ( |
Campos | |
---|---|
headerSet |
Opcional. Uma lista de cabeçalhos para correspondência no cabeçalho HTTP. |
hosts[] |
Opcional. Uma lista de hosts HTTP a serem comparados. A correspondência pode ser exata, de prefixo, de sufixo ou de substring. As correspondências sempre diferenciam maiúsculas de minúsculas, a menos que a opção ignoreCase esteja definida. Limitado a cinco correspondências. |
paths[] |
Opcional. Uma lista de caminhos a serem correspondidos. A correspondência pode ser exata, de prefixo, de sufixo ou de substring. As correspondências sempre diferenciam maiúsculas de minúsculas, a menos que a opção ignoreCase esteja definida. Limitado a cinco correspondências. Essa correspondência de caminho inclui os parâmetros de consulta. Para serviços gRPC, esse precisa ser um nome totalmente qualificado no formato /package.service/method. |
methods[] |
Opcional. Uma lista de métodos HTTP a serem correspondidos. Cada entrada precisa ser um nome de método HTTP válido (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). Ele só permite correspondências exatas e é sempre sensível a maiúsculas e minúsculas. |
HeaderSet
Descreve um conjunto de cabeçalhos HTTP para fazer a correspondência.
Representação JSON |
---|
{
"headers": [
{
object ( |
Campos | |
---|---|
headers[] |
Obrigatório. Uma lista de cabeçalhos para correspondência no cabeçalho HTTP. A correspondência pode ser exata, de prefixo, de sufixo ou de substring. A correspondência segue a semântica AND, o que significa que todos os cabeçalhos precisam corresponder. As correspondências sempre diferenciam maiúsculas de minúsculas, a menos que a opção ignoreCase esteja definida. Limitado a cinco correspondências. |
HeaderMatch
Determina como um cabeçalho HTTP deve ser correspondido.
Representação JSON |
---|
{
"name": string,
"value": {
object ( |
Campos | |
---|---|
name |
Opcional. Especifica o nome do cabeçalho na solicitação. |
value |
Opcional. Especifica como a correspondência de cabeçalho será realizada. |
AuthzAction
A ação a ser aplicada a essa política. Os valores válidos são: ALLOW
, DENY
e CUSTOM
.
Enums | |
---|---|
AUTHZ_ACTION_UNSPECIFIED |
Ação não especificada. |
ALLOW |
Permitir que a solicitação seja transmitida ao back-end. |
DENY |
Negar a solicitação e retornar um HTTP 404 ao cliente. |
CUSTOM |
Delegar a decisão de autorização a um mecanismo externo. |
CustomProvider
Permite delegar decisões de autorização ao Cloud IAP ou às Extensões de serviço.
Representação JSON |
---|
{ "cloudIap": { object ( |
Campos | |
---|---|
cloudIap |
Opcional. Delega decisões de autorização ao Cloud IAP. Aplicável apenas a balanceadores de carga gerenciados. Ativar o Cloud IAP no nível da AuthzPolicy não é compatível com as configurações do Cloud IAP no BackendService. Ativar o IAP nos dois lugares vai resultar em falha na solicitação. Verifique se o IAP está ativado na AuthzPolicy ou no BackendService, mas não nos dois. |
authzExtension |
Opcional. Delegar a decisão de autorização à extensão de serviço criada pelo usuário. Apenas um de cloudIap ou authzExtension pode ser especificado. |
CloudIap
Esse tipo não tem campos.
Opcional. Delega decisões de autorização ao Cloud IAP. Aplicável apenas a balanceadores de carga gerenciados. Ativar o Cloud IAP no nível da AuthzPolicy não é compatível com as configurações do Cloud IAP no BackendService. Ativar o IAP nos dois lugares vai resultar em falha na solicitação. Verifique se o IAP está ativado na AuthzPolicy ou no BackendService, mas não nos dois.
AuthzExtension
Opcional. Delegar a decisão de autorização à extensão criada pelo usuário. Apenas um de cloudIap ou authzExtension pode ser especificado.
Representação JSON |
---|
{ "resources": [ string ] } |
Campos | |
---|---|
resources[] |
Obrigatório. Uma lista de referências a extensões de autorização que serão invocadas para solicitações que correspondem a esta política. Limitado a 1 provedor personalizado. |
Métodos |
|
---|---|
|
Cria uma nova política de autorização em um determinado projeto e local. |
|
Exclui uma única política de autorização. |
|
Recebe detalhes de uma única política de autorização. |
|
Lista as políticas de autorização de um determinado projeto e local. |
|
Atualiza os parâmetros de um único AuthzPolicy. |