使用專用 Exadata 基礎架構上的 Autonomous Database 管理使用者設定檔
您可以在 Autonomous Database 中建立及更改使用者設定檔。建立或更改設定檔之後,您可以使用 CREATE USER
或 ALTER USER
指定設定檔子句。您也可以使用「Oracle Data Pump 匯入」,從另一個環境匯入現有的使用者設定檔。
附註:
Autonomous Database 對設定檔子句具有限制。請參閱使用 SQL 命令的限制,瞭解 CREATE PROFILE
和 ALTER PROFILE
限制的相關資訊。
若要新增、修改或移除設定檔中的密碼參數 (包括 DEFAULT
設定檔),您必須具有 ALTER PROFILE
系統權限。
這會使用設定檔 new_profile
和連線權限建立 new_user
。new_user
現在可以連線至資料庫並執行查詢。若要將其他權限授予使用者,請參閱 Manage Database User Privileges 。
如需有關使用 CREATE PROFILE
的資訊,請參閱 Oracle Database 19c SQL Language Reference 中的 CREATE PROFILE 或 Oracle Database 23ai SQL Language Reference 。
您可以使用 Oracle Data Pump 匯入 (impdp
) 匯入在其他環境中建立的現有設定檔。匯入至 Autonomous Database 後,會保留與資料庫使用者關聯的所有現有設定檔。從 Oracle Data Pump 匯入建立的新使用者,第一次登入時,登入的處理方式如下:
- 密碼複雜性限制與 Autonomous Database 上任何使用者的限制相同。
-
如果使用者的密碼違反密碼複雜性要求,帳戶就會過期 30 天寬限期。在此情況下,使用者必須在寬限期結束之前變更其密碼。
附註:
無法修改設定檔為ORA_PROTECTED_PROFILE
之使用者的設定檔指派。
建立或更改設定檔時,您可以指定「密碼驗證函數 (PVF)」來管理密碼複雜性。如需詳細資訊,請參閱 Manage Password Complexity on Autonomous Database 。
管理 Autonomous Database 上的密碼複雜性
您可以建立密碼驗證函數 (PVF) 並將 PVF 與設定檔建立關聯,以管理使用者密碼的複雜性。
附註:
使用者指定 PVF 的密碼長度下限為 8 個字元,而且必須包含至少 1 個大寫字母、1 個小寫字母以及 1 個數字字元。DEFAULT 設定檔的密碼長度下限為 12 個字元 (DEFAULT 設定檔使用CLOUD_VERIFY_FUNCTION
PVF)。密碼不能包含使用者名稱。
Oracle 建議使用 12 個字元的密碼長度下限。如果您定義設定檔的 PVF,並將密碼長度下限設為少於 12 個字元,則 Oracle Database Security Assessment Tool (DBSAT) 和 Qualys 等工具會將此報告為資料庫安全風險。
例如,若要為設定檔指定 PVF,請使用下列指令:
CREATE PROFILE example_profile LIMIT PASSWORD_VERIFY_FUNCTION ADMIN.EXAMPLE_PVF
如果設定檔是由 ADMIN 使用者以外的任何使用者建立或更改,則您必須授與 PVF 的 EXECUTE
權限。如果您建立 PVF 且密碼檢查失敗,則資料庫會報告 ORA-28219
錯誤。
您可以從下列其中一項指定 Oracle 提供的 PVF:
CLOUD_VERIFY_FUNCTION
(這是 Autonomous Database 的預設密碼驗證功能):此功能會在使用者建立或修改密碼時檢查下列需求:
-
密碼的長度必須介於 12 到 30 個字元之間,且至少必須包含一個大寫字母、一個小寫字母及一個數字字元。
-
密碼不能包含使用者名稱。
-
相同使用者名稱的密碼不能是最後 4 次使用過的密碼之一。
-
密碼不可包含雙引號 (") 字元.
-
密碼不得與 24 小時前設定的密碼相同。
-
ORA12C_STIG_VERIFY_FUNCTION
此功能會在使用者建立或修改密碼時檢查下列需求:
-
密碼至少要有 15 個字元。
-
密碼至少要有 1 個小寫字元和 1 個大寫字元。
-
密碼至少要有 1 位數。
-
密碼至少包含 1 個特殊字元。
-
密碼與前一個密碼至少要有 8 個字元不同。
如需詳細資訊,請參閱 Oracle Database 19c Security Guide 中的 ora12c_stig_verify_function Password Requirements 或 Oracle Database 23ai Security Guide 。
-
請注意下列您建立並指派給設定檔之「密碼驗證函數 (PVF)」的限制:
-
如果您指定使用者設定檔,密碼長度下限取決於您定義關聯 PVF 的方式,如下所示:
-
如果已定義 PVF,則所強制的密碼長度下限為 8 個字元,其中至少包含一個大寫字母、一個小寫字母以及一個數字字元。密碼不能包含使用者名稱。
-
如果 PVF 定義為
NULL
,則強制的密碼長度下限為 8 個字元,且至少包含一個大寫字母、一個小寫字母及一個數字字元。密碼不能包含使用者名稱。 -
如果設定檔未定義 PVF,則會指派 DEFAULT 設定檔的 PVF (
CLOUD_VERIFY_FUNCTION
),且強制的密碼長度下限為 12 個字元。
-
- 如果您指定的「密碼驗證函數 (PVF)」比預設
CLOUD_VERIFY_FUNCTION
更為嚴格,則會使用新的驗證函數。 -
您建立的 PVF 必須建立為
DEFINER RIGHTS
PL/SQL 函數。如果提供INVOKER
權限 PVF 作為CREATE
或ALTER
PROFILE
的輸入,則會發生ORA-28220
錯誤。 -
您建立的任何 PVF 都必須建立在 ADMIN 使用者架構中。如果提供非 ADMIN 使用者擁有的 PVF 作為
CREATE
或ALTER
PROFILE
的輸入,則會發生ORA-28220
錯誤。 -
非 ADMIN 使用者無法更改或刪除 PVF。也就是說,任何具有
CREATE
或DROP
ANY PROCEDURE
權限的使用者都不能更改或刪除 PVF。 -
如果刪除與設定檔相關聯的 PVF,則在其設定檔中使用 PVF 之使用者的任何嘗試變更密碼都會發出錯誤
ORA-7443
。使用者仍然可以在刪除與其設定檔相關聯的 PVF 時登入。但是,如果使用者的密碼已過期,且 PVF 已被刪除,則使用者無法登入。若要從
ORA-7443
錯誤復原, ADMIN 使用者必須重新建立刪除的 PVF 並將其指派給設定檔,或將現有的 PVF 指派給設定檔。這可讓使用者變更其密碼與登入。 -
CREATE ANY PROCEDURE
系統權限和DROP ANY PROCEDURE
系統權限會受到 PVF 安全性的稽核。如需詳細資訊,請參閱 Oracle Database 19c SQL Language Reference 或 Oracle Database 23ai SQL Language Reference 中 Listings of System and Object Privileges 的PROCEDURES
清單。
如需詳細資訊,請參閱 Oracle Database 19c Security Guide 中的 Managing the Complexity of Passwords 或 Oracle Database 23ai Security Guide 。
應用程式的漸層資料庫密碼變換
應用程式不需要管理員排定停止工作時間,即可變更其資料庫密碼。
若要達成此目的,您可以將 PASSWORD_ROLLOVER_TIME
密碼設定檔參數的設定檔與應用程式綱要建立非零限制。這樣可以更改應用程式使用者的資料庫密碼,同時允許較舊的密碼在 PASSWORD_ROLLOVER_TIME
限制指定的時間內保持有效。在變換期間,應用程式執行處理可以使用舊密碼或新密碼來連線至資料庫伺服器。輪換時間到期時,只允許新的密碼。
請參閱管理應用程式的漸層資料庫密碼變換以瞭解詳細資訊。