本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 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
– 必須為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 也必須啟用傳輸中的加密。
修改身分驗證權杖支援兩種策略: 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-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
參數和具有值 的 --auth-token-update-strategy
參數來呼叫 ModifyReplicationGroup
API操作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操作。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至
登入 AWS Management Console 並在 https://console.aws.amazon.com/elasticache/
開啟 ElastiCache 主控台。 -
從右上角的清單中,選擇要修改的叢集所在的 AWS 區域。
-
在導覽窗格中,選擇您要修改之叢集所執行的引擎。
接著會出現所選引擎的叢集清單。
-
在叢集清單中,針對您要修改的叢集,選擇其名稱。
-
在 Actions (動作) 中,選擇 Modify (修改)。
修改視窗隨即出現。
-
針對存取控制 ,選擇 Valkey AUTH 預設使用者存取權或 Redis OSS AUTH 預設使用者存取權 。
-
在 Valkey AUTH權杖 或 Redis OSSAUTH權杖 下,設定新的權杖。
-
選擇預覽變更,然後在下一個畫面上選擇修改。
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快取上停用存取控制。