Visão geral das regras de firewall

As regras de firewall do Google Cloud possibilitam permitir ou negar o tráfego de e para as instâncias de máquina virtual (VM) com base na configuração que você especificar. As regras de firewall do Google Cloud sempre são aplicadas, protegendo suas instâncias independentemente da configuração e do sistema operacional delas, mesmo que não tenham sido iniciadas.

Cada rede de nuvem privada virtual (VPC) funciona como um firewall distribuído. Enquanto as regras de firewall são definidas no nível da rede, as conexões são permitidas ou negadas por instância. Pense nas regras de firewall do Google Cloud como existentes não apenas entre suas instâncias e outras redes, mas também entre instâncias individuais dentro da mesma rede.

Para mais informações sobre firewalls, consulte esta página (em inglês).

Regras de firewall no Google Cloud

Ao criar uma regra de firewall do Google Cloud, você especifica uma rede VPC e um conjunto de componentes que definem o que a regra faz. Com os componentes, é possível especificar determinados tipos de tráfego com base no protocolo, portas, origens e destinos. Para mais informações, consulte Componentes de regra de firewall.

Crie ou modifique regras de firewall do Google Cloud usando o Console do Google Cloud, a ferramenta de linha de comando gcloud e a API REST. Quando você cria ou modifica uma regra de firewall, é possível especificar as instâncias às que ela precisa ser aplicada usando o componente de meta da regra.

Além das regras de firewall que você cria, o Google Cloud tem outras regras que podem afetar o tráfego de entrada (recebimento) ou de saída (envio):

  • O Google Cloud não permite determinados protocolos IP, como GRE, em uma rede VPC. Para mais informações, consulte a seção Tráfego sempre bloqueado.

  • O Google Cloud sempre permite a comunicação entre uma instância de VM e o servidor de metadados correspondente em 169.254.169.254. Para mais informações, consulte a seção Tráfego sempre permitido.

  • Cada rede tem duas regras de firewall implícitas que permitem conexões de saída e bloqueiam conexões de entrada. As regras de firewall criadas por você podem modificar essas regras implícitas.

  • A rede padrão tem regras de firewall predefinidas que podem ser excluídas ou modificadas.

Especificações

As regras de firewall do Google Cloud têm as seguintes características:

  • Cada regra de firewall se aplica ao tráfego de entrada (recebimento) ou de saída (envio), mas não a ambos. Para mais informações, consulte a direção do tráfego.

  • As regras de firewall são compatíveis somente com tráfego IPv4. Ao especificar uma origem para uma regra de entrada ou um destino para uma regra de saída por endereço, só é possível usar um endereço IPv4 ou um bloco IPv4 na notação CIDR.

  • A ação de cada regra de firewall é allow ou deny. A regra é válida para o tráfego enquanto for aplicada. Por exemplo, é possível desativar uma regra para solucionar problemas.

  • Ao criar uma regra de firewall, é preciso selecionar uma rede VPC. Enquanto a regra é aplicada no nível da instância, a configuração é associada a uma rede VPC. Isso significa que não é possível compartilhar regras de firewall entre redes VPC, incluindo redes conectadas por peering de rede VPC ou usando túneis VPN do Cloud.

  • As regras de firewall do Google Cloud funcionam com estado. Depois que uma sessão é estabelecida, as regras de firewall permitem a comunicação bidirecional. Não é possível configurar uma regra de firewall para negar o tráfego de resposta associado. O Google Cloud associa os pacotes de entrada aos pacotes de saída correspondentes usando uma tabela de rastreamento de conexão. O Google Cloud implementa o rastreamento de conexão independentemente de o protocolo oferecer suporte a conexões. Se for permitida uma conexão entre uma origem e uma meta (para uma regra de entrada) ou entre uma meta e um destino (para uma regra de saída), todo o tráfego de resposta será permitido, desde que o estado de rastreamento de conexão do firewall esteja ativo. O estado de rastreamento de uma regra de firewall será considerado ativo se pelo menos um pacote for enviado a cada 10 minutos.

  • As regras de firewall do Google Cloud não remontam pacotes TCP fragmentados. Por isso, uma regra de firewall aplicável ao protocolo TCP só pode ser aplicada ao primeiro fragmento, porque ele contém o cabeçalho TCP. As regras de firewall aplicáveis ao protocolo TCP não são aplicadas aos fragmentos TCP subsequentes.

  • O número máximo de conexões rastreadas na tabela de regras de firewall depende do número de conexões com estado compatíveis com o tipo de máquina da instância.

    Tipo de máquina de instância Número máximo de conexões com estado
    Tipos de máquina com núcleo compartilhado 130.000
    Instâncias com 1 a 8 vCPUs 130.000 conexões por vCPU
    Instâncias com mais de 8 vCPUs 1.040.000 (130.000×8) conexões ao total

