附註:
- 此教學課程需要存取 Oracle Cloud。若要註冊免費帳戶,請參閱開始使用 Oracle Cloud Infrastructure Free Tier 。
- 它使用 Oracle Cloud Infrastructure 憑證、租用戶及區間的範例值。完成實驗室時,請以雲端環境特有的值取代這些值。
在 Oracle Autonomous Database 使用 Oracle Cloud Infrastructure Identity and Access Management 認證
簡介
Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) 資料庫密碼可讓 IAM 使用者以 Oracle Database 使用者通常以使用者名稱和密碼登入的身分登入 Oracle Autonomous Database 執行處理。使用者輸入其 IAM 使用者名稱和 IAM 資料庫密碼。IAM 資料庫密碼與 Oracle Cloud Infrastructure (OCI) 主控台密碼不同。使用密碼驗證程式的 IAM 使用者,您可以使用任何支援的資料庫用戶端登入 Autonomous Database。
OCI IAM 可確保只有正確的人員才能存取組織的資料和資源。您可以將 Oracle Database 設定為使用 OCI IAM 認證和授權,以允許 IAM 使用者使用 IAM 證明資料存取資料庫。將 IAM 中的使用者和證明資料管理集中化,可提高資料庫使用者的安全性、可管理性和使用者體驗。
適用對象
OCI IAM 專業人員和管理員。
目標
將 Oracle Autonomous Database 設定為使用 OCI IAM 認證與授權,以允許 IAM 使用者使用 IAM 證明資料存取 Oracle Autonomous Database。
必要條件
-
Autonomous Database 已在 OCI 中佈建。
-
具有管理員權限的 OCI IAM 識別網域租用戶。
-
用於測試 Autonomous Database 連線的 Oracle Database 工具,請參閱使用 Oracle Database 工具連線至 Autonomous Database 。本教學課程使用 Windows 系統新 Oracle 從屬端安裝上的 SQL*Plus 命令行介面。
作業 1:建立資料庫群組、使用者以及原則
-
瀏覽至識別與安全性、群組,然後按一下建立群組。提供下列詳細資訊以建立群組:
DB_Admins和DB_Users。
-
建立第一個具有名稱
DB_Admins和描述DB_Admins的群組,然後按一下建立。
-
建立具有名稱
DB_Users和描述DB_Users的第二個群組,然後按一下建立。
-
-
瀏覽至識別、原則並輸入下列詳細資訊,然後按一下建立原則。
-
名稱:
ADB-Access-Policy -
描述:
ADB-Access-Policy -
區間:確定已選取正確的區間
-
Policy Builder:選取顯示手動編輯器選項
allow group DB_Users, DB_Admins to use database-connections in compartment <compartment-name> allow group DB_Users, DB_Admins to use autonomous-database-family in compartment <compartment-name>
-
-
瀏覽至識別、使用者並輸入下列詳細資訊,以建立
testuser1和testuser2這兩個測試使用者,然後按一下建立。-
選取使用者類型:IAM 使用者
-
使用者名稱:
testuser1 -
描述:
testuser1 -
電郵:
testuser1@demo.com -
確認電郵:
testuser1@demo.com
-
-
將 testuser1 新增至 DB_Users 群組。

-
重複步驟 3 以設定
testuser2。-
選取使用者類型:IAM 使用者
-
使用者名稱:
testuser2 -
描述:
testuser2 -
電郵:
testuser2@demo.com -
確認電郵:
testuser2@demo.com
-
-
將 testuser2 新增至 DB_Admins 和 DB_Users 群組。


作業 2:設定使用者的 IAM 資料庫密碼
-
瀏覽至識別和使用者。
-
選取
testuser1。資料庫使用者名稱為 testuser1。選取資料庫密碼並輸入下列詳細資訊,然後按一下建立資料庫密碼。-
描述:
password -
密碼: password
-
確認密碼: password

-
-
選取
testuser2。資料庫使用者名稱為 testuser2。選取資料庫密碼,然後在下方輸入下列詳細資訊,然後按一下建立資料庫密碼。-
描述:
password -
密碼: password
-
確認密碼: password
您現在已順利建立
testuser1和testuser2的資料庫密碼。 -
工作 3:設定 DB_Users 和 DB_Admins 群組之「建立全域使用者綱要對應」和「角色對應」的資料庫
-
在 OCI 中,瀏覽至 Autonomous Database 、 Database Actions 以及 SQL 。SQL 階段作業已建立。


