本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Redis 的 OSS AUTH 命令進行驗證
注意
雷迪斯 OSS AUTH 已被取代。角色型存取控制 (RBAC) 規則數量所有無伺服器快取都必須使用 RBAC 進行身分驗證。
Redis OSS 驗證權杖或密碼可讓 Redis OSS 在允許用戶端執行命令之前要求輸入密碼,進而改善資料安全性。Redis OSS 僅適用AUTH於自行設計的叢集。
主題
中的 AUTH 概述 ElastiCache (Redis 的 OSS)
當您將 Redis 作業系統AUTH與 ElastiCache (Redis OSS) 叢集搭配使用時,會有一些改進。
特別是,將 AUTH 與 ElastiCache (Redis OSS)一起使用時,請注意這些 AUTH 令牌或密碼約束:
-
字符 (或密碼) 必須為 16 - 128 個可列印字元。
-
非英數字元僅限使用 (!、&、#、$、^、<、>、-)。
-
只能針對已啟用加密的傳輸中 ElastiCache (Redis OSS) 叢集啟用 AUTH。
若要設定高強度的字符,建議您遵循嚴格的密碼政策,例如需符合以下要求:
-
權杖或密碼必須至少包含下列三種字元類型:
-
大寫字元
-
小寫字元
-
數字
-
非英數字元 (
!
、&
、#
、$
、^
、<
、>
、-
)
-
-
令牌或密碼不得包含字典單詞或稍微修改的字典單詞。
-
令牌或密碼不得與最近使用的令牌相同或相似。
將驗證套用至 ElastiCache (Redis OSS) 叢集
您可以要求使用者在受權杖保護的 Redis OSS 伺服器上輸入權杖 (密碼)。若要執行此操作,請在您建立複寫群組或叢集時加入有正確字符的參數 --auth-token
(API: AuthToken
)。而且也要在複寫群組或叢集的所有後續命令中加入。
下列 AWS CLI 作業會建立已啟用傳輸中加密 (TLS) 和AUTH權杖的複寫群組
。將子網路群組 This-is-a-sample-token
sng-test
取代為已存在的子網路群組。
重要參數
-
--engine
- 必須為redis
。 -
--engine-version
- 必須是 3.2.6、4.0.10 以上版本。 -
--transit-encryption-enabled
- 身分驗證及符合 HIPAA 資格的必要項目。 -
--auth-token
- 符合 HIPAA 資格的必要項目。此值必須是此受權杖保護之 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
修改現有 ElastiCache (Redis OSS) 叢集上的驗證權杖
若要更輕鬆地更新驗證,您可以修改 ElastiCache (Redis OSS) 叢集上使用的AUTH權杖。如果引擎版本為 5.0.6 或更高版本,且 ElastiCache (Redis OSS) 在傳輸過程中啟用了加密,您可以進行此修改。
Auth 字符修改支援兩種策略:ROTATE 和 SET。ROTATE 策略向服務器添加了一個額外的 AUTH 令牌,同時保留以前的令牌。SET 策略更新服務器以僅支持單個 AUTH 令牌。使用 --apply-immediately
參數進行這些修改呼叫以立即套用變更。
輪換 AUTH 字符
若要使用新的 AUTH 權杖更新 Redis OSS 伺服器,請使用--auth-token
參數作為新AUTH權杖呼叫 ModifyReplicationGroup
API,並--auth-token-update-strategy
使用值旋轉呼叫 API。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 字符
要更新 Redis OSS 服務器以支持單個必需AUTH令牌,請使用與最後一個 AUTH 令牌相同的值的--auth-token
參數調用 ModifyReplicationGroup
API 操作,並使用該值的--auth-token-update-strategy
參數。SET
SET 策略只能與具有 2 個 AUTH 令牌或 1 個可選 AUTH 令牌的集群一起使用,從而使用 ROTATE 策略。修改完成後,Redis OSS 伺服器僅支援在驗證權杖參數中指定的 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
在現有 ElastiCache (Redis OSS) 叢集上啟用驗證
若要在現有 Redis OSS 伺服器上啟用驗證,請呼叫 ModifyReplicationGroup
API 作業。使用 --auth-token
參數為新的字符,以及值為 ROTATE 的 --auth-token-update-strategy
呼叫 ModifyReplicationGroup
。
RO AUTH TATE 修改完成後,除了支援不驗證的連線之外,叢集還支援在--auth-token
參數中指定的權杖。將所有用戶端應用程式更新為使用 AUTH 權杖向 Redis OSS 進行驗證之後,請使用 SET 策略將 AUTH 權杖標記為必要。只有啟用傳輸中加密 (TLS) 的 Redis OSS 伺服器才支援啟用驗證。
從 RBAC 遷移到雷迪斯的操作系統身份驗證
如果您正在使用 Redis OSS 角色型存取控制 (RBAC) 驗證使用者 (如中所述)角色型存取控制 (RBAC) 規則數量,而且您想要移轉至 Redis OSS AUTH,請使用下列程序。您可以使用主控台或 CLI 進行遷移。
若要使用主控台從 RBAC 遷移至 Redis 的作業系統驗證
請登入 AWS Management Console 並開啟 ElastiCache 主控台,網址為 https://console.aws.amazon.com/elasticache/
。 -
從右上角的清單中,選擇您要修改之叢集所在的 AWS 區域。
-
在導覽窗格中,選擇您要修改之叢集所執行的引擎。
接著會出現所選引擎的叢集清單。
-
在叢集清單中,針對您要修改的叢集,選擇其名稱。
-
在 Actions (動作) 中,選擇 Modify (修改)。
修改視窗隨即出現。
-
對於存取控制,請選擇 Redis OSS AUTH 預設使用者存取權。
-
在 Redis OSS 身份驗證令牌下,設置一個新的令牌。
-
選擇預覽變更,然後在下一個畫面上選擇修改。
若要從 RBAC 移轉至 Redis 的作業系統驗證,請使用 AWS CLI
使用下列其中一個命令,為 Redis OSS 複寫群組設定新的選用AUTH權杖。請注意,可選的 Auth 令牌將允許對複製組進行未經身份驗證的訪問,直到 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
執行上述命令之後,您可以更新 Redis OSS 應用程式,以使用新設定的選用 AUTH 權杖向 ElastiCache 複寫群組進行驗證。要完成 Auth 令牌輪換,請在下面的後續命令SET
中使用更新策略。這將根據需要標記為可選的 AUTH 令牌。當 Auth Token 更新完成時,複寫群組狀態將顯示為,ACTIVE
且此複寫群組的所有 Redis OSS 連線都需要驗證。
若為 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
如需詳細資訊,請參閱 使用 Redis 的 OSS AUTH 命令進行驗證。
注意
如果您需要停用 ElastiCache 叢集上的存取控制,請參閱停用 ElastiCache Redis 的 OSS 快取上的存取控制。