Regras implícitas

Toda rede VPC tem duas regras implícitas de firewall. Essas regras existem, mas não são mostradas no Console do Cloud:

  • Regra de saída de permissão implícita. Uma regra de saída que tem allow como ação, 0.0.0.0/0 como destino e a prioridade mais baixa possível (65535) permite que qualquer instância envie tráfego para qualquer destino, exceto tráfego bloqueado pelo Google Cloud. Uma regra de firewall de prioridade mais alta pode restringir o acesso de saída. O acesso à Internet será permitido se nenhuma outra regra de firewall negar o tráfego de saída e se a instância tiver um endereço IP externo ou usar uma instância do Cloud NAT. Para mais informações, consulte Requisitos de acesso à Internet.

  • Regra de entrada de negação implícita. Uma regra de entrada que tem deny como ação, 0.0.0.0/0 como origem e a prioridade mais baixa possível (65535) protege todas as instâncias ao bloquear o tráfego de entrada para elas. Uma regra de prioridade mais alta pode permitir o acesso de entrada. A rede padrão inclui outras regras que substituem essa, permitindo certos tipos de tráfego de entrada.

As regras implícitas não podem ser removidas, mas têm as prioridades mais baixas possíveis. É possível criar regras que as substituam, desde que suas regras tenham prioridades mais altas, por exemplo, números de prioridade menores que 65535. Como as regras deny têm precedência sobre as regras allow com a mesma prioridade, uma regra de entrada allow com prioridade 65535 nunca terá efeito.

Regras predefinidas na rede padrão

A rede padrão tem regras de firewall predefinidas que permitem o tráfego de entrada nas instâncias. Essas regras podem ser excluídas ou modificadas conforme necessário:

  • default-allow-internal
    Permite conexões de entrada para todos os protocolos e portas entre instâncias na rede. Essa regra tem a segunda prioridade mais baixa de 65534 e permite conexões de entrada com instâncias de VM de outras na mesma rede.
  • default-allow-ssh
    Permite conexões de entrada na porta TCP 3389 de qualquer origem para qualquer instância na rede. Essa regra tem uma prioridade de 65534.
  • default-allow-rdp
    Permite conexões de entrada na porta TCP 3389 de qualquer origem para qualquer instância na rede. Essa regra tem uma prioridade de 65534 e permite conexões com instâncias que executam o Microsoft Remote Desktop Protocol (RDP).
  • default-allow-icmp
    Permite o tráfego ICMP de entrada de qualquer origem para qualquer instância na rede. Esta regra tem prioridade de 65534 e permite ferramentas como ping.

Tráfego sempre bloqueado

O Google Cloud sempre bloqueia o tráfego descrito na tabela a seguir. Suas regras de firewall não podem ser usadas para permitir qualquer tráfego.

Tráfego sempre bloqueado Aplicável a
Tráfego GRE Todas as origens e todos os destinos, inclusive entre instâncias que usam endereços IP internos
Protocolos diferentes de TCP, UDP, ICMP e IPIP Tráfego entre:
• instâncias e a Internet;
• instâncias se elas forem endereçadas por endereços IP externo;
• instâncias se um balanceador de carga com endereço IP externo estiver envolvido.
Tráfego de saída na porta TCP 25 (SMTP) Tráfego de:
• instâncias para a Internet;
• instâncias para outras instâncias endereçadas por endereços IP externos.

Tráfego sempre permitido

O Google Cloud executa um servidor de metadados local para cada instância em 169.254.169.254. Esse servidor é essencial para a operação da instância, de modo que a instância possa acessá-lo independentemente das regras de firewall que você configurar. O servidor de metadados fornece à instância os seguintes serviços básicos:

