Configura restricciones para organizaciones

En esta página, se describen los requisitos para la configuración del proxy de salida, cómo obtener el ID de la organización, cómo agregar el encabezado de restricciones para organizaciones y cómo configurar el proxy con la lista de URL de destino.

Los administradores de Google Cloud, que administran Google Cloud, y los administradores del proxy de salida que configuran el proxy de salida deben trabajar juntos para configurar las restricciones para organizaciones. Para obtener información sobre las soluciones de socios validadas con restricciones para organizaciones, consulta Soluciones de socios validadas.

Antes de comenzar

Si eres un administrador del proxy de salida, antes de configurar el proxy de salida para agregar el encabezado de restricciones para organizaciones, debes completar los siguientes requisitos previos:

  • Si las funciones de administrador de Google Cloud y de administrador de proxy de salida son diferentes en tu organización, asegúrate de que el administrador de Google Cloud interactúe con el administrador del proxy de salida para configurar el proxy de salida.

  • Configura las reglas de firewall de tu organización o configura los dispositivos administrados para asegurarte de que el tráfico saliente de todos los usuarios de la organización pase a través del proxy de salida.

  • Asegúrate de que el proxy de salida en tu organización tenga las siguientes funciones:

    • Inserta encabezados. Inserta un encabezado HTTP personalizado para las solicitudes salientes que atraviesan el proxy de salida.
    • Inspección de TLS. Si el tráfico al proxy de salida está encriptado, este debe desencriptar los paquetes, insertar el encabezado y volver a encriptar el paquete antes de enviarlo al destino.
    • Filtra y, luego, inserta encabezados. Opcional. Admite uno o más de los siguientes filtros y, luego, agrega el encabezado solo para las solicitudes que coincidan con la condición del filtro:

      • URL de destino: Es una lista de las URLs de destino con las que el proxy de salida puede coincidir.
      • IDs de dispositivos. Una lista de IDs de dispositivos con los que el proxy de salida puede coincidir. Los IDs de dispositivo deben propagarse al proxy de salida.
      • IDs de usuario. Una lista de IDs de usuario con los que el proxy de salida puede coincidir. Los ID de usuario deben propagarse al proxy de salida.

Obtén el ID de la organización

Como administrador de Google Cloud, debes obtener el ID de la organización de Google Cloud para que se pueda agregar al encabezado de restricciones para organizaciones.

Para encontrar el ID del recurso de la organización, ejecuta el siguiente comando:

   gcloud organizations list

Mediante este comando, se enumeran todos los recursos de la organización a los que perteneces y sus IDs de recursos de la organización correspondientes.

Después de obtener el ID de la organización, puedes agregar el encabezado de restricciones para organizaciones o comunicarte con el administrador del proxy de salida para agregarlo.

Agrega el encabezado de restricciones para organizaciones

Como administrador de proxy de salida, para agregar el encabezado de restricciones para organizaciones a las solicitudes salientes, haz lo siguiente:

  • Crea el encabezado.
  • Codifica el encabezado.
  • Configurar el proxy de salida

Crea el encabezado

Crea la representación JSON para el encabezado en el siguiente formato: X-Goog-Allowed-Resources: HEADER_VALUE

HEADER_VALUE contiene una lista separada por comas de los ID de las organizaciones autorizadas de Google Cloud. El valor se debe codificar con la codificación base64 segura para la Web.

HEADER_VALUE tiene la siguiente estructura JSON:

  {
  "resources": [string,..],
  "options": string
  }
  • resources: Es una lista de strings. Cada string de esta lista debe hacer referencia a un ID de la organización de Google Cloud. Los ID de organización de esta lista se consideran organizaciones autorizadas durante la evaluación.
  • options. Es una cadena que contiene uno de los siguientes valores:
    • "strict". Aplica el encabezado de restricciones para organizaciones para todos los tipos de solicitud a los servicios de Google Cloud compatibles.
    • "cloudStorageReadAllowed": Permite las solicitudes de lectura a Cloud Storage, pero aplica el encabezado de restricciones para organizaciones para todos los tipos de solicitudes a los servicios de Google Cloud compatibles. Esta opción permite el acceso a las siguientes operaciones de lectura de Cloud Storage:
      • storage.objects.get
      • storage.objects.list
      • storage.objects.getIamPolicy
      • storage.buckets.get
      • storage.buckets.list
      • storage.buckets.getIamPolicy

Para demostrar esta opción, considera un ejemplo en el que Alex es el administrador de Organización de ejemplo y Lee es un empleado de esta organización. Considera un sitio web, como altostrat.com, que almacena contenido estático en buckets públicos de Cloud Storage y está fuera de la organización de ejemplo. Si Alex usa la opción strict para restringir el acceso de Lee solo a Organización de ejemplo, le niega el acceso a contenido estático en altostrat.com, que existe en buckets públicos de Cloud Storage que son propiedad de altostrat.com. Este comportamiento afecta la capacidad de Lee para navegar por el sitio web de manera efectiva y se experimenta el mismo comportamiento para cualquier sitio web que use Cloud Storage público a fin de almacenar contenido estático. Para permitir que Lee vea el contenido estático en altostrat.com y restrinja el resto del acceso de Google Cloud solo a Organización de ejemplo, Alex usa la opción cloudStorageReadAllowed.

Este es un ejemplo de un encabezado de restricciones para organizaciones válido:

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

Codifica el encabezado

Codifica los IDs de la organización en formato base64 seguro para la Web. La codificación debe seguir las especificaciones de la sección 5 de RFC 4648.

Por ejemplo, si la representación JSON del valor del encabezado se almacena en el archivo authorized_orgs.json, ejecuta el siguiente comando basenc para codificar el archivo:

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

Este es un encabezado de ejemplo después de codificar el ID de la organización:

// 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"}

Configura el proxy de salida

Para insertar el encabezado en solicitudes que se originan en los dispositivos administrados, configura el proxy de salida.

Asegúrate de que si un usuario de Google Cloud en tu organización proporciona de forma explícita un encabezado HTTP, el proxy de salida anula los valores proporcionados por el usuario con los valores que proporciona el administrador de Google Cloud.

Para evitar agregar este encabezado a destinos fuera de Google Cloud, configura el proxy de salida a fin de agregar el encabezado de restricciones para organizaciones a las solicitudes solo con los siguientes destinos:

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

Para obtener más información sobre los mensajes de error que se producen debido a incumplimientos de restricciones para organizaciones, consulta los mensajes de error.

¿Qué sigue?