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 傳送至目標資源,並執行想要的工作。
主要優點:
- 降低風險:將關鍵任務資料庫服務的意外或惡意刪除降到最低。
- 職責區分:確保 API 執行與核准不同,增強安全性與問責制。
目標
設定並操作 Oracle Exadata Database Service on Cloud@Customer 的 Oracle API Access Control 服務。類似指示適用於 Oracle Exadata Database Service on Dedicated Infrastructure。
-
在 OCI 租用戶中設定使用者和群組。
-
設定 Oracle API Access Control 的 Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) 原則。
-
讓資源受控制。
-
示範 API 控制強制實行。
-
建立並核准存取要求。
-
稽核核准的作業。
-
撤銷 Oracle API 存取控制要求。
-
編輯或移除控制項。
-
完成控制刪除的最終稽核。
必備條件
-
使用 Oracle Exadata Database Service on Cloud@Customer 或 Oracle Exadata Database Service on Dedicated Infrastructure 存取 OCI 租用戶。
-
在租用戶中建立的使用者,在具有授予 Oracle API 存取控制權限之原則的群組中 (本教學課程中的
ExaCC Approver
使用者)。 -
在租用戶中建立的第二位使用者,此群組具有授予一般基礎架構和資料庫管理權限的原則 (本教學課程中的
infra-db-admin-user
使用者)。
工作 1:在 OCI 租用戶中設定使用者和群組
Oracle API Access Control 的第一步包括在您的 OCI 租用戶內設定使用者和群組。第二步是讓這些使用者和群組設定控制和管理要求。
-
登入 OCI 主控台,瀏覽至您預設識別網域內的身分識別與安全。
-
建立使用者與群組。已經設定名稱為
ExaCC Approver
的使用者,而且此使用者是ExaCC-API-Approver-grp
群組的成員。
工作 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
-
第一個原則行授與管理
privileged-api-family
的ExaCC-API-Approver-grp
群組權限。這表示他們可以建立控制項、將它們套用至服務,以及核准存取要求。 -
第二個原則行允許 Oracle API Access Control 軟體與您租用戶內的資料庫服務互動。
-
第三個原則行可讓 Oracle API 存取控制軟體與您租用戶中的 OCI 通知主題互動。這對於在存取要求變更其生命週期狀態時通知員工至關重要。
您的核准者群組需要使用資料庫系列的能力,但不需要加以管理。此外,核准群組必須能夠讀取網域、檢查區間,以及使用 OCI 通知主題進行通知。
如需有關 OCI IAM 原則的詳細資訊,請參閱關於資源類型和委派存取控制原則。
任務 3:讓資源受到控制
有了 Oracle API Access Control 及其原則,請以 Oracle API Access Control 使用者身分登入,讓資源受控制。
-
移至 OCI 主控台,瀏覽至 Oracle Database API 存取控制,然後按一下建立授權的 API 控制。
-
選取區間 (
ExaCC
) 並建立新的控制項。 -
輸入您控制的名稱與描述。
-
選取資源類型: 選取此教學課程的 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。
-
選取 Exadata 基礎架構區間:Exadata 基礎架構位於不同的區間 (
eccw-infrastructure
)。 -
選取 Exadata 基礎架構:要控制的基礎架構是
eccw-infrastructure
。 -
選取您要控制基礎架構的 API 。
舉例而言:
- 您可以保護刪除的基礎架構。
- 對於虛擬機器 (VM) 叢集,您可以保護更新、刪除、新增 / 移除 VM 及變更區間。
- 若為 VM 叢集更新,可依授權選取各種屬性,例如變更 CPU 核心數目 (會影響自動調整軟體) 或 SSH 公用金鑰。
- 您也可以控制:
- 資料庫本位目錄 API ,例如刪除。
- 虛擬機器 API ,例如更新和建立主控台連線。
- VM 叢集網路 API ,包括調整大小、更新和刪除。
- 容器資料庫 API ,包括刪除、通透資料加密金鑰管理金鑰循環、更新和升級。
- 可插式資料庫 API ,具有啟動 / 停止、重新整理、更新及刪除可插式資料庫等動作。在此範例中,我們想要套用對變更 CPU 核心數目 (7a) 和 CDB 刪除 (7b) 的控制項。
注意:在建立起始控制項之後,可以修改指派的控制項,但修改也需要 Oracle API Access Control 核准處理作業。
-
在核准資訊中,選取使用 IAM 原則以取得核准資訊。在具有識別網域的租用戶中作業時,此為必要項目。
-
或者,您可以要求對特定機密系統進行第二次核准,這需要兩個個別的識別才能核准存取要求。
-
選取通知主題:您必須為存取要求通知選取 OCI 通知主題,然後按一下建立。建立控制項之後,需要幾分鐘的時間才能上線。
下列影像顯示建立 OCI 通知主題、建立及設定訂閱。
注意: OCI 稽核記錄會連結至資源所在的區間。因此,在
ExaCC
區間中建立此 Oracle API 存取控制時,會在該處找到與 API 控制項生命週期管理相關的稽核記錄。Exadata 基礎架構更新 (位於eccw-infrastructure
區間) 的稽核記錄將會顯示在eccw-infrastructure
區間中。
任務 4:示範 API 控制強制執行
若要示範 API 如何控制系統,請遵循下列步驟:
-
以
infra-db-admin-user
使用者身分登入 OCI 主控台。 -
選取 Cloud at Customer 上的 Oracle Database Service 。
-
選取您的虛擬機器叢集和 Exadata 基礎架構。
-
您會看到已啟用 Oracle API Access Control 的
eccw-cl3
VM 叢集。 -
如果您嘗試直接從功能表變更每一 VM 的 ECPU 數目,目前的資源不允許進行此作業,因此該作業將會被拒絕。
-
同樣地,如果您嘗試終止資料庫,則不允許執行此作業。
-
從 OCI 主控台驗證稽核記錄。
-
導覽至可觀測性和管理。
-
選取記錄日誌,然後按一下稽核。
-
選取
ExaCC
區間。 -
稽核 PUT 和 POST 或狀態變更等動作。
在
eccw-infrastructure
區間中,您會看到找不到 (404) 錯誤,指出核准的 Oracle API 存取控制檢查已失敗。 -
作業 5:建立與核准存取要求
-
前往 OCI 主控台,瀏覽至 Oracle Database ,然後按一下 API 存取控制。
-
按一下建立授權的存取要求,即可建立更新 CPU 核心數目的要求。
-
區間:選取
ExaCC
區間。 -
標牌號碼:新增標牌參考 (這是任意格式文字)。
-
資源類型:資源類型是您的 VM 叢集。
-
選取授權的作業:更新 VM 叢集
cpuCoreCount
的要求。您可以視需要為單一存取視窗新增更多作業。 -
您可以要求存取計畫性維護的未來日期,或立即進行。
-
選取通知主題:選取要通知的主題,然後按一下建立。
在建立存取要求的區間中,您會看到它處於已提出狀態。
如果您嘗試自行核准,將會收到錯誤,指出其他使用者必須核准。
-
-
以您的
ExaCC Approver
核准者使用者身分存取系統。您可以在區間中查看存取要求。電子郵件通知將會傳送給
ExaCC-API-Approver-grp
的成員。 -
您可以存取提出的要求。
-
複查
UpdateVmCluster cpuCoreCount
的要求並立即核准要求或選取未來時間。 -
核准存取要求之後,請返回 VM 叢集資源並更新每一 VM 的 ECPU 數目。系統現在將允許每一 VM 的 ECPU 數目變更。
任務 6:稽核核准的作業
從稽核觀點來看。
-
前往 OCI 主控台,瀏覽至可觀測性與管理,然後選取稽核。
-
瀏覽至已設定「Oracle API 存取控制」存取要求的區間。請參閱 POST 與 PUT 。
-
您會看到
infra-db-admin-user
使用者已建立「Oracle API 存取控制」存取要求。 -
當您嘗試自行核准時,將會見到錯誤的要求 (400) 。
-
您會看到
ExaCC Approver
已核准存取要求。
同樣地,查看 eccw-infrastructure
區間時,您會看到核准後發生的 VM 叢集更新。您可以看到更新 VM 叢集開始和 API 存取控制檢查已核准,指示 API 將向前傳送。
作業 7:撤銷 Oracle API 存取控制請求
送出「Oracle API 存取控制」要求或核准者都可以撤銷。撤銷要求之後,將不允許任何執行動作的嘗試。
從 eccw-infrastructure
區間的稽核角度來看,您可以觀察 PUT 和 POST 方法。您將會看到核准後允許的 VM 叢集更新,以及因為存取要求未被核准而發生的 VM 叢集更新失敗。複查存取要求的生命週期管理時,您可以查看要求開啟的時間、自行核准的 400 錯誤,以及由其他使用者成功核准。
任務 8:編輯或移除控制項
-
如果您嘗試移除控制項,軟體將會代表您自動建立 Oracle API Access Control 要求,以移除它。
-
如果您嘗試核准自己的動作以移除控制項,則會套用相同的強制規則 (將會被拒絕)。
-
如果不同的使用者 (例如,具有核准存取要求權限的其他測試使用者) 核准存取要求,他們就可以刪除或移除資源。
任務 9:完成控制刪除的最終稽核
從稽核觀點進行控制刪除。
-
您可以看到
infra-db-admin-user
嘗試刪除授權的 API 控制項,並接收 400 錯誤。 -
然後,您可以看到不同使用者
ExaCC Approver
核准授權的 API 存取要求,進而產生 200 (成功) 狀態。 -
最後,
infra-db-admin-user
會發出 delete 命令,您將會看到 OK (202) 狀態的 delete 成功。
相關連結
確認
-
作者 - Filip Vercauteren (Exadata Cloud@Customer 黑帶)
-
貢獻者 - Matthieu Bordonne (EMEA 解決方案中心首席銷售顧問)、Zsolt Szokol (Exadata Cloud@Customer Black Belt)、Jeffrey Wright (傑出產品經理)
其他學習資源
在 docs.oracle.com/learn 上探索其他實驗室,或在 Oracle Learning YouTube 頻道上存取更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。
如需產品文件,請造訪 Oracle Help Center 。
Use Oracle API Access Control with Oracle Exadata Database Service on Cloud@Customer and Oracle Exadata Database Service on Dedicated Infrastructure
G39130-01
Copyright ©2025, Oracle and/or its affiliates.