Componentes da regra de firewall

Cada regra de firewall tem os seguintes componentes de configuração:

  • A direção do tráfego: as regras de entrada se aplicam a conexões de entrada de origens específicas para metas do Google Cloud, e as regras de saída se aplicam ao tráfego que vai das metas para destinos específicos.

  • Uma prioridade numérica, que determina se a regra é aplicada. Somente a regra de prioridade mais alta, com número de prioridade mais baixo, que tem outros componentes correspondentes ao tráfego é aplicada. Regras conflitantes com prioridades mais baixas são ignoradas.

  • Uma ação se houver correspondência, allow ou deny, que determina se a regra permite ou bloqueia o tráfego.

  • O status de aplicação da regra de firewall: é possível ativar e desativar regras de firewall sem excluí-las.

  • Uma meta, que define as instâncias, incluindo clusters do GKE e instâncias do ambiente flexível do App Engine, às quais a regra se aplica.

  • Uma origem para regras de entrada ou um destino para regras de saída.

  • O protocolo, como TCP, UDP ou ICMP, e a porta.

Resumo dos componentes

Regra de entrada (recebimento)
Prioridade Ação Aplicação Meta (define o destino) Origem Protocolos e portas
Inteiro de 0 a 65535, incluindo esses dois valores. Padrão: 1000
allow ou deny enabled (padrão) ou disabled O parâmetro de meta especifica o destino e pode ser uma das opções a seguir: Uma das seguintes opções:
  • Intervalo de endereços IPv4. O padrão é qualquer um (0.0.0.0/0)
  • Instâncias por tag de rede
  • Instâncias por conta de serviço
Especifique um protocolo ou um protocolo e uma porta.

Se não estiverem definidos, a regra será aplicada a todos os protocolos.
Regra de saída (envio)
Prioridade Ação Aplicação Meta (define a origem) Destino Protocolos e portas
Inteiro de 0 a 65535, incluindo esses dois valores. Padrão: 1000
allow ou deny enabled (padrão) ou disabled O parâmetro de meta especifica a origem e pode ser uma das seguintes opções:
  • Todas as instâncias na rede VPC
  • Instâncias por tag de rede
  • Instâncias por conta de serviço
Qualquer rede ou um intervalo específico de endereços IPv4. O padrão é qualquer um (0.0.0.0/0) Especifique um protocolo ou um protocolo e uma porta.

Se não estiverem definidos, a regra será aplicada a todos os protocolos.

Direção do tráfego

A direção de uma regra de firewall pode ser de entrada ou saída. A direção sempre é definida da perspectiva da meta.

  • A direção de entrada descreve o tráfego enviado de uma origem para uma meta. Regras de entrada se aplicam a pacotes de novas sessões em que o destino do pacote é a meta.

  • A direção de saída descreve o tráfego enviado de uma meta para um destino. Regras de saída se aplicam a pacotes de novas sessões em que a origem do pacote é a meta.

  • Se não houver especificação da direção, o Google Cloud usará a entrada.

Considere um exemplo de conexão entre duas VMs na mesma rede. O tráfego da VM1 para a VM2 pode ser controlado usando uma destas regras de firewall:

  • Uma regra de entrada com uma meta de VM2 e uma origem de VM1

  • Uma regra de saída com uma meta de VM1 e um destino de VM2

Prioridade

A prioridade da regra de firewall é um número inteiro de 0 a 65535, incluindo esses dois valores. Os números inteiros mais baixos indicam prioridades mais altas. Se nenhuma prioridade for especificada na criação da regra, será atribuída uma prioridade de 1000.

