Configure restrições para organizações

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

OsGoogle Cloud administradores, que administram Google Cloud, e os administradores do proxy de saída que configuram o proxy de saída têm de trabalhar em conjunto para configurar as restrições da organização. Para ver informações sobre soluções de parceiros validadas com restrições da organização, consulte o artigo Soluções de parceiros validadas.

Antes de começar

Se for um administrador de proxy de saída, antes de configurar o proxy de saída para adicionar o cabeçalho de restrições da organização, tem de cumprir os seguintes pré-requisitos:

  • Se as funções de administrador Google Cloud e administrador do proxy de saída forem diferentes na sua organização, certifique-se de que o administrador Google Cloud interage com o administrador do proxy de saída para configurar o proxy de saída.

  • Configure as regras da firewall da sua organização ou configure os dispositivos geridos para garantir que o tráfego de saída de todos os utilizadores da sua organização passa pelo proxy de saída.

  • Certifique-se de que o proxy de saída na sua organização tem as seguintes funcionalidades:

    • Inserir cabeçalhos. Insere um cabeçalho HTTP personalizado em pedidos de saída que atravessam o proxy de saída.
    • Inspeção TLS. Se o tráfego para o proxy de saída estiver encriptado, o proxy de saída tem de desencriptar os pacotes, inserir o cabeçalho e voltar a encriptar o pacote antes de o enviar para o destino.
    • Filtre e insira cabeçalhos. Opcional. Suporte um ou mais dos seguintes filtros e, em seguida, adicione o cabeçalho apenas para pedidos que correspondam à condição do 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 com os quais o proxy de saída pode estabelecer correspondência. Os IDs dos dispositivos têm de ser propagados para o proxy de saída.
      • User-IDs. Uma lista de IDs de utilizadores que o proxy de saída pode corresponder. Os IDs dos utilizadores têm de ser propagados para o proxy de saída.

Obtenha o ID da organização

Como Google Cloud administrador, tem de obter o Google Cloud ID da organização para que 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

Este comando apresenta todos os recursos da organização aos quais pertence e os respetivos IDs dos recursos da organização.

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

Adicione o cabeçalho de restrições da organização

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

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

Crie 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 Google Cloud autorizados. O valor tem de ser codificado na 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 nesta lista tem de referir-se a um Google Cloud ID da organização. 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 pedidos para os serviços Google Cloud compatíveis.
    • "cloudStorageReadAllowed". Permite pedidos de leitura ao Cloud Storage, mas aplica o cabeçalho de restrições da organização a todos os outros tipos de pedidos aos serviços suportados Google Cloud . Esta opção permite o 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 esta opção, considere um exemplo em que o Alex é o administrador da organização de exemplo e o Lee é um funcionário desta organização. Considere um Website, como altostrat.com, que armazena conteúdo estático em contentores públicos do Cloud Storage e está fora da organização de exemplo. Se o Alex usar a opção strict para restringir o acesso do Lee apenas à organização de exemplo, o acesso do Lee é recusado ao conteúdo estático em altostrat.com, que existe em contentores do Cloud Storage públicos pertencentes a altostrat.com. Este comportamento afeta a capacidade do Lee de navegar no Website de forma eficaz, e o mesmo comportamento é verificado para qualquer Website que use o Cloud Storage público para armazenar conteúdo estático. Para permitir que o Lee veja o conteúdo estático em altostrat.com e restringir todo o outro Google Cloud acesso apenas à organização de exemplo, o Alex usa a opção cloudStorageReadAllowed.

Segue-se um exemplo de um cabeçalho de restrições para organizações válido:

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

Codifique o cabeçalho

Codifique os IDs das organizações no formato base64 seguro para a Web. A codificação tem de seguir as especificações da secção 5 da RFC 4648.

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

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

Segue-se um exemplo do 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"}

Configure o proxy de saída

Para inserir o cabeçalho em pedidos provenientes dos dispositivos geridos, configure o proxy de saída.

Certifique-se de que, se um Google Cloud utilizador na sua organização fornecer explicitamente um cabeçalho HTTP, o proxy de saída substitui os valores fornecidos pelo utilizador pelos valores fornecidos pelo Google Cloud administrador.

Para evitar adicionar este cabeçalho a segmentações fora de Google Cloud, configure o proxy de saída para adicionar o cabeçalho de restrições da organização apenas a pedidos com as seguintes segmentações:

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

Para obter informações sobre as mensagens de erro que ocorrem devido a violações das restrições da organização, consulte as mensagens de erro.

O que se segue?