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.
Los administradores deGoogle Cloud , que administran Google Cloud, y los administradores de proxy de salida que configuran este tipo de proxy deben trabajar juntos para configurar las restricciones de la organización. 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 Google Cloud administrador y administrador de proxy de salida son diferentes en tu organización, asegúrate de que el Google Cloud administrador interactúe con el administrador de proxy de salida para configurarlo.
Configura las reglas de firewall de tu organización o los dispositivos administrados para asegurarte de que el tráfico saliente de todos los usuarios de tu organización pase por 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:
- URLs de destino: Es una lista de URLs de destino con las que puede coincidir el proxy de salida.
- IDs de dispositivos: Es una lista de IDs de dispositivos que puede coincidir con el proxy de salida. Los IDs de los dispositivos deben propagarse al proxy de salida.
- IDs de usuario: Es una lista de IDs de usuario que puede coincidir con el proxy de salida. Los IDs de usuario deben propagarse al proxy de salida.
Obtén el ID de la organización
Como Google Cloud administrador, debes obtener el ID de la Google Cloud organización para que se pueda agregar al encabezado de restricciones de la organización.
Para encontrar el ID de tu recurso de 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 el encabezado de restricciones de la organización o comunicarte con el administrador de proxy de salida para que lo agregue.
Agrega el encabezado de restricciones de la organización
Como administrador de proxy de salida, para agregar el encabezado de restricciones de la organización 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 del 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 Google Cloudautorizados. 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 ID de organización Google Cloud. 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 de la organización para todos los tipos de solicitudes a los servicios Google Cloud compatibles."cloudStorageReadAllowed"
: Permite solicitudes de lectura a Cloud Storage, pero aplica el encabezado de restricciones de la organización para todos los tipos de solicitudes a los servicios 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 la 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 la Organización de ejemplo, se le niega el acceso al contenido estático en altostrat.com, que existe en buckets públicos de Cloud Storage que pertenecen a altostrat.com. Este comportamiento afecta la capacidad de Lee para explorar el sitio web de manera eficaz, y se experimenta el mismo comportamiento en 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 otro Google Cloud acceso 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 la 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 del valor del encabezado se almacena en el archivo authorized_orgs.json
, para codificarlo, ejecuta el siguiente 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.
Asegúrate de que, si un Google Cloud usuario de tu organización proporciona explícitamente un encabezado HTTP, el proxy de salida anule los valores proporcionados por el usuario con los valores que proporcionó el Google Cloud administrador.
Para evitar agregar este encabezado a objetivos fuera de Google Cloud, configura el proxy de salida para que agregue el encabezado de restricciones de la organización a las solicitudes solo con los siguientes objetivos:
*.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 se producen debido a incumplimientos de las restricciones de la organización, consulta Mensajes de error.
¿Qué sigue?
- Obtén más información para usar restricciones de la organización.