A prioridade relativa de uma regra de firewall determina se ela é aplicável quando avaliada em relação a outras. A lógica de avaliação funciona desta maneira:

  • A regra de prioridade mais alta aplicável a uma meta para um determinado tipo de tráfego tem precedência. A especificidade da meta não importa. Por exemplo, uma regra de entrada de prioridade mais alta para determinadas portas e protocolos destinados a todas as metas substitui uma regra definida de maneira semelhante para as mesmas portas e protocolos destinados a metas específicas.

  • A regra de prioridade mais alta aplicável para um determinado protocolo e definição de porta tem precedência, mesmo quando o protocolo e a definição da porta são mais gerais. Por exemplo, uma regra de entrada de prioridade mais alta que permite o tráfego para todos os protocolos e portas destinados a determinadas metas substitui uma regra de entrada de prioridade mais baixa que nega o TCP 22 para as mesmas metas.

  • Uma regra com uma ação deny substitui outra com uma ação allow somente se as duas regras tiverem a mesma prioridade. Usando prioridades relativas, é possível criar regras allow que substituem as deny e regras deny que substituem as allow.

  • Regras com a mesma prioridade e ação têm o mesmo resultado. No entanto, não é possível determinar qual regra é usada durante a avaliação. Normalmente, não importa qual regra é usada, exceto quando você ativa a Geração de registros de regras de firewall. Se quiser que seus registros mostrem as regras de firewall que estão sendo avaliadas de maneira consistente e bem definida, atribua prioridades únicas a elas.

Considere o exemplo a seguir onde há duas regras de firewall:

  • Uma regra de entrada de origens 0.0.0.0/0, em qualquer lugar, aplicável a todas as metas, todos os protocolos e todas as portas, com uma ação deny e uma prioridade de 1000.

  • Uma regra de entrada de origens 0.0.0.0/0, em qualquer lugar, aplicável a metas específicas com a tag webserver, para tráfego no TCP 80, com uma ação allow.

A prioridade da segunda regra determina se o tráfego TCP na porta 80 é permitido para as metas de webserver:

  • Se a prioridade da segunda regra for definida como um número maior que 1000, ela terá uma prioridade inferior. Por isso, será aplicada a primeira regra, que nega todo o tráfego.

  • Se a prioridade da segunda regra for definida como 1000, as duas regras terão prioridades idênticas. Por isso, será aplicada a primeira regra, que nega todo o tráfego.

  • Se a prioridade da segunda regra estiver definida como um número inferior a 1000, ela terá uma prioridade mais alta, permitindo o tráfego em TCP 80 para as metas de webserver. Se não houver outras regras, a primeira regra ainda negaria outros tipos de tráfego para as metas webserver e poderia negar também todo o tráfego, incluindo TCP 80, às instâncias sem a tag webserver.

O exemplo anterior demonstra como é possível usar as prioridades para criar regras allow seletivas e regras deny globais a fim de implementar uma prática recomendada de segurança com o menor privilégio.

Ação se houver correspondência

O componente de ação de uma regra de firewall determina se ele permite ou bloqueia o tráfego, sujeito aos outros componentes da regra:

  • Uma ação allow permite conexões que correspondem a outros componentes especificados.

  • Uma ação deny bloqueia conexões que correspondem a outros componentes especificados.

Aplicação

É possível alterar a aplicação das regras de firewall definindo o estado como enabled ou disabled. Desativar uma regra é útil para solucionar problemas ou conceder acesso temporário a instâncias. É muito mais fácil desativar uma regra, testar e reativá-la do que excluir e recriar a regra.

A menos que você especifique o contrário, todas as regras de firewall são enabled quando são criadas. Também é possível criar uma regra no estado disabled.

É possível alterar o estado de aplicação das regras de firewall de enabled para disabled e vice-versa ao atualizar a regra.

Considere desativar uma regra de firewall para situações como estas:

  • Para solucionar problemas: se você não tiver certeza se uma regra de firewall está bloqueando ou permitindo o tráfego, desative-a temporariamente para determinar se o tráfego é permitido ou bloqueado. Isso é útil para solucionar o efeito de uma regra em conjunto com outras.
  • Para manutenção: desativar regras de firewall ajuda a tornar a manutenção periódica mais simples. Suponha que você tenha uma regra de firewall que bloqueie o SSH de entrada para as metas, como instâncias por tag de meta, e essa regra seja enabled. Quando você precisar executar a manutenção, poderá desativar a regra. Depois de terminar, ative a regra novamente.

Meta

