設定 IAM 使用者的帳戶密碼政策
您可以在 AWS 帳戶 上設定自訂密碼政策,以指定 IAM 使用者密碼的複雜性要求和強制輪換期間。如果您未設定自訂密碼政策,IAM 使用者密碼必須符合預設 AWS 密碼政策。如需詳細資訊,請參閱 自訂密碼政策選項。
設定密碼政策的規則
IAM 密碼政策不適用於 AWS 帳戶根使用者 密碼或 IAM 使用者存取金鑰。如果密碼到期,IAM 使用者無法登入 AWS Management Console,但可以繼續使用其存取金鑰。
當您建立或變更密碼政策時,大多數密碼政策設定將在使用者下次變更密碼時強制執行。但是,某些設定會立即強制執行。例如:
-
當最短長度和字元類型要求變更時,將在使用者下次變更密碼時強制執行這些設定。即使現有的密碼不遵守更新的密碼政策,也不會強制使用者變更現有的密碼。
-
當您設定密碼過期期間時,會立即強制執行過期期間。例如,假設您將密碼過期期間設定為 90 天。在這種情況下,現有密碼超過 90 天的所有 IAM 使用者的密碼會到期。這些使用者必須在下次登入時變更其密碼。
在指定次數的登入嘗試失敗之後,您無法建立「鎖定政策」來鎖定使用者帳戶。為了增強安全性,我們建議您將強式密碼政策與多重要素驗證 (MFA) 結合。如需有關 MFA 的詳細資訊,請參閱 使用 AWS 中的多重要素驗證 (MFA)。
設定密碼政策所需的許可
您必須設定許可,以允許 IAM 實體 (使用者或角色) 檢視或編輯其帳戶密碼政策。您可以在 IAM 政策中包含下列密碼政策動作:
-
iam:GetAccountPasswordPolicy
– 允許實體檢視其帳戶的密碼政策 -
iam:DeleteAccountPasswordPolicy
– 允許實體刪除其帳戶的自訂密碼政策,並還原為預設密碼政策 -
iam:UpdateAccountPasswordPolicy
– 允許實體建立或變更其帳戶的自訂密碼政策
下列政策允許完整存取權以檢視和編輯帳戶密碼政策。若要了解如何使用此範例 JSON 政策文件來建立 IAM 政策,請參閱 正在使用 JSON 編輯器建立政策。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "FullAccessPasswordPolicy", "Effect": "Allow", "Action": [ "iam:GetAccountPasswordPolicy", "iam:DeleteAccountPasswordPolicy", "iam:UpdateAccountPasswordPolicy" ], "Resource": "*" } ] }
如需 IAM 使用者變更其自己密碼所需許可的資訊,請參閱 允許 IAM 使用者變更自己的密碼。
預設密碼政策
如果管理員未設定自訂密碼政策,則 IAM 使用者密碼必須符合預設 AWS 密碼政策。
注意
AWS 是持續改進登入程序。這些改進之一對您的帳戶強制執行更安全的密碼政策。如果您的帳戶已升級,您必須符合本區段中的密碼政策。如果您的帳戶尚未升級,則 AWS 不會強制執行此政策,但強烈建議您依照其指導方針,以取得更安全的密碼。
預設密碼政策會強制執行下列條件:
-
密碼長度最短為 8 個字元,最長為 128 個字元。
-
至少混用 3 種下列類型字元:大寫、小寫、數字和非英數字元 (
! @ # $ % ^ & * ( ) _ + - = [ ] { } | '
) -
不能與您的 AWS 帳戶 名稱或電子郵件相同
-
保證密碼不會過期
自訂密碼政策選項
當您設定帳戶的自訂密碼政策時,您可以指定下列條件:
-
密碼最小長度 – 您可以指定至少 6 個字元,最多可指定 128 個字元。
-
密碼強度 – 您可以選取下列任一核取方塊來定義 IAM 使用者密碼的強度:
-
至少需要一個拉丁字母 (A–Z) 的大寫字母
-
至少需要一個拉丁字母 (a–z) 的小寫字母
-
至少需要有一個數字
-
至少需要一個非英數字元的字元
! @ # $ % ^ & * ( ) _ + - = [ ] { } | '
-
-
Turn on password expiration (啟用密碼過期) – 您可以選取並指定至少 1 天,且最長為 1,095 天的 IAM 使用者密碼有效期,設定後生效。例如,如果您指定 90 天的到期日,它會立即影響所有使用者。對於密碼超過 90 天的使用者,當他們在變更後登入主控台時,必須設定新密碼。75-89 天的使用者會收到 AWS Management Console 警告,告知其密碼過期。IAM 使用者可隨時變更密碼 (如果他們有許可)。當他們設定新的密碼時,該密碼的到期期間將重新開始。IAM 使用者一次只能有一個有效的密碼。
-
Password expiration requires administrator reset (密碼過期需要管理員重設) – 選取此選項可防止 IAM 使用者在密碼過期後使用 AWS Management Console 更新自己的密碼。在選取此選項之前,請確認您的 AWS 帳戶 有多個具有管理許可的使用者,以重設 IAM 使用者密碼。具有
iam:UpdateLoginProfile
許可的管理員可以重設 IAM 使用者密碼。具有iam:ChangePassword
許可和作用中存取金鑰的 IAM 使用者可以程式設計方式重設自己的 IAM 使用者主控台密碼。如果您清除此核取方塊,密碼到期的 IAM 使用者仍必須先設定新密碼,才能存取 AWS Management Console。 -
Allow users to change their own password (允許使用者變更自己的密碼) – 您可以允許帳戶中的所有 IAM 使用者變更自己的密碼。這可讓使用者僅針對其使用者存取
iam:ChangePassword
動作,並存取iam:GetAccountPasswordPolicy
動作。此選項不會將許可政策連接到每個使用者。反之,IAM 會在帳戶層級套用許可到所有使用者。或者,您只允許一些使用者管理自己的密碼。若要執行這項操作,請清除此核取方塊。如需有關使用政策以限制誰可以管理密碼的詳細資訊,請參閱 允許 IAM 使用者變更自己的密碼。 -
防止密碼重複使用 – 您可以防止 IAM 使用者重複使用舊密碼的指定數字。您可以指定長度下限為 1,以及長度上限為 24 的舊密碼,無法重複使用。
設定密碼政策 (主控台)
您可以使用 AWS Management Console 建立、變更或刪除自訂密碼政策。
建立自訂密碼政策 (主控台)
登入 AWS Management Console,並開啟位於 https://console.aws.amazon.com/iam/
的 IAM 主控台。 -
在導覽窗格中,選擇 Account settings (帳戶設定)。
-
在 Password policy (密碼政策) 區段中,選擇 Edit (編輯)。
-
選擇 Custom (自訂) 以使用自訂密碼政策。
-
選取要套用至密碼政策的選項,然後選擇 Save changes (儲存變更)。
-
選擇 Set custom (設定自訂),確認您要設定自訂密碼政策。
變更自訂密碼政策 (主控台)
登入 AWS Management Console,並開啟位於 https://console.aws.amazon.com/iam/
的 IAM 主控台。 -
在導覽窗格中,選擇 Account settings (帳戶設定)。
-
在 Password policy (密碼政策) 區段中,選擇 Edit (編輯)。
-
選取要套用至密碼政策的選項,然後選擇 Save changes (儲存變更)。
-
選擇 Set custom (設定自訂),確認您要設定自訂密碼政策。
要刪除自訂密碼政策 (主控台)
登入 AWS Management Console,並開啟位於 https://console.aws.amazon.com/iam/
的 IAM 主控台。 -
在導覽窗格中,選擇 Account settings (帳戶設定)。
-
在 Password policy (密碼政策) 區段中,選擇 Edit (編輯)。
-
選擇 IAM default (IAM 預設值) 以刪除自訂密碼政策,然後選擇 Save changes (儲存變更)。
-
選擇 Set default (設定預設值),確認您要設定 IAM 預設密碼政策。
設定密碼政策 (AWS CLI)
您可以使用 AWS Command Line Interface 來設定密碼政策。
若要管理來自 AWS CLI 的自訂帳戶密碼政策
執行下列命令:
-
若要建立或變更自訂密碼政策:
aws iam update-account-password-policy
-
若要檢視密碼政策:
aws iam get-account-password-policy
-
若要刪除自訂密碼政策:
aws iam delete-account-password-policy
設定密碼政策 (AWS API)
您可以使用 AWS API 操作來設定密碼政策。
從 AWS API 管理自訂帳戶密碼政策
呼叫以下操作:
-
若要建立或變更自訂密碼政策:
UpdateAccountPasswordPolicy
-
若要檢視密碼政策:
GetAccountPasswordPolicy
-
若要刪除自訂密碼政策:
DeleteAccountPasswordPolicy