使用指令碼自動設定角色式存取控制
使用 Oracle Cloud Infrastructure 中的命令檔,自動設定 Role-Based Access Control (RBAC) 進行 IAM 認證。
您可以在 Cloud Shell 中執行命令檔,以快速產生 IAM 連線檔案。此自動化程序大幅縮短執行詳細 RBAC 配置所需的時間。管理員使用者產生連線檔案之後,即可在組織間共用該檔案,以允許從試算表增益集登入資料庫。
以下小節說明如何:
-
使用指令碼產生連線檔案
-
下載連線檔案
-
允許網域使用者存取
先決條件
若要使用指令檔進行 RBAC 組態,您必須具有:
-
Oracle Cloud Infrastructure 中的管理帳戶
-
IAM 網域
-
Autonomous AI Database 實例和綱要
使用指令碼產生連線檔案
附註:
雖然指令碼會自動執行組態任務,但它是互動式指令碼,需要使用者輸入才能繼續。
如果尚未登入,請登入 Oracle Cloud Infrastructure 主控台,然後執行下列動作。
-
從區域旁邊的「開發人員工具」圖示開啟 Cloud Shell,然後在終端機視窗中執行命令檔檔案。
adb-create-cred.sh -
此命令檔會探索您的 Oracle 雲端帳戶是否有現有的 API 金鑰和指紋。如果找不到,命令檔會為您建立金鑰組。
You have an existing API Key and Fingerprint! Do you want to try to reuse them? (y/n): y按 y 即可重複使用現有的金鑰。此命令檔會以 SQL 和 JSON 檔案建立您的原生證明資料。如果您要產生新的 API 金鑰組,請按 n 。
-
此指令碼提供為資料庫產生「AI 設定檔」。
Proceed to generate the AI Profile script? (y/n): n在此範例中,按 n 可在沒有 AI 設定檔的情況下繼續。
-
產生 試算表增益集的 IAM 連線。
Proceed to generate the Spreadsheet add-ins IAM connection? (y/n): y按 y 繼續。
-
選取要允許連線至資料庫執行處理之使用者的網域。在可用網域中輸入對應的號碼。
Select a domain (1-3):此程序檔會建立下列項目:-
名為試算表增益集 RBAC 的使用者自訂屬性
-
名為 Spreadsheet Add-in 的網域整合應用程式
-
JWT 自訂宣告
命令檔也會產生包含 JWT 設定檔資訊的 PL/SQL 命令檔
create_jwt_profile.sql。附註:
您可以使用命令檔重複使用現有的使用者屬性和自訂宣告,或建立新的宣告。如果整合的應用程式已存在,您可以建立新的應用程式,但應用程式所使用的任何舊連線都會變成無效。
-
-
為 Autonomous AI Database 中的必要綱要執行證明資料命令檔。
Proceed to run the Credential Scripts on your Autonomous Database? (y/n): y按 y 繼續。
-
選取綱要所在的區間和資料庫。
Select the number pertaining to your Compartment: ... Select the number pertaining to your Autonomous Database: -
如有需要,您可以使用現有的雲端公事包或建立新的公事包。如果命令檔發現現有的雲端公事包,它會提示您是否要重複使用它。
You have an existing Wallet File for [DB_NAME]. Do you want to reuse it? (y/n):如果公事包不存在,您可以設定新的公事包。
-
指定要允許 RBAC 連線之綱要的登入證明資料。
Enter Autonomous Database username (ADMIN): Enter Autonomous Database password:此命令檔會執行包含先前建立之「JWT 設定檔」資訊的 SQL 檔案,並在您的本位目錄資料夾中產生 JSON 格式的 IAM 連線檔案。Spreadsheet connection file: [$HOME/iam_connection_[DB_NAME]_[schema].json] created.附註:
您可以複製 Connections 檔案名稱 (排除
$HOME/部分),然後在下載檔案時使用相同的名稱。如果命令檔仍在執行中,使用 Ctrl + C 複製可能會強制停止或中斷命令檔。 -
最後,命令檔會提示您是要重複步驟並建立另一個資料庫的連線檔案,或者結束命令檔。因此,您可以設定多個綱要的網域使用者存取權。
下載連線檔案
-
在 Cloud Shell 視窗中,按一下齒輪圖示以開啟 Cloud Shell 功能表,然後按一下下載。
-
您可以貼上先前複製的相同檔案名稱,或為 JSON 格式的連線檔案指定新名稱。
-
按一下訊息視窗中的下載,即可下載連線檔案。
您可以使用試算表增益集中的連線檔案連線至您的資料庫,然後與其他使用者共用。
允許網域使用者存取
如果尚未登入,請登入 Oracle Cloud Infrastructure 主控台,然後執行下列動作。
-
按一下漢堡功能表並前往識別與安全性,然後選取網域。
-
在名稱下,按一下您建立連線檔案的網域,例如預設。
-
移至使用者管理頁籤,然後按一下您要允許存取的使用者名稱。
-
按一下編輯使用者,即可修改使用者資訊。
-
向下捲動至其他資訊區段。在試算表增益集 RBAC 欄位中,輸入
SQL Developer。 -
按一下儲存變更,將角色新增至使用者。
從 ORDS 26.2 開始,預設會停用 ORDS 角色。若要使用 ORDS 角色,您必須啟用該角色。舉例而言:
BEGIN
ords.set_property(
p_key => 'security.jwt.profile.allowed.roles',
p_value => 'SQL Developer'
);
COMMIT;
END;
/
如需 ORDS 使用者角色的詳細資訊,請參閱關於 Oracle REST Data Services 使用者角色。