Esegui test e convalida

Questa pagina descrive alcuni dei test che possono essere eseguiti direttamente dalle istanze VM membri dei gruppi dinamici configurati. RCLONE e OCIFS devono essere testati in modo simile, utilizzando una varietà di comandi che testano l'accesso in lettura e scrittura.

Test RCLONE

Nell'ambito di questo sforzo, la regola di conservazione nel bucket viene rimossa per un periodo di tempo, in modo da poter testare completamente la capacità di lettura e scrittura di rclone in un bucket.

Una volta completato il test, la regola può essere ristabilita e bloccata. Il test viene eseguito iniziando con un gruppo dinamico con autorizzazioni "bucket read" e "object read" su tutti i bucket all'interno del compartimento che contiene il bucket di archivio.

Per visualizzare un telecomando RCLONE configurato, eseguire il comando seguente:
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
Tutti i comandi riportati di seguito richiederanno OCI-IP per fare riferimento all'ambiente di storage degli oggetti e alle credenziali configurati. Per sincronizzare (copiare o aggiornare) un file in un bucket, il bucket è stato creato in precedenza utilizzando OCI Console, poiché il set di autorizzazioni limitato non include la creazione o l'eliminazione del bucket. Il blocco seguente mostra l'operazione di sincronizzazione, seguita da una lista di bucket.
OS prompt> rclone sync rclone-test.txt OCI-IP:rclone-testing
OS prompt> rclone ls OCI-IP:rclone-testing 
 33 rclone-test.txt

È anche possibile testare l'eliminazione dei file. Seguire la documentazione di RCLONE per tutte le opzioni disponibili, ad esempio il filtro.

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

Modifiche dei criteri

Generalmente RCLONE tornerà semplicemente al prompt se l'operazione riesce, ma darà un messaggio di errore se mancano le autorizzazioni per una particolare operazione. Ad esempio, se si tenta di eliminare un bucket, date le autorizzazioni definite in precedenza, l'azione non riesce con il seguente messaggio:
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
Come accennato in precedenza, le istruzioni dei criteri definite per il gruppo dinamico possono essere modificate in base alle esigenze. Ad esempio, per consentire la creazione o l'eliminazione del bucket, è possibile aggiungere la seguente istruzione:
allow dynamic-group oci-rclone-full-dg to manage buckets in compartment cis-landing-top:app-cmp where ANY {target.bucket.name =
    'rclone-testing'}
Dopo aver aggiunto questa istruzione dei criteri, è possibile riprovare l'operazione precedente e il bucket verrà eliminato.

È utile mantenere aperto un browser per la schermata dello storage degli oggetti OCI e aggiornare la pagina in un bucket, in modo da poter verificare ogni operazione.

Test OCIFS

Utilizzando gli esempi forniti nella sezione precedente, la utility OCIFS è stata testata in vari modi. Una volta che il gruppo dinamico e il criterio funzionano come progettati, è possibile modificare i criteri e visualizzare rapidamente i risultati che cambiano man mano che vengono modificate le autorizzazioni.

Si consiglia di disattivare i file system OCIFS nell'ambito del test delle modifiche alle autorizzazioni. La documentazione fornisce la sintassi per la disattivazione.

È disponibile anche l'inserimento nella cache fornito da OCIFS ed è stato testato come parte della soluzione. Ci sono diverse opzioni descritte, ognuna delle quali funzionerà con la soluzione.

Nota

L'uso di automount può influire sull'inserimento nella cache di OCIFS, poiché rimuove la cache a meno che non vengano utilizzate le opzioni cache-reuse e cache-keep.

L'esempio riportato di seguito mostra la creazione di un punto di attivazione e la connessione a un bucket mediante 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
Come test delle autorizzazioni limitate, questa VM non dovrebbe avere la possibilità di eliminare un file da questo bucket. Di seguito è riportato un errore.
root OS prompt# rm file.txt
rm: remove regular file 'file.txt'? y
rm: cannot remove file.txt': Input/output error

È possibile eseguire ulteriori test con bucket aggiuntivi, definizioni di gruppi dinamici e istruzioni dei criteri. Attendere uno o due minuti tra modifiche e test, in modo che le autorizzazioni possano propagarsi.