Use Oracle API Access Control with Oracle Exadata Database Service on Cloud@Customer and Oracle Exadata Database Service on Dedicated Infrastructure

簡介

Oracle API Access Control enables customers to manage access to the REST APIs exposed by Oracle Exadata Database Service on Dedicated Infrastructure and Oracle Exadata Database Service on Cloud@Customer.藉由將特定 API 指定為授權,客戶可以確保呼叫這些 API 需要事先從其租用戶內的授權群組進行核准。

Oracle API Access Control 還利用 Oracle Cloud Infrastructure (OCI) 技術來執行特定工作流程,以協助稽核整合。

人員要求執行授權作業的存取權,核准者會在 OCI 控制層將特殊核准資源轉變為已核准狀態後複查並核准作業。這可讓要求者將 API 傳送至目標資源,並執行想要的工作。

主要優點:

目標

設定並操作 Oracle Exadata Database Service on Cloud@Customer 的 Oracle API Access Control 服務。類似指示適用於 Oracle Exadata Database Service on Dedicated Infrastructure。

必備條件

工作 1:在 OCI 租用戶中設定使用者和群組

Oracle API Access Control 的第一步包括在您的 OCI 租用戶內設定使用者和群組。第二步是讓這些使用者和群組設定控制和管理要求。

  1. 登入 OCI 主控台,瀏覽至您預設識別網域內的身分識別與安全

  2. 建立使用者與群組。已經設定名稱為 ExaCC Approver 的使用者,而且此使用者是 ExaCC-API-Approver-grp 群組的成員。

    影像 1:使用者群組

工作 2:設定 Oracle API 存取控制的 OCI IAM 原則

在這項任務中,請設定 OCI IAM 原則,讓 Oracle API Access Control 服務能夠運作,並讓 ExaCC-API-Approver-grp 群組管理服務。此範例中提供的原則敘述句可讓服務運作。OCI IAM 原則語法提供微點控制,可進一步區分職責。

Oracle API Access Control 的 OCI IAM 原則範例:

allow group <admin_group/approver_group/managers> to manage privileged-api-family in tenancy
allow any-user TO use database-family IN tenancy where ALL { request.principal.type in ('pactlprivilegedapirequest', 'pactlprivilegedapicontrol') }
allow any-user TO use ons-topics IN tenancy where ALL { request.principal.type in ('pactlprivilegedapirequest', 'pactlprivilegedapicontrol') }
allow group <admin_group/approver_group/managers> to use database-family in tenancy
allow group <admin_group/approver_group/access_request_group> to read domains in tenancy
allow group <admin_group/approver_group/access_request_group> to inspect compartments in tenancy
allow group <admin_group/approver_group/access_request_group> to use ons-topics in tenancy

影像 2:原則

您的核准者群組需要使用資料庫系列的能力,但不需要加以管理。此外,核准群組必須能夠讀取網域、檢查區間,以及使用 OCI 通知主題進行通知。

如需有關 OCI IAM 原則的詳細資訊,請參閱關於資源類型和委派存取控制原則

任務 3:讓資源受到控制

有了 Oracle API Access Control 及其原則,請以 Oracle API Access Control 使用者身分登入,讓資源受控制。

  1. 移至 OCI 主控台,瀏覽至 Oracle Database API 存取控制,然後按一下建立授權的 API 控制

    影像 3:CreateAPI 控制

  2. 選取區間 (ExaCC) 並建立新的控制項。

  3. 輸入您控制的名稱描述

  4. 選取資源類型: 選取此教學課程的 Exadata 基礎架構

    • Exadata Cloud Infrastructure 適用於 OCI 或 Oracle Multicloud 中的 Oracle Exadata Database Service on Dedicated Infrastructure。
    • Exadata Infrastructure 適用於 Cloud@CustomerOracle Exadata Database Service on Cloud@Customer 上的 Oracle Exadata Database Service。

    圖像 4:CreateAPI 控制

  5. 選取 Exadata 基礎架構區間:Exadata 基礎架構位於不同的區間 (eccw-infrastructure)。

  6. 選取 Exadata 基礎架構:要控制的基礎架構是 eccw-infrastructure

  7. 選取您要控制基礎架構的 API

    舉例而言:

    • 您可以保護刪除的基礎架構。
    • 對於虛擬機器 (VM) 叢集,您可以保護更新、刪除、新增 / 移除 VM 及變更區間。
    • 若為 VM 叢集更新,可依授權選取各種屬性,例如變更 CPU 核心數目 (會影響自動調整軟體) 或 SSH 公用金鑰
    • 您也可以控制:
      • 資料庫本位目錄 API ,例如刪除。
      • 虛擬機器 API ,例如更新和建立主控台連線。
      • VM 叢集網路 API ,包括調整大小、更新和刪除。
      • 容器資料庫 API ,包括刪除、通透資料加密金鑰管理金鑰循環、更新和升級。
      • 可插式資料庫 API ,具有啟動 / 停止、重新整理、更新及刪除可插式資料庫等動作。在此範例中,我們想要套用對變更 CPU 核心數目 (7a) 和 CDB 刪除 (7b) 的控制項。

    注意:在建立起始控制項之後,可以修改指派的控制項,但修改也需要 Oracle API Access Control 核准處理作業。

  8. 核准資訊中,選取使用 IAM 原則以取得核准資訊。在具有識別網域的租用戶中作業時,此為必要項目。

  9. 或者,您可以要求對特定機密系統進行第二次核准,這需要兩個個別的識別才能核准存取要求。

  10. 選取通知主題:您必須為存取要求通知選取 OCI 通知主題,然後按一下建立。建立控制項之後,需要幾分鐘的時間才能上線。

    下列影像顯示建立 OCI 通知主題、建立及設定訂閱。

    影像 5:主題

    影像 6:訂閱

