OVH Community, votre nouvel espace communautaire.

Listing des fichiers d'un cloud storage static, comment le désactiver?


quentinb
11/01/2016, 23h16
Wow!! Merci énormément pour la réponse rapide et totalement juste.

J'ai juste eu un peu de mal à faire marcher swift car le fichier de config ou bien les paramètres user password ... ne marchaient pas. Donc j'ai généré un token swift dans l'interface ovh, puis j'ai utilisé ta commande avec le token pour se connecter.

Code:
swift --os-auth-token TOKEN --os-storage-url https://storage.gra1.cloud.ovh.net/v1/AUTH_XXX post --header "X-Container-Read: .r:*" moncontainer
j'ai aussi enlever le listing des fichiers par défaut (même en l'absence de fichier index.html):

Code:
swift --os-auth-token TOKEN --os-storage-url https://storage.gra1.cloud.ovh.net/v1/AUTH_XXX post --header "x-container-meta-web-listings: false" moncontainer

quentinb
11/01/2016, 23h00
Wow!! Merci énormément pour la réponse rapide et totalement juste.

J'ai juste eu un peu de mal à faire marcher swift car le fichier de config ou bien les paramètres user password ... ne marchaient pas. Donc j'ai généré un token swift dans l'interface ovh, puis j'ai utilisé ta commande avec le token pour se connecter.

Code:
swift --os-auth-token TOKEN --os-storage-url https://storage.gra1.cloud.ovh.net/v1/AUTH_XXX post --header "X-Container-Read: .r:*" moncontainer
j'ai aussi enlever le listing des fichiers par défaut (même en l'absence de fichier index.html):

Code:
swift --os-auth-token TOKEN --os-storage-url https://storage.gra1.cloud.ovh.net/v1/AUTH_XXX post --header "x-container-meta-web-listings: false" moncontainer

gambiit
11/01/2016, 16h45
Bonjour,

Vous devez modifiez la configuration du container. Ovh fournit trois templates par défaut : public, private, www. public et private sont accessible dans le manager v6 et horizon. www est uniquement accessible dans le manager v6.
Après, il y l'api openstack et le client swift pour manipuler les containers et faire à peu près ce qu'on veut.
Par exemple voilà le template www d'ovh configuré sur moncontainer par le manager v6 :
Code:
$swift stat moncontainer
       Account: AUTH_XXXXXXXXXXXXXXXXXXXXX
     Container: radio
       Objects: XX
         Bytes: XXXXXXXX
      Read ACL: .r:*,.rlistings
     Write ACL:
       Sync To:
      Sync Key:
Meta Web-Listings: true
Meta Web-Error: error.html
Meta Web-Listings-Css: listing.css
Meta Access-Control-Allow-Origin: https://www.ovh.com
Meta Web-Index: index.html
X-Storage-Policy: Policy-0
    Connection: close
   X-Timestamp: 1449351655.83579
    X-Trans-Id: XXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXX
  Content-Type: text/plain; charset=utf-8
 Accept-Ranges: bytes
On constate que la directive .rlistings dans le champs Read ACL donne la permission de lire l'index du container
Pour supprimer l'accès à la liste xml, il faut modifier la directive .rlistings :
Code:
$ swift post --header "X-Container-Read: .r:*" moncontainer

quentinb
11/01/2016, 12h21
Bonjour,

J'ai créé un container d'objets static. Cependant lorsque l'on accède à la racine du container (l'url publique) apparait un document xml qui liste tout les fichiers du container (aucun fichier xml n'est dans mon container évidement).
Le fichier index.html n'est pas afficher automatiquement.

Cela provoque évidement des problèmes de sécurité étant donnée que j'aimerais utiliser ce container avec des objects dont l'url est aléatoire afin de partager des fichiers de manière sécuriser (je ne veux pas d'url temporaire).

J'aimerais donc empêcher cette information de s'afficher.
Merci pour votre aide.