Para uma regra de entrada (recebimento), o parâmetro de meta designa as instâncias da VM de destino, incluindo clusters do GKE e instâncias do ambiente flexível do App Engine. Para uma regra de saída (envio), a meta designa as instâncias de origem. Portanto, sempre use o parâmetro de meta para designar instâncias do Google Cloud. No entanto, saber se uma meta é o destino ou a origem do tráfego depende da direção da regra.

Especifique uma meta usando uma das seguintes opções:

  • Todas as instâncias na rede. A regra de firewall se aplica a todas as instâncias na rede.

  • Instâncias por tags de meta. A regra de firewall se aplica apenas a instâncias com uma tag de rede correspondente.

  • Instâncias por contas de serviço de meta. A regra de firewall se aplica somente a instâncias que usam uma conta de serviço específica. Para saber o número máximo de contas de serviço de meta que podem ser aplicadas por regra de firewall, consulte Cotas de recursos de VPC.

Para informações sobre os benefícios e as limitações das tags de meta e contas de serviço de meta, consulte Filtragem por conta de serviço versus tag de rede.

Metas e endereços IP

A meta de uma regra de firewall de entrada se aplica a todo o tráfego que chega à interface de rede de uma instância na rede VPC, independentemente de como a meta é especificada. As regras de firewall de entrada entram em vigor nos pacotes em que o destino corresponde a um dos seguintes endereços IP:

  • O endereço IP interno principal atribuído à interface de rede da instância na rede VPC.

  • Qualquer intervalo de IP do alias configurado da interface de rede da instância na rede VPC.

  • O endereço IP externo associado à interface de rede da instância na rede VPC.

  • Um balanceador de carga do Google Cloud, se a instância for um back-end do balanceador de carga.

A meta de uma regra de firewall de saída se aplica a todo o tráfego que sai da interface de rede de uma instância na rede VPC, independentemente de como a meta é especificada. As regras de firewall de saída entram em vigor nos pacotes em que a origem corresponde ao endereço IP interno principal ou a qualquer intervalo de IP do alias configurado da interface de rede da instância na rede VPC.

Origem ou destino

Você especifica a origem ou o destino, mas não ambos, dependendo da direção do firewall criado:

  • Para regras de entrada (recebimento), o parâmetro de meta especifica as instâncias de destino para o tráfego. Não é possível usar o parâmetro de destino. Para especificar a origem, use o parâmetro de origem.

  • Para regras de saída (envio), o parâmetro de meta especifica as instâncias de origem para o tráfego. Não é possível usar o parâmetro de origem. Para especificar o destino, use o parâmetro de destino.

Fontes

O parâmetro origem é aplicável apenas às regras de entrada. Ele precisa ser um dos seguintes:

  • Intervalos de IP de origem: é possível especificar intervalos de endereços IP como origens de pacotes. Os intervalos podem incluir endereços dentro da rede VPC e endereços fora dela. Os intervalos de IP de origem podem ser usados para definir origens dentro e fora do Google Cloud.

  • Tags de origem: é possível definir a origem dos pacotes como o endereço IP interno principal da interface de rede das instâncias de VM na mesma rede VPC, identificando essas instâncias de origem por uma tag de rede correspondente. As tags de origem se aplicam apenas ao tráfego enviado da interface de rede de outra instância aplicável na sua rede VPC. As tags de origem não controlaram pacotes que tenham endereços IP externos como origens, mesmo que esses endereços pertençam às instâncias. Para saber o número máximo de tags de origem que podem ser aplicadas por regra de firewall, consulte Cotas de recursos de VPC.

  • Contas de serviço de origem: é possível definir a origem dos pacotes como o endereço IP interno primário da interface de rede das instâncias na mesma rede VPC, identificando essas instâncias de origem pelas contas de serviço que usam. As contas de serviço de origem se aplicam apenas ao tráfego enviado da interface de rede de outra instância aplicável na sua rede VPC. As contas de serviço de origem não podem controlar pacotes que tenham endereços IP externos como origens, mesmo que esses endereços pertençam às instâncias. Para saber o número máximo de contas de serviço de origem que podem ser aplicadas por regra de firewall, consulte Cotas de recursos de VPC.

  • Uma combinação de intervalos IP de origem e tags de origem pode ser usada.

  • É possível usar uma combinação de intervalos IP de origem e contas de serviço de origem.

  • Se todos os intervalos de IP de origem, tags de origem e contas de serviço de origem forem omitidos, o Google Cloud definirá a origem como qualquer endereço IP (0.0.0.0/0).

