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

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

使用 Valkey 和 Redis OSSAUTH命令進行驗證

注意

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

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

ElastiCache 使用 Valkey 和 Redis 在 AUTH中的 概觀 OSS

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

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

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

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

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

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

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

    • 大寫字元

    • 小寫字元

    • 數字

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

  • 權杖或密碼不得包含字典單字或略微修改的字典單字。

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

ElastiCache 使用 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 也必須啟用傳輸中的加密。

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

輪換AUTH權杖

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

注意

如果您之前未設定AUTH權杖,則修改完成後,除了驗證權杖參數中指定的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 參數和具有值 的 --auth-token-update-strategy 參數來呼叫 ModifyReplicationGroupAPI操作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 伺服器上啟用身分驗證,請呼叫 ModifyReplicationGroupAPI操作。ModifyReplicationGroup 使用 --auth-token 參數作為新權杖呼叫 ,並使用 值 --auth-token-update-strategy呼叫 ROTATE。

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

從 遷移RBAC至 AUTH

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

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

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

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

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

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

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

    修改視窗隨即出現。

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

  7. Valkey AUTH權杖Redis OSSAUTH權杖 下,設定新的權杖。

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

AUTH使用 從 遷移RBAC至 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 OSSAUTH命令進行驗證

注意

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