Políticas da organização do Cloud SQL

Nesta página, explicamos como usar uma política da organização com seu projeto do Cloud SQL. Para começar a criar políticas da organização, consulte Adicionar políticas da organização.

Visão geral

As políticas da organização permitem que os administradores definam restrições sobre como os usuários podem configurar instâncias. As políticas da organização usam regras, chamadas de restrições, que o administrador coloca em um projeto, uma pasta ou uma organização. As restrições aplicam a política em todas as instâncias. Se, por exemplo, você tentar adicionar uma instância a uma entidade que tenha uma política da organização, a restrição executará uma verificação para garantir que a configuração da instância siga os requisitos da restrição. Se a verificação falhar, o Cloud SQL não criará a instância.

À medida que você adiciona projetos a uma organização ou pasta que usa uma política da organização, os projetos herdam as restrições dessa política.

Para mais informações sobre políticas da organização, consulte Serviço de política da organização, Restrições e Avaliação de hierarquia.

Há dois tipos de políticas da organização específicas para o Cloud SQL:

Políticas de conexão da organização

As políticas de conexão da organização fornecem controle centralizado das configurações de IP público do Cloud SQL para reduzir a superfície de ataque à segurança das instâncias do Cloud SQL proveniente da Internet. O administrador de políticas da organização pode usar uma política de conexão para restringir configurações de IP público do Cloud SQL no nível do projeto, da pasta ou da organização.

Restrições da política de conexão da organização

Na política de conexão da organização, há dois tipos de restrições que limitam o acesso às instâncias do Cloud SQL.

Restrição Descrição Padrão
Restringir o acesso de IP público nas instâncias do Cloud SQL Essa limitação booleana restringe a configuração do IP público em instâncias do Cloud SQL. Para isso, a limitação precisa estar definida como True. Essa restrição não é retroativa. As instâncias do Cloud SQL com acesso atual de IP público ainda funcionam mesmo após a aplicação dessa restrição.

Por padrão, o acesso de IP público a instâncias do Cloud SQL é permitido.

constraints/sql.restrictPublicIp
PERMITIR
Restringir redes autorizadas em instâncias do Cloud SQL Quando definida como True, essa restrição booleana restringe a adição de redes autorizadas para que o banco de dados não tenha acesso a instâncias do Cloud SQL. Essa restrição não é retroativa. As instâncias do Cloud SQL com redes autorizadas ainda funcionarão mesmo após a aplicação dessa restrição.
Por padrão, é possível adicionar redes autorizadas a instâncias do Cloud SQL.

constraints/sql.restrictAuthorizedNetworks
PERMITIR

Restrições para políticas de conexão da organização

Ao definir a política da organização de cada projeto, é necessário determinar se alguma das seguintes situações se aplica ao projeto:

Conflitos de endereços IP públicos de réplicas de leitura

As réplicas de leitura do Cloud SQL se conectam à instância primária por meio da conexão do banco de dados sem proxy. Use a configuração Redes autorizadas da instância primária para definir explicita ou implicitamente os endereços IP públicos da réplica de leitura.

Se as instâncias principal e réplica estiverem dentro da mesma região e ativarem o IP privado, não haverá conflito com as restrições da política de conexão da organização.

Incompatibilidade usando gcloud sql connect

O comando gcloud sql connect usa um endereço IP público para se conectar diretamente às instâncias do Cloud SQL. Portanto, ele é incompatível com a restrição sql.restrictPublicIp. Geralmente, isso é um problema para instâncias que usam IP privado.

Além disso, o comando gcloud sql connect não usa o proxy, o que o torna incompatível com a restrição sql.restrictAuthorizedNetworks.

Em vez disso, use a versão Beta do comando:

gcloud beta auth login
gcloud beta sql connect [INSTANCE_ID]

Esta versão usa o proxy do Cloud SQL Auth. Para mais informações de referência, consulte gcloud beta sql connect.

Ao executar o comando pela primeira vez, será solicitada a instalação do componente do proxy do Cloud SQL Auth do gcloud. Para isso, é necessário ter permissão de gravação no diretório de instalação do SDK da gcloud na máquina cliente.