Destinos

O parâmetro destination é aplicável somente às regras de saída. O parâmetro destination aceita apenas intervalos de endereços IP. Os intervalos podem incluir endereços dentro da rede VPC e endereços fora dela.

Se você não especificar um intervalo de destino, o Google Cloud definirá o destino como sendo todos os endereços IP (0.0.0.0/0).

Protocolos e portas

É possível restringir o escopo de uma regra de firewall ao especificar protocolos ou protocolos e portas. Também é possível especificar um protocolo ou uma combinação de protocolos e as portas deles. Se você omitir os protocolos e as portas, a regra de firewall será aplicável a todo o tráfego em qualquer protocolo e em qualquer porta.

Para tornar uma regra de firewall específica, primeiro é preciso especificar um protocolo. Se o protocolo aceitar portas, você terá a opção de especificar um número de porta ou um intervalo de portas. No entanto, nem todos os protocolos aceitam portas. Por exemplo, há portas para TCP e UDP, mas não para ICMP. O ICMP tem diferentes tipos de ICMP, mas não são portas.

É possível especificar um protocolo usando o nome dele, como tcp, udp, icmp, esp, ah, sctp e ipip, ou o respectivo número de protocolo IP decimal.

As regras de firewall do Google Cloud usam informações da porta para fazer referência à porta de destino de um pacote, não à porta de origem:

  • Para regras de firewall de entrada (recebimento), as portas de destino são portas nos sistemas identificadas pelo parâmetro de meta da regra. Para as regras de entrada, o parâmetro de meta especifica as VMs de destino do tráfego.

  • Para as regras de firewall de saída (envio), as portas de destino representam portas nos sistemas identificadas pelo parâmetro destino da regra.

A tabela a seguir é um resumo das combinações válidas de especificação de porta e protocolo para as regras de firewall do Google Cloud.

Especificação Exemplo Explicação
Nenhum protocolo e porta Se você não especificar um protocolo, a regra de firewall será aplicada a todos os protocolos e às portas aplicáveis deles.
Protocolo tcp Se você especificar um protocolo sem informações da porta, a regra de firewall será aplicada a esse protocolo e a todas as respectivas portas aplicáveis.
Protocolo e porta única tcp:80 Se você especificar um protocolo e uma porta, a regra de firewall será aplicada a essa porta do protocolo.
Intervalo de protocolo e porta tcp:20-22 Se você especificar um protocolo e um intervalo de portas, a regra de firewall será aplicada a esse intervalo de portas para o protocolo.
Combinações icmp,tcp:80
tcp:443
udp:67-69
É possível especificar várias combinações de protocolos e portas às quais a regra de firewall se aplica. Para saber mais informações, consulte como criar regras de firewall.

Filtragem de origem e meta por conta de serviço

É possível usar contas de serviço para criar regras de firewall que são mais específicas por natureza:

  • Para regras de entrada e saída, é possível usar contas de serviço para especificar metas.

  • Para regras de entrada, é possível especificar a origem dos pacotes de entrada como o endereço IP interno primário de qualquer VM na rede em que ela usa uma conta de serviço específica.

A conta de serviço precisa ser criada antes da criação de uma regra de firewall que dependa dela.

As regras de firewall que usam contas de serviço para identificar instâncias se aplicam a novas instâncias criadas e associadas à conta de serviço e a instâncias já existentes se você alterar as contas de serviço delas. É necessário parar e reiniciar a instância para alterar a conta de serviço associada a ela. É possível associar contas de serviço a instâncias individuais e a modelos de instâncias usados por grupos de instâncias gerenciadas.

Filtragem por conta de serviço versus tag de rede

Nesta seção, destacaremos os principais pontos a serem considerados ao decidir se você vai usar contas de serviço ou tags de rede para definir metas e origens (para regras de entrada).

