Memorystore 提供 Identity and Access Management (IAM) 驗證功能,可運用 IAM 協助您更妥善地管理使用者和服務帳戶的登入存取權。以 IAM 為基礎的驗證機制會與 Valkey AUTH 整合,讓您順暢輪替憑證 (IAM 權杖),不必使用靜態密碼。
如需為 Memorystore 執行個體設定 IAM 驗證的操作說明,請參閱「管理 IAM 驗證」。
Valkey 的 IAM 驗證
使用 IAM 驗證時,您無法將 Memorystore 執行個體的存取權直接授予使用者,而是將不同權限的角色授予主體。詳情請參閱 IAM 總覽。
透過 IAM 驗證身分後,管理員即可使用 Memorystore IAM 驗證,透過 IAM 政策集中管理執行個體的存取權控管。IAM 政策涉及下列實體:
原則。在 Memorystore 中,您可以使用兩種主體:使用者帳戶和服務帳戶 (適用於應用程式)。IAM 驗證目前不支援其他主體類型,例如 Google 群組、Google Workspace 網域或 Cloud Identity 網域。詳情請參閱「與身分有關的概念」。
角色:如要進行 Memorystore IAM 驗證,使用者必須具備 memorystore.instances.connect 權限,才能向執行個體驗證。如要取得這項權限,您可以將使用者或服務帳戶繫結至預先定義的 Memorystore DB Connection User (roles/memorystore.dbConnectionUser) 角色。如要進一步瞭解 IAM 角色,請參閱「角色」一文。
資源。主體存取的資源是 Memorystore 執行個體。根據預設,IAM 政策繫結是在專案層級套用,因此主體會獲得專案中所有 Memorystore 執行個體的角色權限。不過,IAM 政策繫結可限制為特定執行個體。如需操作說明,請參閱管理 IAM 驗證的權限。
Valkey AUTH 指令
IAM 驗證功能會使用 Valkey AUTH 指令與 IAM 整合,讓用戶端提供 IAM 存取權杖,Valkey 執行個體會先驗證權杖,再允許存取資料。
與所有指令一樣,除非啟用「傳輸中加密」,否則 AUTH 指令會以未加密的形式傳送。
如需 AUTH 指令的範例,請參閱「連線至採用 IAM 驗證機制的執行個體」。
IAM 存取權杖時間範圍
您在驗證程序中擷取的 IAM 存取權杖,預設會在擷取後 1 小時失效。或者,您可以在產生存取權杖時定義存取權杖到期時間。建立新的 Valkey 連線時,需要透過 AUTH 指令提供有效權杖。如果權杖已過期,您需要取得新的存取權杖,才能建立新連線。
結束已驗證的連線
如要結束連線,請使用 Valkey CLIENT KILL
指令。首先,請執行 CLIENT LIST
找出連線,然後執行 CLIENT KILL
結束連線。
啟用 IAM 驗證
啟用 IAM 驗證不會降低穩定狀態效能。不過,這會影響建立連線的速率。
啟用 IAM 驗證功能後,每秒建立的用戶端連線速率會受到節流。這是因為 Google Cloud 的 IAM 驗證必須驗證每個新連線。在穩定狀態下,應用程式會啟用連線集區,因此影響微乎其微。不過,重新啟動或部署用戶端應用程式時,可能會出現大量新連線。如果您逐步更新用戶端並實作指數輪詢,就能吸收這項降幅。
如要查看如何使用 IAM 驗證的程式碼範例,請參閱「同時使用 IAM 驗證和傳輸中加密的程式碼範例」。
安全性與隱私權
IAM 驗證可確保只有授權的 IAM 主體能存取 Valkey 執行個體。除非啟用「傳輸中資料加密」,否則不會提供 TLS 加密。因此,建議您在使用 IAM 驗證時開啟「傳輸中加密」。
透過 Compute Engine VM 連線
如果您使用 Compute Engine VM 連線至使用 IAM 驗證的執行個體,則必須為專案啟用下列存取範圍和 API:
Cloud Platform API 範圍。如需啟用這項範圍的操作說明,請參閱附加服務帳戶並更新存取範圍。如要瞭解這個存取範圍的最佳做法,請參閱「範圍最佳做法」。
Memorystore for Valkey API。如要啟用 API,請點選下列按鈕:
Memorystore for Valkey