Tester et valider

Cette page présente certains des tests qui peuvent être effectués directement à partir d'instances de machine virtuelle membres des groupes dynamiques configurés. RCLONE et OCIFS doivent être testés de la même manière, à l'aide de diverses commandes qui testent l'accès en lecture et en écriture.

Test RCLONE

Dans le cadre de cet effort, la règle de conservation sur le bucket est enlevée pendant une partie du temps, de sorte que nous puissions tester entièrement la capacité de rclone à lire et à écrire dans un bucket.

Une fois le test terminé, la règle peut être rétablie et verrouillée. Pour effectuer le test, vous devez commencer par un groupe dynamique doté des droits d'accès de lecture de bucket et de lecture d'objet sur tous les buckets du compartiment contenant le bucket d'archive.

Pour afficher une RCLONE distante configurée, exécutez la commande suivante :
OS prompt> rclone config show [OCI-IP]
type = oracleobjectstorage
provider = instance_principal_auth
namespace = <tenancy-namespace>
compartment = ocid1.compartment.oc1..xxx
region = us-ashburn-1
Toutes les commandes suivantes requièrent OCI-IP pour faire référence à notre environnement de stockage d'objets configuré et à nos informations d'identification. Pour synchroniser (copier ou mettre à jour) un fichier vers un bucket, ce dernier a été pré-créé à l'aide de la console OCI, car notre ensemble de droits d'accès restreint n'inclut pas la création ou la suppression de bucket. Le bloc suivant affiche l'opération de synchronisation, suivie d'une liste de buckets.
OS prompt> rclone sync rclone-test.txt OCI-IP:rclone-testing
OS prompt> rclone ls OCI-IP:rclone-testing 
 33 rclone-test.txt

La suppression de fichiers peut également être testée. Suivez la documentation RCLONE pour toutes les options disponibles, telles que le filtrage.

OS prompt> rclone delete OCI-IP:rclone-testing/rclone-test.txt

Modifications de règle

En règle générale, RCLONE revient simplement à l'invite si l'opération réussit, mais un message d'erreur s'affiche si les autorisations pour une opération particulière sont manquantes. Par exemple, si une tentative de suppression d'un bucket est effectuée, compte tenu des droits d'accès précédemment définis, l'action échoue avec le message suivant :
OS prompt> rclone purge OCI-IP:rclone-testing
2024/08/29 14:36:15 ERROR : : Failed to rmdir: Error returned by ObjectStorage Service. Http Status Code: 404. Error Code: BucketNotFound. Opc request id: iad-1:xxx. Message: Either the bucket named 'rclone-testing' does not exist in the namespace '<namespace>' or you are not authorized to access it
Operation Name: DeleteBucket
Comme mentionné précédemment, les instructions de stratégie qui ont été définies pour le groupe dynamique peuvent être modifiées si nécessaire. Par exemple, pour autoriser la création ou la suppression de buckets, vous pouvez ajouter l'instruction suivante :
allow dynamic-group oci-rclone-full-dg to manage buckets in compartment cis-landing-top:app-cmp where ANY {target.bucket.name =
    'rclone-testing'}
Après avoir ajouté cette instruction de stratégie, l'opération précédente peut faire l'objet d'une nouvelle tentative et le bucket est supprimé.

Il est utile de garder un navigateur ouvert pour l'écran OCI Object Storage et d'actualiser la page sur un bucket afin que chaque opération puisse être vérifiée.

Test OCIFS

A l'aide des exemples fournis dans la section précédente, l'utilitaire OCIFS a été testé de différentes manières. Une fois que le groupe dynamique et la stratégie fonctionnent comme prévu, il est possible de modifier les stratégies et de voir rapidement les résultats changer à mesure que les droits d'accès sont modifiés.

Il est recommandé de démonter les systèmes de fichiers OCIFS dans le cadre du test des modifications de droits d'accès. La documentation fournit la syntaxe de démontage.

La mise en cache fournie par OCIFS est également disponible et a été testée dans le cadre de la solution. Il existe plusieurs options décrites, dont l'une fonctionnera avec la solution.

Remarques :

L'utilisation du montage automatique peut affecter la mise en cache OCIFS, car elle enlève le cache, sauf si les options cache-reuse et cache-keep sont utilisées.

L'exemple suivant illustre la création d'un point de montage et la connexion à un bucket à l'aide d'OCIFS :

root OS prompt# mkdir /mnt/read-bucket
root OS prompt# ocifs --auth=instance_principal read-bucket /mnt/read-bucket/
root OS prompt# cd /mnt/read-bucket
root OS prompt# ls -al
total 0
drwxr-xr-x. 2 root root 6 Nov 6 14:56 .
drwxr-xr-x. 5 root root 68 Nov 6 14:56 ..
-rw-r--r--. 1 root root 4 Nov 6 14:57 file.txt
Pour tester les droits d'accès limités, cette machine virtuelle ne doit pas avoir la possibilité de supprimer un fichier de ce bucket. Erreur :
root OS prompt# rm file.txt
rm: remove regular file 'file.txt'? y
rm: cannot remove file.txt': Input/output error

D'autres tests avec des buckets supplémentaires, des définitions de groupe dynamique et des instructions de stratégie peuvent être effectués. Prévoyez une minute ou deux entre les modifications et les tests, afin que les droits d'accès puissent se propager.