測試並驗證

此頁面涵蓋部分可從 VM 執行處理直接執行的測試,而 VM 執行處理是所設定動態群組的成員。RCLONE 和 OCIFS 的測試方式應該類似,使用測試讀取和寫入存取權的各種命令。

RCLONE 測試

在此努力中,儲存桶上的保留規則會有一段時間移除,因此我們可以完全測試 rclone 讀取和寫入儲存桶的能力。

測試完成後,即可重新建立並鎖定規則。測試是從具有「儲存桶讀取」和「物件讀取」權限的動態群組開始進行,而此動態群組則是保留封存儲存桶的區間內所有儲存桶。

若要查看設定的 RCLONE 遠端,請執行下列命令:
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
後續的所有命令都需要 OCI-IP 才能參照我們設定的物件儲存環境和證明資料。為了將檔案同步 (複製或更新) 至儲存桶,已使用 OCI 主控台預先建立儲存桶,因為我們的窄權限集不包括建立或刪除儲存桶。下列區塊顯示同步作業,後面接著儲存桶清單。
OS prompt> rclone sync rclone-test.txt OCI-IP:rclone-testing
OS prompt> rclone ls OCI-IP:rclone-testing 
 33 rclone-test.txt

刪除檔案也可以進行測試。請依照 RCLONE 文件取得所有可用的選項,例如篩選。

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

原則變更

一般來說,RCLONE 只會在作業成功時返回提示,但如果遺漏特定作業的權限,則會提供錯誤訊息。例如,嘗試刪除儲存桶時,如果先前已定義權限,該動作就會失敗,並顯示下列訊息:
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
如前所述,您可以視需要變更已為動態群組定義的原則敘述句。例如,若要允許建立或刪除儲存桶,可以新增下列敘述句:
allow dynamic-group oci-rclone-full-dg to manage buckets in compartment cis-landing-top:app-cmp where ANY {target.bucket.name =
    'rclone-testing'}
新增此原則敘述句之後,便可以重試上一個作業,而且會刪除儲存桶。

將瀏覽器保持在 OCI 物件儲存畫面的開啟狀態,並重新整理儲存桶上的頁面,以便驗證每個作業。

OCIFS 測試

OCIFS 公用程式使用前節提供的範例,進行了多種測試。動態群組和原則如設計般運作之後,即可更改原則,並在編輯權限時快速查看結果變更。

建議您在測試權限變更時卸載 OCIFS 檔案系統。文件提供卸載的語法。

OCIFS 提供的快取也可供使用,並作為解決方案的一部分進行測試。有數個描述選項,其中任何選項都將與解決方案搭配使用。

附註:

除非使用 cache-reusecache-keep 選項,否則使用「自動掛載」會影響 OCIFS 快取。

下列範例顯示使用 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
此 VM 對於有限權限的測試,因此不應能夠刪除此儲存桶中的檔案。發生錯誤如下:
root OS prompt# rm file.txt
rm: remove regular file 'file.txt'? y
rm: cannot remove file.txt': Input/output error

可以執行含有其他儲存設定、動態群組定義以及原則敘述句的進一步測試。在變更與測試之間允許一分鐘或兩分鐘,以便傳輸權限。