Cette page décrit les conditions préalables à la configuration du proxy de sortie, comment obtenir l'ID de l'organisation, ajouter l'en-tête de restrictions de l'organisation et configurer le proxy avec la liste des URL cibles.
Les administrateurs Google Cloud, qui gèrent ce service, et les administrateurs du proxy de sortie, chargés de configurer ce dernier, doivent collaborer pour configurer les restrictions au niveau de l'organisation. Pour en savoir plus sur les solutions partenaires et validées avec des restrictions sur les organisations, consultez la page Solutions partenaires validées.
Avant de commencer
Si vous êtes administrateur du proxy de sortie, vous devez remplir les conditions préalables suivantes avant de configurer le proxy de sortie pour ajouter l'en-tête de restrictions sur les organisations :
Si les rôles d'administrateur Google Cloud et d'administrateur du proxy de sortie sont différents dans votre organisation, assurez-vous que l'administrateur Google Cloud interagit avec et configurer le proxy de sortie.
Configurez les règles de pare-feu de votre organisation ou les appareils gérés pour vous assurer que le trafic sortant de tous les utilisateurs de votre organisation passe par le proxy de sortie.
Assurez-vous que le proxy de sortie de votre organisation dispose des fonctionnalités suivantes :
- Insérez des en-têtes. Insère un en-tête HTTP personnalisé dans les requêtes sortantes qui transitent par le proxy de sortie.
- Inspection TLS Si le trafic vers le proxy de sortie est chiffré, le proxy de sortie doit déchiffrer les paquets, insérer l'en-tête et rechiffrer le paquet avant en l'envoyant à la cible.
Filtrer et insérer des en-têtes Facultatif. Assurer la compatibilité avec un ou plusieurs des éléments suivants filtres, puis n'ajoutez l'en-tête que pour les requêtes correspondant à la condition de filtre:
- URL cibles : liste des URL cibles que le proxy de sortie peut faire correspondre.
- ID de l'appareil Liste des ID d'appareils auxquels le proxy de sortie peut correspondre. Les ID des appareils doivent être transmis au proxy de sortie.
- User-ID. Liste des ID utilisateur auxquels le proxy de sortie peut correspondre. Les ID utilisateur doivent être propagés au proxy de sortie.
Obtenir l'ID de l'organisation
En tant qu'administrateur Google Cloud, vous devez obtenir afin de pouvoir l'ajouter à l'en-tête des restrictions sur les organisations.
Pour trouver l'ID de ressource de votre organisation, exécutez la commande suivante:
gcloud organizations list
Cette commande liste toutes les ressources de l'organisation auxquelles vous appartenez, ainsi que leurs les ID de ressource d'organisation correspondants.
Une fois que vous avez obtenu l'ID de l'organisation, vous pouvez ajouter l'en-tête de restrictions sur les organisations ou demander à l'administrateur du proxy de sortie de l'ajouter.
Ajouter l'en-tête des restrictions de l'organisation
En tant qu'administrateur du proxy de sortie, procédez comme suit pour ajouter l'en-tête "Restrictions sur les organisations" aux requêtes sortantes:
- Créez l'en-tête.
- Encodez l'en-tête.
- Configurez le proxy de sortie.
Créer l'en-tête
Créez la représentation JSON de l'en-tête au format suivant :
X-Goog-Allowed-Resources: HEADER_VALUE
HEADER_VALUE
contient une liste de fichiers Google Cloud autorisés séparés par une virgule.
les ID d'organisations. La valeur doit ensuite être encodée au format base64 adapté au Web.
HEADER_VALUE
présente la structure JSON suivante :
{
"resources": [string,..],
"options": string
}
resources
Liste de chaînes. Chaque chaîne de cette liste doit faire référence à un ID d'organisation. Les ID d'organisation de cette liste sont considérés comme des organisations autorisées lors de l'évaluation.options
Chaîne contenant l'une des valeurs suivantes:"strict"
: applique l'en-tête de restrictions sur les organisations pour tous les types de requêtes envoyées aux services Google Cloud compatibles."cloudStorageReadAllowed"
Autorise les requêtes de lecture vers Cloud Storage, applique l'en-tête de restrictions sur les organisations pour tous les types de requêtes services Google Cloud compatibles. Cette option autorise l'accès aux opérations de lecture Cloud Storage suivantes :storage.objects.get
storage.objects.list
storage.objects.getIamPolicy
storage.buckets.get
storage.buckets.list
storage.buckets.getIamPolicy
Pour illustrer cette option, prenons l'exemple d'Alex, qui est l'administrateur de l'organisation Exemple et de Lee, qui est un employé de cette organisation. Envisagez d'utiliser
Un site Web, tel qu'altostrat.com, qui stocke du contenu statique dans un bucket Cloud Storage public
et se trouvant en dehors de l'organisation exemple. Si Alex utilise l'option strict
pour limiter l'accès de Lee uniquement à l'organisation Exemple, Lee n'a pas accès au contenu statique d'altostrat.com, qui se trouve dans des buckets Cloud Storage publics appartenant à altostrat.com. Ce comportement affecte la capacité de Lee à parcourir efficacement le site Web, et le même comportement est observé pour tout site Web qui utilise Cloud Storage public pour stocker du contenu statique.
Pour permettre à Lee d'afficher le contenu statique sur altostrat.com et de limiter tous les autres accès Google Cloud à Example Organization, Alex utilise l'option cloudStorageReadAllowed
.
Voici un exemple d'en-tête de restrictions sur les organisations valide:
{
"resources": ["organizations/1234", "organizations/3456"],
"options": "strict"
}
Encoder l'en-tête
Encodez les ID d'organisation au format base64 Web sécurisé. Le codage doit respecter les Spécifications RFC 4648, section 5
Par exemple, si la représentation JSON de la valeur d'en-tête est stockée dans le fichier authorized_orgs.json
, pour encoder le fichier, exécutez la commande basenc suivante :
$ cat authorized_orgs.json | basenc --base64url -w0
ewogInJlc291cmNlcyI6IFsib3JnYW5pemF0aW9ucy8xMjM0NTY3ODkiLCAib3JnYW5pemF0aW9ucy8xMDExMTIxMzE0Il0sCiAib3B0aW9ucyI6ICJzdHJpY3QiCn0K
Voici un exemple d'en-tête après l'encodage de l'ID de l'organisation:
// 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"}
Configurer le proxy de sortie
Pour insérer l'en-tête dans les requêtes provenant des appareils gérés, configurez le proxy de sortie.
Assurez-vous que si un utilisateur Google Cloud de votre organisation fournit explicitement un en-tête HTTP, le proxy de sortie remplace les valeurs fournies par l'utilisateur par celles fournies par l'administrateur Google Cloud.
Pour éviter d'ajouter cet en-tête à des cibles situées en dehors de Google Cloud, configurez l'en-tête de sortie pour ajouter l'en-tête de restrictions sur les organisations aux requêtes ciblant les cibles suivantes uniquement:
*.google.com
*.googleapis.com
*.gcr.io
*.pkg.dev
*.cloudfunctions.net
*.run.app
*.tunnel.cloudproxy.app
*.datafusion.googleusercontent.com
Pour en savoir plus sur les messages d'erreur générés en raison de restrictions sur les organisations les cas de non-respect des règles, consultez les messages d'erreur.
Étape suivante
- En savoir plus sur l'utilisation des restrictions sur les organisations