使用者集區進階安全功能 - Amazon Cognito

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用者集區進階安全功能

在您建立您的使用者集區之後,您可以在 Amazon Cognito 主控台導覽列上,存取 Advanced security (進階安全性)。您可以啟用這些使用者集區進階安全性功能,並自訂因應不同風險而執行的動作。或者,您可以使用稽核模式來收集偵測到風險的指標,而不需要使用任何安全性緩解措施。在稽核模式中,進階安全功能會將指標發佈至 Amazon CloudWatch。Amazon Cognito 產生第一個進階安全性事件後,您可以看到進階安全性指標。請參閱 檢視威脅防護指標

進階安全性功能有另外的定價。如需詳細資訊,請參閱 Amazon Cognito 定價

下列使用者集區選項是進階安全功能的元件。

存取權杖自訂

啟用進階安全功能時,您可以將使用者集區設定為接受第 2 版 Lambda 觸發程序事件的回應。使用第 2 版,您可以在存取權杖中自訂範圍和其他宣告。這可提高您在使用者驗證時建立彈性授權結果的能力。如需詳細資訊,請參閱自訂存取權杖

威脅防護

威脅防護是一組監控工具,用於使用者集區中不需要的活動,以及用於自動關閉潛在惡意活動的組態工具。威脅防護對於標準和自訂身分驗證操作有不同的組態選項。例如,您可能想要傳送通知給具有可疑自訂身分驗證登入的使用者,其中您已設定其他安全因素,但使用基本的使用者名稱密碼身分驗證來封鎖處於相同風險層級的使用者。

憑證洩漏

使用者重複使用多個使用者帳戶的密碼。Amazon Cognito 的憑證洩漏功能,會編譯公開洩漏的使用者名稱和密碼,然後將您的使用者憑證與洩漏憑證清單進行比較。憑證洩漏偵測也會檢查容易猜測的密碼。您可以在使用者集區的標準 username-and-password身分驗證流程中檢查遭入侵的憑證。Amazon Cognito 不會在安全遠端密碼 (SRP) 或自訂身分驗證中偵測到遭入侵的憑證。

您可以選擇提示檢查洩漏憑證的使用者動作,以及您希望 Amazon Cognito 採取的動作。對於登入、註冊和密碼變更事件,Amazon Cognito 可以 封鎖登入允許登入。在這兩種情況下,Amazon Cognito 都會產生使用者活動日誌,您可以在其中找到有關事件的詳細資訊。

自適應身分驗證

Amazon Cognito 可以檢閱使用者登入請求中的位置和裝置資訊,並套用自動回應來保護使用者集區中的使用者帳戶不受可疑活動影響。您可以監控使用者活動,並自動回應使用者名稱密碼和 中偵測到的風險等級SRP,以及自訂身分驗證。

當您啟用進階安全性時,Amazon Cognito 會為使用者活動指派風險評分。您可以為可疑活動指派自動回應:您可以要求 MFA封鎖登入 ,或只記錄活動詳細資訊和風險分數。您也可以自動傳送電子郵件訊息,通知您的使用者發現可疑活動,讓他們可以重設密碼或採取其他自助式動作。

IP 地址允許清單和拒絕清單

藉由 完整功能 模式中的 Amazon Cognito 進階安全性功能,您可以建立 IP 地址 一律封鎖一律允許 例外狀況。來自 Always block (一律封鎖) 例外狀況列表上的 IP 地址的工作階段,未透過自適應身分驗證指派風險層級,而且無法登入到您的使用者集區。

日誌匯出

進階安全功能會將使用者身分驗證請求的精細詳細資訊記錄到您的使用者集區。這些日誌具有威脅評估、使用者資訊和工作階段中繼資料,例如位置和裝置。您可以建立這些日誌的外部封存,以進行保留和分析。Amazon Cognito 使用者將威脅防護日誌匯出至 Amazon S3、 CloudWatch Logs 和 Amazon Data Firehose。如需詳細資訊,請參閱檢視和匯出使用者事件歷史記錄

電子郵件 MFA

擴展使用者集區的多因素身分驗證 (MFA) 功能。根據預設,使用者集區可以在SMS訊息中產生代碼,或使用您與使用者身分驗證器應用程式共用的私有以時間為基礎的一次性密碼 (TOTP) 金鑰產生代碼。透過進階安全功能和 Amazon SES電子郵件傳送組態,您可以MFA為使用者集區中的使用者啟用電子郵件、將電子郵件設定為偏好的MFA方法,並將MFA代碼傳送至使用者的電子郵件地址。如需詳細資訊,請參閱電子郵件 MFA

防止密碼重複使用

使用者可能會在幾個記住的密碼之間來回切換。威脅防護中遭入侵的登入資料偵測可以減輕密碼管理不良的一些長期影響。密碼歷史記錄政策負責處理其餘項目。透過防止密碼重複使用,您可以將使用者的新密碼與最近 n 個密碼進行比較,最多 24 個,如果有相符項目,則可以封鎖密碼重設操作。

進階安全功能的考量和限制

驗證流程之間的威脅防護選項不同

Amazon Cognito 透過身分驗證流程 和 支援適應性身分驗證USER_PASSWORD_AUTH和遭入侵憑證偵測ADMIN_USER_PASSWORD_AUTH。您只能為 啟用適應性身分驗證USER_SRP_AUTH。您無法搭配聯合登入使用威脅防護。

一律封鎖IPs有助於請求配額

阻擋來自您使用者集區中的 Always block (一律封鎖) 例外狀況列表上的 IP 地址的請求,有助於您使用者集區的請求速率配額

威脅防護不適用於速率限制

有些惡意流量具有大量請求的特徵,例如分散式拒絕服務 (DDoS) 攻擊。Amazon Cognito 套用至傳入流量的風險評分是依請求而定,不會將請求磁碟區納入考量。大量事件中的個別請求可能會收到風險分數,以及應用程式層原因的自動回應,這些原因與其在大量攻擊中的角色無關。若要在使用者集區中實作對抗大量攻擊的防禦,請新增 AWS WAF Web ACLs。如需詳細資訊,請參閱將 AWS WAF Web ACL與使用者集區建立關聯

威脅防護不會影響 M2M 請求

用戶端憑證授予旨在進行 machine-to-machine (M2M) 授權,而沒有與使用者帳戶的連線。進階安全性功能只會監控使用者集區中的帳戶和密碼。若要使用 M2M 活動實作安全功能,請考慮 AWS WAF 用於監控請求率和內容的功能。如需詳細資訊,請參閱將 AWS WAF Web ACL與使用者集區建立關聯

開啟進階安全功能

Amazon Cognito user pools console
啟用使用者集區的進階安全功能
  1. 前往 Amazon Cognito 主控台。如果出現提示,請輸入您的 AWS 憑證。

  2. 選擇 User Pools (使用者集區)。

  3. 從清單中選擇現有的使用者集區,或建立使用者集區

  4. 選擇進階安全索引標籤,然後選擇啟用

  5. 選擇 Save changes (儲存變更)。

API

CreateUserPoolUpdateUserPoolAPI請求中設定作用中的進階安全功能。下列部分範例請求內文會將進階安全功能設定為全功能模式。如需完整的範例請求,請參閱範例

"UserPoolAddOns": { "AdvancedSecurityMode": "ENFORCED" }