本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 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
– 必須為valkey
或redis
。 -
--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-descriptionauthtest
\ --engineredis
\ --cache-node-typecache.m4.large
\ --num-node-groups1
\ --replicas-per-node-group2
\ --transit-encryption-enabled \ --auth-tokenThis-is-a-sample-token
\ --cache-subnet-groupsng-test
針對 Windows:
aws elasticache create-replication-group ^ --replication-group-id
authtestgroup
^ --replication-group-descriptionauthtest
^ --engineredis
^ --cache-node-typecache.m4.large
^ --num-node-groups1
^ --replicas-per-node-group2
^ --transit-encryption-enabled ^ --auth-tokenThis-is-a-sample-token
^ --cache-subnet-groupsng-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-tokenThis-is-the-rotated-token
\ --auth-token-update-strategy ROTATE \ --apply-immediately
針對 Windows:
aws elasticache modify-replication-group ^ --replication-group-id
authtestgroup
^ --auth-tokenThis-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-tokenThis-is-the-set-token
\ --auth-token-update-strategy SET \ --apply-immediately
針對 Windows:
aws elasticache modify-replication-group ^ --replication-group-id
authtestgroup
^ --auth-tokenThis-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
登入 AWS Management Console ,並在 https://https://console.aws.amazon.com/elasticache/
開啟 ElastiCache 主控台。 -
從右上角的清單中,選擇您要修改的叢集所在的 AWS 區域。
-
在導覽窗格中,選擇您要修改之叢集所執行的引擎。
接著會出現所選引擎的叢集清單。
-
在叢集清單中,針對您要修改的叢集,選擇其名稱。
-
在 Actions (動作) 中,選擇 Modify (修改)。
修改視窗隨即出現。
-
針對存取控制,選擇 Valkey AUTH 預設使用者存取權或 Redis OSS AUTH 預設使用者存取權。
-
在 Valkey AUTH 字符或 Redis OSS AUTH 字符下,設定新的字符。
-
選擇預覽變更,然後在下一個畫面上選擇修改。
使用 從 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 快取上停用存取控制。