-
使用以下查詢驗證 Autonomous Database 的目前外部身分識別提供者。
SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME='identity_provider_type';
注意:它目前設為無。
-
使用以下查詢將 OCI IAM 設定為 Autonomous Database 的外部身分識別提供者。
EXEC DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION('OCI_IAM');
SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME='identity_provider_type';
注意:目前設為 OCI_IAM 。
-
設定資料庫以建立 SQL 中 DB_Users 和 DB_Admins 群組的全域使用者綱要對應和角色對應。
CREATE USER global_user IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=DB_Users'; CREATE ROLE global_role IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=DB_Admins'; grant CREATE SESSION to global_user; grant DWROLE to global_role; grant CREATE SESSION to global_role;
作業 4:下載 SQL*Plus 資料庫從屬端
-
請確定根據作業系統安裝 Oracle Database 從屬端版本 19c - 19.20.0 的最新版本更新。在本教學課程中,我們使用 Windows 作業系統。
-
下載 SQL*Plus 資料庫從屬端,請參閱安裝 SQL*Plus 資料庫從屬端。
工作 5:下載公事包
-
瀏覽至 Oracle Cloud 、資料庫、Autonomous Database 並選取佈建的 Autonomous Database,然後按一下資料庫連線。

-
輸入密碼並下載公事包。

工作 6:更新 sqlnet.ora 中的公事包位置並設定「TNS 管理」變數
-
更新
sqlnet.ora檔案中下載的公事包位置路徑。

-
設定含有公事包位置路徑的環境變數:TNS_Admin。

工作 7:使用 PowerShell 連線至資料庫
-
開啟 Windows PowerShell 並輸入下列查詢。
sqlplus /nolog -
示範管理員使用者的本機認證。
conn admin/password@adwtest_highexit
您現在已順利以管理員身分連線至 Autonomous Database 。
-
示範
testuser1和testuser2的密碼式認證,並驗證資料庫中的使用者和角色。執行下方的 SQL 查詢,以 testuser2 身分連線至 Autonomous Database。conn testuser1/password@adwtest_high您以
testuser1的身分連線。逐一執行以下 SQL 查詢並觀察輸出以驗證使用者和角色。SELECT SYS_CONTEXT ('USERENV','CURRENT_USER') FROM DUAL;SELECT SYS_CONTEXT ('USERENV','AUTHENTICATED_IDENTITY') FROM DUAL;SELECT SYS_CONTEXT ('USERENV','ENTERPRISE_IDENTITY') FROM DUAL;SELECT * FROM SESSION_ROLES;exit
現在,您已經成功將 Autonomous Database 連線測試為 testuser1 。
-
繼續進行下列 SQL 查詢,以 testuser2 身分連線至 Autonomous Database 。
conn testuser2/password@adwtest_high您以
testuser2的身分連線。現在,逐一執行以下 SQL 查詢,並觀察執行結果以驗證使用者和角色。SELECT SYS_CONTEXT ('USERENV','CURRENT_USER') FROM DUAL;SELECT SYS_CONTEXT ('USERENV','AUTHENTICATED_IDENTITY') FROM DUAL;SELECT SYS_CONTEXT ('USERENV','ENTERPRISE_IDENTITY') FROM DUAL;SELECT * FROM SESSION_ROLES;exit
現在,您已經成功將 Autonomous Database 連線測試為 testuser2 。
相關連結
認可
-
作者 - Indiradarshni Balasundaram,Alex Kovuru,Anuj Tripathi
-
貢獻者 - Deepak Rao
其他學習資源
瀏覽 docs.oracle.com/learn 的其他實驗室,或前往 Oracle Learning YouTube 頻道存取更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。
如需產品文件,請造訪 Oracle Help Center 。
Use Oracle Cloud Infrastructure Identity and Access Management Authentication with Oracle Autonomous Database
F89542-01
November 2023
Copyright © 2023, Oracle and/or its affiliates.