使用 Valkey 和 Redis OSS AUTH 命令進行驗證 - Amazon ElastiCache

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

使用 Valkey 和 Redis OSS AUTH 命令進行驗證

注意

AUTH 已由 取代角色型存取控制 (RBAC) 規則數量。所有無伺服器快取都必須使用 RBAC 進行身分驗證。

Valkey 和 Redis OSS 身分驗證字符或密碼可讓 Valkey 和 Redis OSS 在允許用戶端執行命令之前要求密碼,藉此改善資料安全性。僅適用於AUTH自行設計的叢集。

ElastiCache for Valkey 和 Redis OSS 中的 AUTH 概觀

當您AUTH搭配 ElastiCache for Valkey 和 Redis OSS 叢集使用 時,有一些改進。

特別是,在使用 AUTH 時,請注意這些 AUTH 字符或密碼限制:

  • 字符 (或密碼) 必須為 16 - 128 個可列印字元。

  • 非英數字元僅限使用 (!、&、#、$、^、<、>、-)。

  • AUTH 只能針對啟用傳輸中加密的 Valkey 或 Redis OSS 叢集啟用。

若要設定高強度的字符,建議您遵循嚴格的密碼政策,例如需符合以下要求:

  • 字符或密碼必須包含至少三種下列字元類型:

    • 大寫字元

    • 小寫字元

    • 數字

    • 非英數字元 (!&#$^<>-)

  • 字符或密碼不得包含字典字詞或稍微修改的字典字詞。

  • 字符或密碼不得與最近使用的字符相同或相似。

將身分驗證套用至 ElastiCache for Valkey 和 Redis OSS 叢集

您可以要求使用者在字符保護的 Valkey 或 Redis OSS 伺服器上輸入字符 (密碼)。若要執行此操作,請在您建立複寫群組或叢集時加入有正確字符的參數 --auth-token (API: AuthToken)。而且也要在複寫群組或叢集的所有後續命令中加入。

下列 AWS CLI 操作會建立啟用傳輸中加密 (TLS) 和AUTH字符 的複寫群組This-is-a-sample-token。將子網路群組 sng-test 取代為已存在的子網路群組。

重要參數
  • --engine – 必須為 valkeyredis

  • --engine-version – 如果引擎是 Redis OSS,則 必須是 3.2.6、4.0.10 或更新版本。

  • --transit-encryption-enabled - 身分驗證及符合 HIPAA 資格的必要項目。

  • --auth-token - 符合 HIPAA 資格的必要項目。此值必須是此字符保護的 Valkey 或 Redis OSS 伺服器的正確字符。

  • --cache-subnet-group - 符合 HIPAA 資格的必要項目。

若為 Linux、macOS 或 Unix:

aws elasticache create-replication-group \ --replication-group-id authtestgroup \ --replication-group-description authtest \ --engine redis \ --cache-node-type cache.m4.large \ --num-node-groups 1 \ --replicas-per-node-group 2 \ --transit-encryption-enabled \ --auth-token This-is-a-sample-token \ --cache-subnet-group sng-test

針對 Windows:

aws elasticache create-replication-group ^ --replication-group-id authtestgroup ^ --replication-group-description authtest ^ --engine redis ^ --cache-node-type cache.m4.large ^ --num-node-groups 1 ^ --replicas-per-node-group 2 ^ --transit-encryption-enabled ^ --auth-token This-is-a-sample-token ^ --cache-subnet-group sng-test

修改現有叢集上的 AUTH 字符

若要更輕鬆地更新身分驗證,您可以修改叢集上使用的AUTH字符。如果引擎版本是 Valkey 7.2 或更新版本,或 Redis 5.0.6 或更新版本,您可以進行此修改。ElastiCache 也必須啟用傳輸中加密。

Auth 字符修改支援兩種策略:ROTATE 和 SET。ROTATE 策略會將額外的 AUTH 字符新增至伺服器,同時保留先前的字符。SET 策略會更新伺服器,僅支援單一 AUTH 字符。使用 --apply-immediately 參數進行這些修改呼叫以立即套用變更。

輪換 AUTH 字符

若要使用新的 AUTH 字符更新 Valkey 或 Redis OSS 伺服器,請呼叫具有 --auth-token 參數的 ModifyReplicationGroup API 做為新的AUTH字符,並使用值 ROTATE --auth-token-update-strategy呼叫 。ROTATE 修改完成後,除了 auth-token 參數中指定的字符外,叢集還支援先前的 AUTH 字符。如果在 AUTH 字符輪換之前未在複寫群組上設定 AUTH 字符,則叢集除了支援無需身分驗證的連線之外,還支援 --auth-token 參數中指定的 AUTH 字符。請參閱 設定 AUTH 字符 以使用更新策略 SET 更新需要的 AUTH 權杖。

注意

如果您之前沒有設定 AUTH 字符,那麼一旦修改完成,除了 auth-token 參數中指定的字符之外,叢集將不支援任何 AUTH 字符。

如果在已支援兩個 AUTH 字符的伺服器上執行此修改,則在此操作期間也會移除最舊的 AUTH 字符。這可讓伺服器在特定時間支援最多兩個最新的 AUTH 字符。

此時,您可以更新用戶端以使用最新的 AUTH 字符以繼續。用戶端更新後,您可以使用 AUTH 字符輪換的 SET 策略 (於以下章節說明) 以僅開始使用新的字符。

下列 AWS CLI 操作會修改複寫群組以輪換AUTH字符 This-is-the-rotated-token

若為 Linux、macOS 或 Unix:

aws elasticache modify-replication-group \ --replication-group-id authtestgroup \ --auth-token This-is-the-rotated-token \ --auth-token-update-strategy ROTATE \ --apply-immediately

針對 Windows:

aws elasticache modify-replication-group ^ --replication-group-id authtestgroup ^ --auth-token This-is-the-rotated-token ^ --auth-token-update-strategy ROTATE ^ --apply-immediately

設定 AUTH 字符

若要更新 Valkey 或 Redis OSS 伺服器以支援單一必要的AUTH字符,請使用與最後一個 AUTH 字符具有相同值的 --auth-token 參數呼叫 ModifyReplicationGroup API 操作,並使用值 呼叫 --auth-token-update-strategy 參數SET。SET 策略只能與具有 2 個 AUTH 字符或 1 個先前使用 ROTATE 策略之選用 AUTH 字符的叢集搭配使用。修改完成後,伺服器僅支援在 auth-token 參數中指定的 AUTH 字符。

下列 AWS CLI 操作會修改複寫群組,將 AUTH 字符設定為 This-is-the-set-token

若為 Linux、macOS 或 Unix:

aws elasticache modify-replication-group \ --replication-group-id authtestgroup \ --auth-token This-is-the-set-token \ --auth-token-update-strategy SET \ --apply-immediately

針對 Windows:

aws elasticache modify-replication-group ^ --replication-group-id authtestgroup ^ --auth-token This-is-the-set-token ^ --auth-token-update-strategy SET ^ --apply-immediately

在現有叢集上啟用身分驗證

若要在現有的 Valkey 或 Redis OSS 伺服器上啟用身分驗證,請呼叫 ModifyReplicationGroup API 操作。使用 --auth-token 參數為新的字符,以及值為 ROTATE 的 --auth-token-update-strategy 呼叫 ModifyReplicationGroup

ROTATE 修改完成後,叢集除了支援無需身分驗證的連線之外,還支援 --auth-token 參數中指定的AUTH字符。更新所有用戶端應用程式以使用 AUTH 字符驗證 Valkey 或 Redis OSS 後,請使用 SET 策略將 AUTH 字符標記為必要。只有啟用傳輸中加密 (TLS) 的 Valkey 和 Redis OSS 伺服器才支援啟用身分驗證。

從 RBAC 遷移至 AUTH

如果您使用 Valkey 或 Redis OSS 角色型存取控制 (RBAC) 驗證使用者,如 所述角色型存取控制 (RBAC) 規則數量,而且您想要遷移至 AUTH,請使用下列程序。您可以使用主控台或 CLI 進行遷移。

使用主控台從 RBAC 遷移至 AUTH
  1. 登入 AWS Management Console ,並在 https://https://console.aws.amazon.com/elasticache/ 開啟 ElastiCache 主控台。

  2. 從右上角的清單中,選擇您要修改的叢集所在的 AWS 區域。

  3. 在導覽窗格中,選擇您要修改之叢集所執行的引擎。

    接著會出現所選引擎的叢集清單。

  4. 在叢集清單中,針對您要修改的叢集,選擇其名稱。

  5. Actions (動作) 中,選擇 Modify (修改)。

    修改視窗隨即出現。

  6. 針對存取控制,選擇 Valkey AUTH 預設使用者存取權Redis OSS AUTH 預設使用者存取權

  7. Valkey AUTH 字符Redis OSS AUTH 字符下,設定新的字符。

  8. 選擇預覽變更,然後在下一個畫面上選擇修改

使用 從 RBAC 遷移至 AUTH AWS CLI

使用下列其中一個命令,為您的 Valkey 或 Redis OSS 複寫群組設定新的選用AUTH權杖。請注意,選用的身分驗證字符將允許未經驗證的複寫群組存取,直到驗證字符標示為必要,並SET依照下列步驟使用更新策略。

若為 Linux、macOS 或 Unix:

aws elasticache modify-replication-group \ --replication-group-id test \ --remove-user-groups \ --auth-token This-is-a-sample-token \ --auth-token-update-strategy ROTATE \ --apply-immediately

針對 Windows:

aws elasticache modify-replication-group ^ --replication-group-id test ^ --remove-user-groups ^ --auth-token This-is-a-sample-token ^ --auth-token-update-strategy ROTATE ^ --apply-immediately

執行上述命令後,您可以使用新設定的選用 AUTH 權杖,更新您的 Valkey 或 Redis OSS 應用程式以驗證 ElastiCache 複寫群組。若要完成身分驗證字符輪換,請在下列後續命令SET中使用更新策略。這將視需要標記為選用的 AUTH 字符。驗證字符更新完成時,複寫群組狀態會顯示為 ACTIVE,且此複寫群組的所有連線都需要身分驗證。

若為 Linux、macOS 或 Unix:

aws elasticache modify-replication-group \ --replication-group-id test \ --auth-token This-is-a-sample-token \ --auth-token-update-strategy SET \ --apply-immediately

針對 Windows:

aws elasticache modify-replication-group ^ --replication-group-id test ^ --remove-user-groups ^ --auth-token This-is-a-sample-token ^ --auth-token-update-strategy SET ^ --apply-immediately

如需詳細資訊,請參閱使用 Valkey 和 Redis OSS AUTH 命令進行驗證

注意

如果您需要停用 ElastiCache 叢集上的存取控制,請參閱 在 ElastiCache Valkey 或 Redis OSS 快取上停用存取控制

OSZAR »
OSZAR »