Se você precisar de um controle rigoroso sobre como as regras de firewall são aplicadas às VMs, use contas de serviço de meta e contas de serviço de origem em vez de tags de meta e tags de origem:

  • Uma tag de rede é um atributo arbitrário. É possível associar uma ou mais tags de rede a uma instância por qualquer membro do Cloud Identity and Access Management (Cloud IAM) que tenha permissão para editá-la. Os membros do Cloud IAM com o papel administrador da instância do Compute Engine de um projeto têm essa permissão. Os membros do Cloud IAM que conseguem editar uma instância podem alterar suas tags de rede, o que talvez altere o conjunto de regras de firewall aplicáveis a essa instância.

  • Uma conta de serviço representa uma identidade associada a uma instância. Só é possível associar uma conta de serviço a uma instância. Você controla o acesso à conta de serviço com o controle da concessão do papel Usuário da conta de serviço a outros membros do Cloud IAM. Para que um membro do Cloud IAM inicie uma instância usando uma conta de serviço, esse membro precisa ter o papel de usuário da conta de serviço pelo menos para essa conta e permissões adequadas para criar instâncias. É o caso de quando há o papel de administrador da instância do Compute Engine no projeto.

Não é possível combinar contas de serviço e tags de rede em qualquer regra de firewall:

  • Não é possível usar contas de serviço de meta e tags de meta juntas em qualquer regra de firewall, seja de entrada ou de saída.

  • Se você especificar as metas por tag de meta ou por conta de serviço de meta, as origens a seguir serão inválidas para regras de firewall de entrada.

    Metas Origens inválidas
    Tags de meta Contas de serviço de origem

    Combinação de intervalos de IP de origem e contas de serviço de origem
    Conta de serviço de meta Tags de origem

    Combinação de intervalos de IP de origem e tags de origem

Veja a seguir considerações operacionais para contas de serviço e tags de rede.

  • É necessário parar e reiniciar a instância para alterar a conta de serviço associada a ela. A adição ou remoção de tags pode ser feita enquanto a instância está em execução.

  • Há um número máximo de contas de serviço de meta, contas de serviço de origem, tags de rede de meta e tags de rede de origem que podem ser especificadas para regras de firewall. Para mais informações, consulte Cotas de recursos de VPC.

  • Se você identificar instâncias por tag de rede, a regra de firewall será aplicada ao endereço IP interno primário da instância.

Casos de uso

Os casos de uso a seguir demonstram como as regras de firewall funcionam. Nesses exemplos, todas as regras de firewall estão ativadas.

Casos de entrada

As regras de firewall de entrada controlam as conexões recebidas de uma origem para as instâncias de meta na sua rede VPC. É possível definir a origem de uma regra de entrada como uma das seguintes opções:

  • Um intervalo de endereços IPv4. O padrão é qualquer um (0.0.0.0/0)
  • Outras instâncias na rede VPC identificadas pela conta de serviço
  • Outras instâncias na rede VPC identificadas por tags de rede

A origem padrão é qualquer endereço IP (0.0.0.0/0). Se você quiser controlar as conexões de entrada de origens fora da rede VPC, incluindo outras origens na Internet, use um intervalo de endereços IPv4 no formato CIDR.

Regras de entrada com uma ação allow permitem o tráfego de entrada com base nos outros componentes da regra. Além de especificar a origem e a meta da regra, limite a regra a protocolos e portas específicos. Da mesma forma, é possível usar as regras de entrada com uma ação deny para proteger instâncias com o bloqueio do tráfego de entrada com base nos componentes da regra de firewall.

Exemplos de entrada

O diagrama a seguir ilustra alguns exemplos em que as regras de firewall podem controlar as conexões de entrada. Os exemplos usam o parâmetro meta nas atribuições de regras para aplicar regras a instâncias específicas.

