Configurar restrições para organizações

Nesta página, descrevemos os pré-requisitos da configuração do proxy de saída, como conseguir o ID da organização, adicionar o cabeçalho restrições para organizações e configurar o proxy com a lista de URLs de destino.

Os administradores do Google Cloud, que administram o Google Cloud, e os administradores de proxy de saída que configuram o proxy de saída precisam trabalhar juntos para configurar as restrições para organizações. Para informações sobre soluções de parceiros validadas com restrições para organizações, consulte Soluções de parceiros validadas.

Antes de começar

Se você é um administrador de proxy de saída, antes de configurar o proxy de saída para adicionar o cabeçalho de restrições para organizações, é necessário atender aos seguintes pré-requisitos:

  • Se os papéis de administrador do Google Cloud e de proxy de saída forem diferentes na organização, verifique se o administrador do Google Cloud interage com o administrador do proxy de saída para configurar o proxy de saída.

  • Configure as regras de firewall da organização ou os dispositivos gerenciados para garantir que o tráfego de saída de todos os usuários na organização passe pelo proxy de saída.

  • Verifique se o proxy de saída na sua organização tem os seguintes recursos:

    • Inserir cabeçalhos. Insere um cabeçalho HTTP personalizado em solicitações de saída que passam pelo proxy de saída.
    • Inspeção TLS. Se o tráfego para o proxy de saída for criptografado, o proxy de saída precisará descriptografar os pacotes, inserir o cabeçalho e criptografar o pacote novamente antes de enviá-lo ao destino.
    • Filtrar e inserir cabeçalhos. Opcional. Ofereça suporte a um ou mais dos filtros abaixo e adicione o cabeçalho somente para solicitações que correspondam à condição de filtro:

      • URLs de destino: uma lista de URLs de destino que o proxy de saída pode corresponder.
      • IDs dos dispositivos: Uma lista de IDs de dispositivos aos quais o proxy de saída pode corresponder. Os IDs de dispositivos precisam ser propagados para o proxy de saída.
      • User-IDs. Uma lista de IDs de usuário aos quais o proxy de saída pode corresponder. Os IDs do usuário precisam ser propagados para o proxy de saída.

Receber o ID da organização

Como administrador do Google Cloud, você precisa conseguir o ID da organização do Google Cloud para que ele possa ser adicionado ao cabeçalho de restrições para organizações.

Para encontrar o ID do recurso da organização, execute o seguinte comando:

   gcloud organizations list

Esse comando lista todos os recursos da organização a que você pertence e os IDs de recurso da organização correspondentes.

Depois de conseguir o ID da organização, é possível adicionar o cabeçalho restrições para organizações ou interagir com o administrador do proxy de saída para adicionar o cabeçalho.

Adicionar o cabeçalho de restrições para organizações

Como administrador do proxy de saída, para adicionar o cabeçalho restrições para organizações às solicitações de saída, faça o seguinte:

  • Crie o cabeçalho.
  • Codifique o cabeçalho.
  • Configurar o proxy de saída.

Criar o cabeçalho

Crie a representação JSON para o cabeçalho no seguinte formato: X-Goog-Allowed-Resources: HEADER_VALUE

HEADER_VALUE contém uma lista separada por vírgulas de IDs de organizações autorizados do Google Cloud. O valor precisa ser codificado em codificação base64 segura para a Web.

HEADER_VALUE tem a seguinte estrutura JSON:

  {
  "resources": [string,..],
  "options": string
  }
  • resources: uma lista de strings. Cada string da lista precisa se referir a um ID da organização do Google Cloud. Os IDs das organizações nesta lista são considerados organizações autorizadas durante a avaliação.
  • options. Uma string que contém um dos seguintes valores:
    • "strict". Aplica o cabeçalho de restrições para organizações a todos os tipos de solicitação aos serviços compatíveis do Google Cloud.
    • "cloudStorageReadAllowed": permite solicitações de leitura para o Cloud Storage, mas aplica o cabeçalho de restrições para organizações a todos os tipos de solicitação aos serviços compatíveis do Google Cloud. Essa opção permite acesso às seguintes operações de leitura do Cloud Storage:
      • storage.objects.get
      • storage.objects.list
      • storage.objects.getIamPolicy
      • storage.buckets.get
      • storage.buckets.list
      • storage.buckets.getIamPolicy

Para demonstrar essa opção, considere um exemplo em que Alex é o administrador da organização de exemplo e Lee é funcionário dessa organização. Considere um site como altostrat.com que armazena conteúdo estático em buckets públicos do Cloud Storage e está fora da organização de exemplo. Se Alex usar a opção strict para restringir o acesso de Lee apenas à organização de exemplo, Lee não terá acesso ao conteúdo estático em altostrat.com, que existe em buckets públicos do Cloud Storage de propriedade da altostrat.com. Esse comportamento afeta a capacidade de Lee de navegar pelo site de maneira eficaz, e o mesmo comportamento ocorre em qualquer site que use o Cloud Storage público para armazenar conteúdo estático. Para permitir que Lee visualize o conteúdo estático em altostrat.com e restringir todos os outros acessos do Google Cloud apenas à organização de exemplo, Alex usa a opção cloudStorageReadAllowed.

Confira um exemplo de cabeçalho de restrições para organizações válido:

  {
  "resources": ["organizations/1234", "organizations/3456"],
  "options": "strict"
  }

Codificar o cabeçalho

Codifique os IDs das organizações no formato base64 seguro para a Web. A codificação precisa seguir as especificações da Seção 5 do RFC 4648 (em inglês).

Por exemplo, se a representação JSON do valor do cabeçalho estiver armazenada no arquivo authorized_orgs.json, para codificar o arquivo, execute o comando basenc a seguir:

     $ cat authorized_orgs.json | basenc --base64url -w0
ewogInJlc291cmNlcyI6IFsib3JnYW5pemF0aW9ucy8xMjM0NTY3ODkiLCAib3JnYW5pemF0aW9ucy8xMDExMTIxMzE0Il0sCiAib3B0aW9ucyI6ICJzdHJpY3QiCn0K

Confira um exemplo de cabeçalho após a codificação do ID da organização:

// Encoded representation
X-Goog-Allowed-Resources: ewogInJlc291cmNlcyI6IFsib3JnYW5pemF0aW9ucy8xMjM0NTY3ODkiLCAib3JnYW5pemF0aW9ucy8xMDExMTIxMzE0Il0sCiAib3B0aW9ucyI6ICJzdHJpY3QiCn0K

// Plain-text representation (As HTTP disallows some characters, encode the organization ID)
// Plain-text representation is included here only for readability
X-Goog-Allowed-Resources: {"resources": ["organizations/1234", "organizations/3456"], "options": "strict"}

Configurar o proxy de saída

Para inserir o cabeçalho nas solicitações originadas dos dispositivos gerenciados, configure o proxy de saída.

Se um usuário do Google Cloud na organização fornecer explicitamente um cabeçalho HTTP, o proxy de saída vai substituir os valores fornecidos pelo usuário pelos valores informados pelo administrador do Google Cloud.

Para evitar a adição desse cabeçalho a destinos fora do Google Cloud, configure o proxy de saída para adicionar o cabeçalho restrições para organizações a solicitações somente com os destinos a seguir:

  • *.google.com
  • *.googleapis.com
  • *.gcr.io
  • *.pkg.dev
  • *.cloudfunctions.net
  • *.run.app
  • *.tunnel.cloudproxy.app
  • *.datafusion.googleusercontent.com

Para mais informações sobre mensagens de erro que ocorrem devido a violações restrições para organizações, consulte mensagens de erro.

A seguir