準備功能開發的租用戶

若要讓某個函數能夠存取另一個 Oracle Cloud Infrastructure 資源,您必須將該函數包括在動態群組中,然後建立一個原則來授予該資源的動態群組存取權。

建立函數的動態群組

動態群組可讓您將 Oracle Cloud Infrastructure 電腦執行處理群組為「主要項目」動作項目 (與使用者群組類似)。接著,您可以建立原則來允許執行處理針對 Oracle Cloud Infrastructure 服務進行 API 呼叫。

當您建立動態群組時,而不是明確地將成員新增至群組,而是定義一組相符規則來定義群組成員。例如,規則可以指定特定區間中的所有執行處理都是動態群組的成員。當執行處理在該區間中啟動並終止時,成員可以動態變更。

  1. 開啟主控台,按一下別,然後按一下動態群組。就會顯示您租用戶中的動態群組清單。
  2. 按一下建立動態群組。
  3. 輸入下列資訊:
    • 名稱:群組的專屬名稱。此名稱在您租用戶 (動態群組和使用者群組) 的所有群組中必須是唯一的。您無法在稍後變更。
    • 描述:易記的描述。您無法在主控台中變更此設定,但可使用 API 加以變更。
  4. 輸入「比對規則」。符合規則條件的資源是群組的成員。
    • 規則 1:若要允許區間中的所有函數存取資源,請輸入類似以下的規則,其中 <compartment_id> 是將部署應用程式和關聯函數之區間的 OCID:
      ALL {resource.type = 'fnfunc', resource.compartment.id = '<compartment_id>'}
    • 視需要輸入其他規則。若要新增規則,請按一下 +Additional 規則。

  5. 如果您有建立資源的權限,您也可以將任意格式標記套用至該資源。若要套用定義的標記,您必須具有使用標記命名空間的權限。如果您不確定是否應套用標記,請略過此選項 (稍後可以套用標記) 或詢問您的管理員。
  6. 按一下建立動態群組。

    系統會驗證比對規則語法,但不會驗證您在規則中使用的 OCID。請確定您輸入的 OCID 是正確的。

建立函數的原則

原則可讓群組以特定方式在特定區間中使用特定類型的資源。

您寫入原則的群組和區間必須已經存在。

下列步驟會將原則新增至將部署應用程式和關聯函數的區間,以及執行處理的根區間。

  1. 開啟導覽功能表。在治理和管理底下,按一下識別,然後按一下原則。
    就會顯示所檢視區間中的原則清單。
  2. 從左邊的區間清單中,選取將部署應用程式和關聯函數的區間。
  3. 按一下建立原則
  4. 提供下列資訊:
    • 名稱:原則的唯一名稱。此名稱在您租用戶的所有原則中必須是唯一的。您之後無法變更此名稱。
    • 描述:易記的描述。您可以視需要稍後變更此設定。
    • 原則啟動多版本功能:如果您希望原則保持在最新狀態,以後對服務的動詞與資源定義進行任何變更,請選取讓原則保持在最新狀態。或者,如果您偏好根據特定日期的目前定義來限制存取,請選取使用版本日期,然後以 YYYY-MM-DD 格式輸入該日期。
  5. 提供原則述句。若要新增一或多個預先定義的敘述句,請按一下自訂 (進階)
    新增下列原則敘述句,其中 <group_name> 是關聯的動態群組名稱,<compartment_name> 是將部署應用程式和關聯函數的區間:
    • 新增下列敘述句以允許函數存取區間中的資源:
      Allow dynamic-group <group_name> to manage buckets in compartment <compartment_name>
      Allow dynamic-group <group_name> to manage objects in compartment <compartment_name>
      allow dynamic-group <group_name> to use autonomous-databases in compartment <compartment_name> where request.permission='AUTONOMOUS_DATABASE_CONTENT_READ'
      Allow dynamic-group <group_name> to inspect instances in compartment <compartment_name>
      Allow service FaaS to use virtual-network-family in compartment <compartment_name>
      Allow group fleetAdmins to manage functions-family in compartment <compartment_name>
    • 新增下列敘述句,可讓 Oracle Cloud Infrastructure Events 在上傳檔案至 Oracle Cloud Infrastructure Object Storage 時呼叫函數:
      Allow dynamic-group <group_name> to inspect streams in compartment <compartment_name>
      Allow dynamic-group <group_name> to manage cloudevents-rules in compartment <compartment_name>
      Allow dynamic-group <group_name> to use stream-push in compartment <compartment_name>
      Allow dynamic-group <group_name> to use stream-pull in compartment <compartment_name>
  6. 按一下建立
    新建立的原則會隨著區間的原則列出。
  7. 從左邊的區間清單中,選取根區間 (< instance-name > (根) ),然後重複上述步驟 3 和 4。
  8. 提供原則述句。若要新增一或多個預先定義的敘述句,請按一下自訂 (進階)
    新增下列原則敘述句,其中 <compartment_name> 是將部署應用程式和關聯函數的區間:
    Allow service FaaS to manage repos in tenancy
    Allow service FaaS to use virtual-network-family in compartment <compartment_name>
  9. 按一下建立
    新建立的原則會隨著根區間的原則列出。