注意: OCI 稽核記錄會連結至資源所在的區間。因此,在 ExaCC 區間中建立此 Oracle API 存取控制時,會在該處找到與 API 控制項生命週期管理相關的稽核記錄。Exadata 基礎架構更新 (位於 eccw-infrastructure 區間) 的稽核記錄將會顯示在 eccw-infrastructure 區間中。

任務 4:示範 API 控制強制執行

若要示範 API 如何控制系統,請遵循下列步驟:

  1. infra-db-admin-user 使用者身分登入 OCI 主控台。

  2. 選取 Cloud at Customer 上的 Oracle Database Service

  3. 選取您的虛擬機器叢集Exadata 基礎架構

  4. 您會看到已啟用 Oracle API Access Control 的 eccw-cl3 VM 叢集

  5. 如果您嘗試直接從功能表變更每一 VM 的 ECPU 數目,目前的資源不允許進行此作業,因此該作業將會被拒絕。

    圖片 7:Scale ECPU

  6. 同樣地,如果您嘗試終止資料庫,則不允許執行此作業。

  7. 從 OCI 主控台驗證稽核記錄。

    1. 導覽至可觀測性和管理

    2. 選取記錄日誌,然後按一下稽核

    3. 選取 ExaCC 區間。

    4. 稽核 PUTPOST 或狀態變更等動作。

    eccw-infrastructure 區間中,您會看到找不到 (404) 錯誤,指出核准的 Oracle API 存取控制檢查已失敗。

    影像 8:調整 ECPU 稽核

作業 5:建立與核准存取要求

  1. 前往 OCI 主控台,瀏覽至 Oracle Database ,然後按一下 API 存取控制

  2. 按一下建立授權的存取要求,即可建立更新 CPU 核心數目的要求。

    1. 區間:選取 ExaCC 區間

    2. 標牌號碼:新增標牌參考 (這是任意格式文字)。

    3. 資源類型:資源類型是您的 VM 叢集。

    4. 選取授權的作業:更新 VM 叢集 cpuCoreCount 的要求。您可以視需要為單一存取視窗新增更多作業。

      圖像 9:建立存取要求

    5. 您可以要求存取計畫性維護的未來日期,或立即進行。

    6. 選取通知主題:選取要通知的主題,然後按一下建立

      影像 10:建立存取要求

    在建立存取要求的區間中,您會看到它處於已提出狀態。

    影像 11:建立存取要求

    如果您嘗試自行核准,將會收到錯誤,指出其他使用者必須核准。

  3. 以您的 ExaCC Approver 核准者使用者身分存取系統。您可以在區間中查看存取要求。

    影像 12:請求核准

    電子郵件通知將會傳送給 ExaCC-API-Approver-grp 的成員。

    影像 13:電子郵件通知

  4. 您可以存取提出的要求。

    影像 14:請求核准

  5. 複查 UpdateVmCluster cpuCoreCount 的要求並立即核准要求或選取未來時間。

    影像 15:請求核准

    影像 16:請求核准

  6. 核准存取要求之後,請返回 VM 叢集資源並更新每一 VM 的 ECPU 數目。系統現在將允許每一 VM 的 ECPU 數目變更。

任務 6:稽核核准的作業

從稽核觀點來看。

  1. 前往 OCI 主控台,瀏覽至可觀測性與管理,然後選取稽核

  2. 瀏覽至已設定「Oracle API 存取控制」存取要求的區間。請參閱 POSTPUT

  3. 您會看到 infra-db-admin-user 使用者已建立「Oracle API 存取控制」存取要求。

    影像 17:稽核等待核准

  4. 當您嘗試自行核准時,將會見到錯誤的要求 (400)

    影像 18:自行核准

    影像 19:自行核准

  5. 您會看到 ExaCC Approver 已核准存取要求。

    影像 20:已核准稽核

同樣地,查看 eccw-infrastructure 區間時,您會看到核准後發生的 VM 叢集更新。您可以看到更新 VM 叢集開始API 存取控制檢查已核准,指示 API 將向前傳送。

作業 7:撤銷 Oracle API 存取控制請求

送出「Oracle API 存取控制」要求或核准者都可以撤銷。撤銷要求之後,將不允許任何執行動作的嘗試。

eccw-infrastructure 區間的稽核角度來看,您可以觀察 PUTPOST 方法。您將會看到核准後允許的 VM 叢集更新,以及因為存取要求未被核准而發生的 VM 叢集更新失敗。複查存取要求的生命週期管理時,您可以查看要求開啟的時間、自行核准的 400 錯誤,以及由其他使用者成功核准。

影像 21:撤銷

影像 22:撤銷

任務 8:編輯或移除控制項

任務 9:完成控制刪除的最終稽核

從稽核觀點進行控制刪除。

影像 25:最終稽核

確認

其他學習資源

docs.oracle.com/learn 上探索其他實驗室,或在 Oracle Learning YouTube 頻道上存取更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。

如需產品文件,請造訪 Oracle Help Center