Configura restricciones para organizaciones

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

Administradores de Google Cloud, que administran Google Cloud, y administradores de 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 que se validan con restricciones de la organización, consulta Soluciones de socios validadas.

Antes de comenzar

Si eres administrador de proxy de salida, antes de configurarlo para agregar el encabezado de restricciones de la organización, debes completar los siguientes requisitos previos:

  • Si los roles 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 trabaje con el administrador de proxy de salida para configurarlo.

  • 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 tu organización pase el proxy de salida.

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

    • Inserta encabezados. Inserta un encabezado HTTP personalizado en 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 encriptarlos antes de enviarlos al destino.
    • Filtra e 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. Una lista de las URLs de destino con las que puede hacer coincidir el proxy de salida.
      • IDs de dispositivos. Una lista de los IDs de dispositivos con los que puede hacer coincidir el proxy de salida. Los IDs de los dispositivos deben propagarse al proxy de salida.
      • IDs de usuario: Una lista de los IDs de usuario con los que puede hacer coincidir el proxy de salida. El usuario Los IDs 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 de la organización.

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

   gcloud organizations list

Con este comando, se muestra una lista de todos los recursos de la organización a los que perteneces y sus ID correspondientes.

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

Agrega el encabezado de restricciones para organizaciones

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

  • Crea el encabezado.
  • Encodificación del encabezado
  • Configura 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 IDs de organización de Google Cloud autorizados. Luego, el valor se debe codificar en codificación web segura de base64.

HEADER_VALUE tiene la siguiente estructura JSON:

  {
  "resources": [string,..],
  "options": string
  }
  • resources: Es una lista de cadenas. Cada cadena de esta lista debe hacer referencia a un bucket de Google Cloud el ID de la organización. Los IDs 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 a todos los tipos de solicitudes a los servicios de Google Cloud admitidos.
    • "cloudStorageReadAllowed" Permite solicitudes de lectura a Cloud Storage, pero Aplica de manera forzosa el encabezado de restricciones para organizaciones para todos los tipos de solicitudes al 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, consideremos un ejemplo en el que Alejandro es el administrador. de Organización de ejemplo y Lee es 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 Lee no tiene acceso al contenido estático en altostrat.com, que existe en público Buckets de Cloud Storage que son propiedad de altostrat.com. Este comportamiento afecta la la capacidad de navegar por el sitio web de forma eficaz y se experimenta el mismo comportamiento para cualquier sitio web que use Cloud Storage público para almacenar contenido estático. Para permitir que Lee vea el contenido estático en altostrat.com y restrinja todo el resto del acceso a Google Cloud solo a la organización de ejemplo, Alex usa la opción cloudStorageReadAllowed.

Este es un ejemplo de un encabezado de restricciones de organización válido:

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

Cómo codificar el encabezado

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

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

     $ 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 las solicitudes que se originan en los dispositivos administrados, configura el proxy de salida.

Si un usuario de Google Cloud de tu organización proporciona un encabezado HTTP de forma explícita 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 para 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 información sobre los mensajes de error que ocurren debido a restricciones para organizaciones incumplimientos, consulte los mensajes de error.

¿Qué sigue?