Browse Source

update doc about internal requests

Olivier Massot 1 năm trước cách đây
mục cha
commit
d1c3f270e2
1 tập tin đã thay đổi với 10 bổ sung9 xóa
  1. 10 9
      doc/internal_requests.md

+ 10 - 9
doc/internal_requests.md

@@ -12,15 +12,15 @@ de commande ou lors d'un processus asynchrone exécuté par messenger.
 Pour éviter tout risque de sécurité lié à ces routes :
 Pour éviter tout risque de sécurité lié à ces routes :
 
 
 * on restreint leur accès aux ips internes
 * on restreint leur accès aux ips internes
-* on conditionne l'autorisation à la présence d'un token ou à une authentification en tant que super-admin.
+* on conditionne l'autorisation soit à la présence d'un token, soit à une authentification en tant que super-admin.
 * on limite les routes concernées
 * on limite les routes concernées
 
 
-Ainsi, si l'on prend l'exemple d'une requête `/internal/download/123` sur ap2i :
+Ainsi, si l'on prend l'exemple d'une requête `/internal/download/123` envoyée à ap2i :
 
 
-* Un utilisateur dans le VPN sans le token qui ferait un curl à cette adresse recevra une erreur 403
+* Un utilisateur dans le VPN sans le token qui ferait un CURL à cette adresse recevra une erreur 403
 * Un utilisateur hors VPN, même s'il connaissait le token, recevra une erreur 403, car n'ayant pas une ip autorisée
 * Un utilisateur hors VPN, même s'il connaissait le token, recevra une erreur 403, car n'ayant pas une ip autorisée
 * Une requête issue de la V1 avec le bon token et provenant d'une ip interne sera autorisée sans authentification
 * Une requête issue de la V1 avec le bon token et provenant d'une ip interne sera autorisée sans authentification
-
+* Une requête d'un utilisateur connecté en tant que super admin et à l'intérieur du VPN pourra aussi aboutir.
 ### Ip internes 
 ### Ip internes 
 
 
 Les ips considérées comme interne sont :
 Les ips considérées comme interne sont :
@@ -36,13 +36,14 @@ Les ips considérées comme interne sont :
 
 
 ### Mise en oeuvre
 ### Mise en oeuvre
 
 
-On met en place un pattern de routes de la forme `/api/internal/*` qui sera uniquement dédié aux requêtes internes entre
-les deux API ou à d'autres éventuels échanges entre systèmes.
+On met en place un pattern de routes de la forme `/api/internal/*` qui sera uniquement dédié aux requêtes internes 
+entre les services opentalent.
 
 
 Les appels à cette route ne sont autorisés que si :
 Les appels à cette route ne sont autorisés que si :
 
 
 1. Que l'ip du client dont émet la requête fait partie d'un pool autorisé d'ips internes
 1. Que l'ip du client dont émet la requête fait partie d'un pool autorisé d'ips internes
-2. Qu'un header 'internal-requests-token' est défini et que sa valeur correspond à la valeur attendue.
+2. Qu'un header 'internal-requests-token' est défini et que sa valeur correspond à la valeur attendue OU que 
+   l'utilisateur est connecté en tant que super-admin.
 
 
 Si ces deux conditions ne sont pas remplies, la requête est rejetée, et ce même si l'utilisateur est authentifié.
 Si ces deux conditions ne sont pas remplies, la requête est rejetée, et ce même si l'utilisateur est authentifié.
 
 
@@ -52,13 +53,13 @@ Les routes internal sont configurées ici : `config/packages/security.yaml`
 
 
 ### Valider le fonctionnement
 ### Valider le fonctionnement
 
 
-Soit `$id` l'id d'un fichier stocké sur l'environnement V2
+Exemple avec la route dédié au téléchargement des fichiers, `$id` étant l'id d'un fichier stocké sur l'environnement V2.
 On part du principe que l'utilisateur authentifié a des droits suffisants pour voir ce fichier.
 On part du principe que l'utilisateur authentifié a des droits suffisants pour voir ce fichier.
 
 
 
 
 Côté ap2i, les requêtes suivantes doivent donner les résultats correspondants :
 Côté ap2i, les requêtes suivantes doivent donner les résultats correspondants :
 
 
-| query                      | header défini | authentifié | VPN activé | Résultat attendu |
+| query                      | header défini | super-admin | VPN activé | Résultat attendu |
 |----------------------------|---------------|-------------|------------|------------------|
 |----------------------------|---------------|-------------|------------|------------------|
 | /api/internal/download/$id | NON           | NON         | NON        | 401 Unauthorized |
 | /api/internal/download/$id | NON           | NON         | NON        | 401 Unauthorized |
 | /api/internal/download/$id | OUI           | NON         | NON        | 401 Unauthorized |
 | /api/internal/download/$id | OUI           | NON         | NON        | 401 Unauthorized |