設定設定值

本主題將說明如何設定具有 IAM 權限、動態群組、 OCI 物件儲存服務及 VM 執行處理的租用戶。

設定物件儲存桶

此解決方案使用的儲存桶是一個以標準模式建立的簡單物件儲存桶,因為它支援所有層 - 標準、不常及封存。這可讓物件在其帳齡時變更層級,直到指定的時間範圍過後,才會保留流入最低成本封存層級。

在此儲存桶中,我們會新增「保留規則」,以便在建立物件之後,避免變更或刪除物件。在測試完成之前,規則不會被鎖定。

此外,我們還會新增「物件生命週期規則」,根據需求自動變更每個物件的儲存層。將物件移至存檔層之後,就無法再立即使用,但必須先「恢復」才能存取。這可透過需要設計的 OCI 函數、命令檔或部分外部處理作業來完成。

最後,一旦已知儲存桶的 OCID 和名稱,我們就可以對將存取儲存桶的動態群組設定窄權限。這些原則敘述句可以利用 OCI 的進階原則述詞,例如 target.bucket.name.

設定動態群組

如果使用 CIS 登陸區設定租用戶,則可能會在區間層級存在動態群組。本節假設沒有現有的動態群組。

動態群組

考慮不同組的 OCI 虛擬機器將會安裝 RCLONE 或 OCIFS 並存取物件儲存。因此,我們可以根據 VM 的建立位置,根據特定執行處理 OCID 或區間 OCIDS 定義動態群組。已為此解決方案建立下列 2 個動態群組:

Name: oci-rclone-full-dg

Matching Rule: 

ANY {instance.id = 'ocid1.xxx.yyy.zzz1', instance.id = 'ocid.xxx.yyy.zzzz2' }

or

instance.compartment.id = 'ocid1.compartment.yyy.zzz'
Name: oci-ocifs-readonly-dg

Matching Rule:

ANY {instance.id = 'ocid1.xxx.yyy.zzz3', instance.id = 'ocid.xxx.yyy.zzz4' } 
or
instance.compartment.id = 'ocid1.compartment.yyy.zzz

如果尚未建立或可能變更執行處理 OCID,我們就可以使用預留位置。以上的第二個選項可讓您在參照的區間中建立無限制的執行處理,無須擔心更新動態群組。請注意,如果用於解決方案的所有執行處理都存在於同一個區間中,則必須使用執行處理 OCID 定義「動態群組」,如此唯讀執行處理才能夠獲得完整存取權。

設定權限

假設一開始,您沒有區間或儲存桶的特定物件儲存權限。首先,我們可以建立特定原則或將我們的敘述句附加至現有的原則。

例如,如果使用「客戶資訊系統登陸區」,您可能會有如 cislz-appdev-cmp-policy 的政策進行更新,以新增動態群組對帳單,如下所示。如果我們從頭開始,下列範例會使用原則樣板來定義物件儲存的動態群組和使用者群組權限存取。如果現在或之後需要,可以使用條件來增強原則敘述句。
allow dynamic-group oci-rclone-full-dg to read buckets in compartment cis-landing-top:app-cmp where ANY {target.bucket.name = 'archive-bucket-1', target.bucket.name = 'archive-bucket-2' }
allow dynamic-group oci-rclone-full-dg to manage objects in compartment cis-landing-top:app-cmp where ANY {target.bucket.name = 'archive-bucket-1', target.bucket.name = 'archive-bucket-2' }
allow dynamic-group oci-ocifs-readonly-dg to read objects in compartment cis-landing-top:app-cmp where ANY {target.bucket.name = 'archive-bucket-1', target.bucket.name = 'archive-bucket-2' }

稍後可以新增或移除更多權限,作為測試的一部分。建議您完全測試 RCLONE 和 OCIFS,以確保任何授予的權限均正確無誤。

使用 RCLONE 設定 VM 執行處理

OCI 虛擬機器的建立範圍超出此解決方案的範圍,但任何資源配置的 Linux VM 都將會運作。必須透過服務閘道或 NAT 閘道進行基本連線,就像連接埠 443 的 VCN 傳出一樣。如果物件儲存專用端點正在使用中,則不需要閘道和傳出規則。

基本上,VM 必須能夠存取 OCI Object Storage。另一個重要的需求是,VM 是建立在動態群組所參照的區間內。如上所述,動態群組定義之後可以調整為僅包含 VM OCID,也可以符合動態群組以區間為基礎的定義。設定並存取 VM 之後,便可以安裝 RCLONE。請依照一般 RCLONE 文件,特別是 OCI Object Storage 區段

為了使用動態群組設定,此處的認證類型為 instance_principal_auth。依照上述文件中的步驟進行,並建構一組測試。根據透過動態群組授予的權限,您可以輕鬆刪除使用錯誤 rclone 命令的儲存桶。如上所述,此解決方案的開始權限會將動態群組限制為「讀取儲存桶」和「管理物件」。因此,您無法建立或刪除儲存桶,但可以移除其內容。RCLONE 文件提供一些安全的測試範例,例如列出內容、放置物件及移除單一物件。

使用 OCIFS 設定 VM 執行處理

與上一個區段類似,虛擬機器的建立範圍不在範圍內。OCIFS 將類似地安裝在一組 VM 上。

如需有關使用執行處理主體 (將利用先前新增的動態群組和原則) 的詳細資訊,請參閱 OCIFS 公用程式文件

測試掛載時,下列任一項均可運作:
  • 直接 ocifs 掛載命令
  • /etc/fstab 項目
  • 自動掛載組態
若為 fstab 掛載,格式如下:
archive-bucket /mnt/archive-bucket fuse.ocifs auth=instance_principal 0 0
若要使用 automount,每個項目所需的樣式如下:
archive-bucket -fstype=fuse,allow_other,auth=instance_principal :ocifs\#archive-bucket