使用CREATE PROFILE命令可建立新設定檔。
文法如下:
CREATE PROFILE profile_name
[LIMIT {parameter value} ... ];包括 LIMIT 子句以及一個或多個空格分隔的parameter/value 對,以指定PolarDB O引擎強制實施的規則。
參數
參數 | 說明 |
profile_name | 指定設定檔的名稱。 |
parameter | 指定設定檔限制的屬性。 |
value | 指定參數限制。 |
對於每個 parameter,PolarDB O引擎支援以下顯示的 value:
FAILED_LOGIN_ATTEMPTS 指定在伺服器將使用者賬戶鎖定 PASSWORD_LOCK_TIME 所指定的時間長度之前,使用者可能進行的登入嘗試失敗次數。支援的值為:
大於 0 的 INTEGER 值。
DEFAULT - DEFAULT 設定檔中指定的 FAILED_LOGIN_ATTEMPTS 的值。
UNLIMITED – 正在串連的使用者可以進行無限次數的失敗登入嘗試。
PASSWORD_LOCK_TIME 指定在伺服器解鎖因 FAILED_LOGIN_ATTEMPTS 而被鎖定的賬戶之前必須經過的時間長度。支援的值為:
大於等於 0 的 NUMERIC 值。要指定一天的小數部分,請指定一個小數值。例如,使用值 4.5 可指定 4 天 12 小時。
DEFAULT - DEFAULT 設定檔中指定的 PASSWORD_LOCK_TIME 的值。
UNLIMITED – 賬戶被鎖定,直到由資料庫超級使用者手動解鎖。
PASSWORD_LIFE_TIME 指定在提示使用者提供新密碼之前,可以使用當前密碼的天數。在使用 PASSWORD_LIFE_TIME 子句時包含 PASSWORD_GRACE_TIME 子句可指定在角色的串連被拒絕之前,密碼到期後將經過的天數。如果未指定 PASSWORD_GRACE_TIME,則密碼將在 PASSWORD_GRACE_TIME 的預設值指定的那天到期,並且在提供新密碼之前,不允許使用者執行任何命令。支援的值為:
大於等於 0 的 NUMERIC 值。要指定一天的小數部分,請指定一個小數值。例如,使用值 4.5 可指定 4 天 12 小時。
DEFAULT - DEFAULT 設定檔中指定的 PASSWORD_LIFE_TIME 的值。
UNLIMITED – 密碼沒有到期日期。
PASSWORD_GRACE_TIME 指定密碼到期後的寬限期的長度,直到使用者被迫更改密碼為止。在寬限期到期後,將允許使用者進行串連,但在使用者更新其到期密碼之前,不允許使用者執行任何命令。支援的值為:
大於等於 0 的 NUMERIC 值。要指定一天的小數部分,請指定一個小數值。例如,使用值 4.5 可指定 4 天 12 小時。
DEFAULT - DEFAULT 設定檔中指定的 PASSWORD_GRACE_TIME 的值。
UNLIMITED – 寬限期是無限的。
PASSWORD_REUSE_TIME 指定使用者在重新使用密碼前必須等待的天數。
PASSWORD_REUSE_TIME 和 PASSWORD_REUSE_MAX 參數旨在一起使用。如果為其中一個參數指定有限值,而另一個參數為 UNLIMITED,則永遠無法重新使用舊密碼。如果這兩個參數都設定為 UNLIMITED,則密碼重新使用沒有限制。支援的值為:
大於等於 0 的 NUMERIC 值。要指定一天的小數部分,請指定一個小數值。例如,使用值 4.5 可指定 4 天 12 小時。
DEFAULT - DEFAULT 設定檔中指定的 PASSWORD_REUSE_TIME 的值。
UNLIMITED – 可以不受限制地重新使用密碼。
PASSWORD_REUSE_MAX 指定在密碼可重新使用前必鬚髮生的密碼更改次數。
PASSWORD_REUSE_TIME 和 PASSWORD_REUSE_MAX 參數旨在一起使用。如果為其中一個參數指定有限值,而另一個參數為 UNLIMITED,則永遠無法重新使用舊密碼。如果這兩個參數都設定為 UNLIMITED,則密碼重新使用沒有限制。支援的值為:
大於等於 0 的 INTEGER 值。
DEFAULT - DEFAULT 設定檔中指定的 PASSWORD_REUSE_MAX 的值。
UNLIMITED – 可以不受限制地重新使用密碼。
PASSWORD_VERIFY_FUNCTION 指定密碼複雜性。支援的值為:
PL/SQL 函數的名稱。
DEFAULT - DEFAULT 設定檔中指定的 PASSWORD_VERIFY_FUNCTION 的值。
NULL
PASSWORD_ALLOW_HASHED 指定是否允許使用加密的密碼。如果將值指定為 TRUE,系統將允許使用者通過在用戶端指定雜湊計算加密密碼來更改密碼。不過,如果您將值指定為 FALSE,則必須以純文字形式指定密碼,以便有效地進行驗證,否則,在伺服器收到加密的密碼時將引發錯誤。支援的值為:
BOOLEAN 值 TRUE/ON/YES/1 或 FALSE/OFF/NO/0。
DEFAULT - DEFAULT 設定檔中指定的 PASSWORD_ALLOW_HASHED 的值。
PASSWORD_ALLOW_HASHED 參數與 Oracle 不相容。
注釋
可使用 DROP PROFILE 命令刪除設定檔。
樣本
以下命令建立名為 acctg 的設定檔。該設定檔指定,如果使用者在五次嘗試內未採用正確的密碼通過身分識別驗證,則賬戶將鎖定一天:
CREATE PROFILE acctg LIMIT
FAILED_LOGIN_ATTEMPTS 5
PASSWORD_LOCK_TIME 1;以下命令建立名為 sales 的設定檔。該設定檔指定,使用者必須每隔 90 天更改一次密碼:
CREATE PROFILE sales LIMIT
PASSWORD_LIFE_TIME 90
PASSWORD_GRACE_TIME 3;如果使用者在設定檔指定的 90 天過去之前未更改其密碼,則登入時會收到警告。3 天寬限期過後,將不允許其賬戶調用任何命令,直到使用者更改其密碼。
以下命令建立名為 accts 的設定檔。該設定檔指定,使用者在上次使用密碼後 180 天內不能重新使用密碼,且至少必須更改密碼 5 次,之後才能重新使用密碼:
CREATE PROFILE accts LIMIT
PASSWORD_REUSE_TIME 180
PASSWORD_REUSE_MAX 5;以下命令建立名為 resources 的設定檔。該設定檔調用名為 password_rules 的使用者定義函數,以驗證所提供的密碼是否滿足其複雜性標準:
CREATE PROFILE resources LIMIT
PASSWORD_VERIFY_FUNCTION password_rules;