Acesso a serviços hospedados no GCP

Se o aplicativo exigir acesso a instâncias do Cloud SQL de outros serviços hospedados no GCP, como o App Engine, o aplicativo precisará usar endereços IP públicos. Não aplique a restrição sql.restrictPublicIp no projeto. No entanto, é possível aplicar sql.restrictAuthorizedNetworks porque as conexões do Google App Engine passam pela conexão segura (com proxy).

Conflitos de IP público de réplicas de failover do MySQL

Uma réplica de failover do MySQL funciona da mesma forma que uma réplica de leitura para políticas de conexão da organização. Se as instâncias principal e réplica estiverem dentro da mesma região e ativarem o IP privado, não haverá conflito com as restrições da política de conexão da organização.

Endereços IP privados não RFC 1918

As conexões com uma instância do Cloud SQL usando um endereço IP privado são autorizadas automaticamente para intervalos de endereços RFC 1918. Isso permite que todos os clientes particulares acessem o banco de dados sem passar pelo proxy. É necessário configurar intervalos de endereços não RFC 1918 como redes autorizadas.

Para usar intervalos de IP particulares não RFC 1918 que não estejam configurados nas redes autorizadas, execute uma ou ambas as ações a seguir:

  1. Não aplique sql.restrictAuthorizedNetworks. Se as redes autorizadas também aplicarem sql.restrictPublicIp, não será possível configurá-las no console. Em vez disso, use a API Cloud SQL ou a CLI gcloud.
  2. Use conexões com proxy para instâncias de IP particulares.

Problemas conhecidos das políticas de conexão da organização

Restringir restrição de redes autorizadas

Para instâncias do Cloud SQL que tenham uma entrada de redes autorizadas preexistente, são permitidas outras entradas dessas redes, mesmo ao usar a restrição Restringir redes autorizadas (sql.restrictAuthorizedNetworks). Isso também afeta instâncias que ativaram réplicas somente leitura ou failover porque têm uma entrada de redes autorizadas para a réplica que não é visível para o usuário.

Esse problema conhecido será removido quando a restrição só permitir a remoção, e não a adição, de entradas de redes autorizadas.

Políticas da organização para chaves de criptografia gerenciadas pelo cliente (CMEK, na sigla em inglês)

O Cloud SQL é compatível com duas restrições de política da organização que ajudam a garantir a proteção CMEK em uma organização: constraints/gcp.restrictNonCmekServices e constraints/gcp.restrictCmekCryptoKeyProjects.

A restrição constraints/gcp.restrictNonCmekServices requer proteção com CMEK para o sqladmin.googleapis.com. Quando você adiciona essa restrição e adiciona sqladmin.googleapis.com à lista de serviços da política Deny, o Cloud SQL se recusa a criar novas instâncias, a menos que elas estejam ativadas com CMEK.

A restrição constraints/gcp.restrictCmekCryptoKeyProjects limita as CryptoKeys do Cloud KMS a serem usadas na proteção CMEK nas instâncias do Cloud SQL para MySQL. Com essa restrição, quando o Cloud SQL cria uma nova instância com CMEK, a CryptoKey precisa vir de um projeto, uma pasta ou uma organização permitida.

Essas restrições são aplicadas apenas em instâncias do Cloud SQL para MySQL recém-criadas.

Para mais informações sobre a visão geral, consulte Políticas da organização CMEK. Para informações sobre restrições da política da organização CMEK, consulte Restrições da política da organização.

Regras de aplicação da política da organização

O Cloud SQL aplica a política da organização durante as seguintes operações:

  • criação de instância
  • criação de réplicas;
  • Reinicialização da instância
  • Migração da instância
  • clonagem de instância;

Como todas as restrições de política da organização, as alterações na política não se aplicam retroativamente às instâncias atuais.

  • Uma nova política não afeta as instâncias atuais.
  • Uma configuração de instância atual permanece válida, a menos que um usuário altere a configuração da instância de um estado de conformidade para não conformidade usando o console, a CLI gcloud ou RPC.
  • Uma atualização de manutenção programada não faz com que uma política seja aplicada porque a manutenção não altera a configuração das instâncias.

A seguir