Public Cloud OVHcloud - Object Storage - Droits d'accès
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
Frage

Object Storage - Droits d'accès

Von
JeremyH4
Erstellungsdatum 2019-12-03 08:50:32 (edited on 2024-09-04 11:31:32) in Public Cloud OVHcloud

Bonjour à tous,

J'aimerais utiliser l'object storage pour plusieurs projets, pour l'utiliser comme espace de stockage comme le guide ci-dessous, à part que ce ne serait pas pour owncloud.
https://docs.ovh.com/fr/public-cloud/configurer-owncloud-avec-lobject-storage/

Dand le guide il est indiqué de télécharger le fichier "openrc.sh" et dans l'interface de spécifier le mot de passe du compte Horizon, le problème c'est que on ne peut pas gérer finement les droits pour la connexion à swift.

Ce que j'aimerais se serait de pouvoir créer un utilisateur par application et par container Object Storage pour éviter que si un des serveurs est piraté que l'accès à l'object storage reste limité à l'application et pas que l'attaquant puisse avoir à tous les containers.

Voyez-vous un moyen via l'API switch de gérer des clés ou des utilisateurs par container ?

D'avance merci


1 Antwort ( Latest reply on 2019-12-15 18:24:28 Von
JeremyH4
)


En suivant plusieurs autres topics et en suivant la doc Openstack de swift, j'ai finalement réussi à trouver une solution, la voici:

**Prérequis**
Installer le client openstack et le client swift

**Configuration du container et des utilisateurs**
J'ai créé un container dans mon projet principal avec le nom "container-test" ainsi qu'un utilisateur Horizon qui a le droit de créer des container.
Dans un deuxième projet j'ai créé un utilisateur qui n'a droit à rien faire, il a reçu par exemple le nom "Uiefdf" (il faut le créer dans un deuxième projet car les utilisateurs d'un projet on toujours le droit en accès aux container du projet)

Via l'interface d'OVH il faut télécharger le fichier openrc.sh des deux utilisateurs que j'ai nommé en
user1-openrc.sh
user2-openrc.sh

**Donner droit en lecture et écriture**

Via la ligne de commande il faut lancer les commandes suivantes:
source user1-openrc.sh
swift post --read-acl "*:Uiefdf" --write-acl "*:Uiefdf" container-test

Cela donne à l'utilisateur Uiefdf le droit en lecture et écriture sur le container container-test

Pour récupérer l'url du container-test, on peut lancer la commande:
./swift auth
et prendre la valeur de OS_STORAGE_URL

**Accéder au container avec l'utilisateur "Uiefdf"**
On peut tester en ligne de commande via les commandes:
source user2-openrc.sh

* Lister les fichiers:
`./swift --os-storage-url="" list container-test`

* Créer un fichier
touch fichier
/swift --os-storage-url="" upload container-test fichier

En espérant que ceci puisse être utile à d'autres personnes.

Voici deux autres postes qui peuvent aider:
* https://community.ovhcloud.com/community/fr/acl-keystone-sur-ovh-cloud-archive?id=community_question&sys_id=9660b100355a82d0f078b41a47e1f015
* https://community.ovhcloud.com/community/fr/gestion-des-permissions?id=community_question&sys_id=7174b90ce59286d02d4c0165b3e7663c