Exemplo de regras de firewall de entrada (clique para ampliar)
Exemplo de regras de firewall de entrada (clique para ampliar)
  • Uma regra de entrada com prioridade 1000 é aplicável à VM 1. Essa regra permite o tráfego TCP de entrada de qualquer origem (0.0.0.0/0). O tráfego TCP de outras instâncias na rede VPC é permitido, sujeito às regras de saída aplicáveis para essas outras instâncias. A VM 4 consegue se comunicar com a VM 1 por meio de TCP porque a VM 4 não tem uma regra de saída bloqueando essa comunicação (somente a regra implícita "permitir saída" é aplicável). Como a VM 1 tem um IP externo, essa regra também permite o tráfego TCP de entrada de hosts externos na Internet.

  • A VM 2 não tem uma regra de firewall de entrada especificada. Portanto, a regra implícita "negar entrada" bloqueia todo o tráfego de entrada. As conexões de outras instâncias da rede são bloqueadas, independentemente das regras de saída para as outras instâncias. Como a VM 2 tem um IP externo, há um caminho para ele com base nos hosts externos na Internet, mas a regra implícita "negar entrada" bloqueia também o tráfego de entrada externo.

  • Uma regra de entrada com prioridade 1000 é aplicável à VM 3. Essa regra permite o tráfego TCP de instâncias na rede com a tag de rede client, como VM 4. O tráfego TCP da VM 4 para a VM 3 é permitido porque a VM 4 não tem uma regra de saída bloqueando essa comunicação (somente a regra implícita "permitir saída" é aplicável). Como a VM 3 não tem um IP externo, não há nenhum caminho para ela de hosts externos na Internet.

Casos de saída

As regras de firewall de saída controlam as conexões de saída de instâncias de meta na rede VPC. As regras de saída com uma ação allow permitem o tráfego de instâncias com base nos outros componentes da regra. Por exemplo, é possível permitir o tráfego de saída para destinos específicos, como um intervalo de endereços IPv4, em protocolos e portas especificados por você. Da mesma forma, as regras de saída com uma ação deny bloqueiam o tráfego com base nos outros componentes da regra.

Cada regra de saída precisa de um destino. O destino padrão é qualquer endereço IP (0.0.0.0/00.0.0.0/0), mas você cria um destino mais específico usando um intervalo de endereços IPv4 no formato CIDR. Ao especificar um intervalo de endereços IPv4, é possível controlar o tráfego para instâncias na rede e para destinos fora da rede, incluindo destinos na Internet.

Exemplos de saída

O diagrama a seguir ilustra alguns exemplos em que as regras de firewall conseguem controlar as conexões de saída. Os exemplos usam o parâmetro meta nas atribuições de regras para aplicar regras a instâncias específicas.

Exemplo de regras de firewall de saída (clique para ampliar)
Exemplo de regras de firewall de saída (clique para ampliar)
  • A VM 1 não tem uma regra de firewall de saída especificada. Portanto, a regra implícita "permitir saída" possibilita que ela envie tráfego para qualquer destino. As conexões com outras instâncias da rede VPC são permitidas, sujeitas às regras de entrada aplicáveis para essas outras instâncias. A VM 1 pode enviar tráfego para a VM 4 porque a VM 4 tem uma regra de entrada que permite o tráfego recebido de qualquer intervalo de endereços IP. Como a VM 1 tem um endereço IP externo, ela pode enviar tráfego para hosts externos na Internet. As respostas de entrada ao tráfego enviado pela VM 1 são permitidas porque as regras de firewall funcionam com estado.

  • Uma regra de saída com prioridade 1000 é aplicável à VM 2. Essa regra nega todo o tráfego de saída para todos os destinos (0.0.0.0/0). O tráfego de saída para outras instâncias na rede VPC é bloqueado, independentemente das regras de entrada aplicadas às outras instâncias. Ainda que a VM 2 tenha um endereço IP externo, esta regra de firewall bloqueia o tráfego de saída para hosts externos na Internet.

  • Uma regra de saída com prioridade 1000 é aplicável à VM 3. Essa regra bloqueia o tráfego TCP de saída para qualquer destino no intervalo de IP 192.168.1.0/24. Mesmo que as regras de entrada para VM 4 permitam todo o tráfego recebido, a VM 3 não pode enviar o tráfego TCP para a VM 4. No entanto, a VM 3 é livre para enviar o tráfego UDP para a VM 4 porque a regra de saída se aplica apenas ao protocolo TCP.

    Além disso, a VM 3 pode enviar qualquer tráfego para outras instâncias na rede VPC fora do intervalo de IP 192.168.1.0/24, desde que essas outras instâncias tenham regras de entrada para permitir esse tráfego. Por não ter um endereço IP externo, ela não tem um caminho para enviar tráfego para fora da rede VPC.

A seguir