Amazon MQ 上的 RabbitMQ:無效的 AWS Key Management Service 金鑰 Amazon MQ - Amazon MQ

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

Amazon MQ 上的 RabbitMQ:無效的 AWS Key Management Service 金鑰 Amazon MQ

使用客戶受管 AWS KMS key(CMK) 建立的代理程式偵測到已停用 AWS Key Management Service (KMS) 金鑰時,Amazon MQ 上的 RabbitMQ 將引發 INVALID_KMS_KEY 關鍵動作必要程式碼。 Amazon MQ 具有 CMK 的 RabbitMQ 代理程式會定期驗證 KMS 金鑰是否已啟用,且代理程式具有所有必要的授權。如果 RabbitMQ 無法驗證金鑰是否已啟用,則代理程式會被隔離,而 RabbitMQ 會傳回 INVALID_KMS_KEY。

如果沒有作用中的 KMS 金鑰,代理程式就沒有客戶受管 KMS 金鑰的基本許可。在您重新啟用金鑰且代理程式重新啟動之前,代理程式無法使用您的金鑰執行加密作業。系統會隔離具有已停用 KMS 金鑰的 RabbitMQ 代理程式,以防止惡化。RabbitMQ 判斷 KMS 金鑰再次處於作用中狀態之後,您的代理程式就會從隔離區中移除。Amazon MQ 不會重新啟動具有已停用 KMS 金鑰的代理程式,而且只要代理程式持續擁有無效的 KMS 金鑰,就會傳回 RebootBroker API 操作的例外狀況。

診斷和解決 INVALID_KMS_KEY

若要診斷和解決 INVALID_KMS_KEY 動作所需的程式碼,您必須使用 AWS 命令列界面 (CLI) 和 AWS Key Management Service 主控台。

若要重新啟用您的 KMS 金鑰
  1. 呼叫 DescribeBroker 方法以擷取您 CMK 代理程式的 kmsKeyId

  2. 登入 AWS Key Management Service 主控台。

  3. 客戶受管金鑰 頁面上,找出有問題的代理程式的 KMS 金鑰 ID,並確認狀態為 已啟用

  4. 如果您的 KMS 金鑰已停用,請選擇 金鑰動作,然後選擇 啟用,以重新啟用金鑰。重新啟用金鑰後,您必須等待 RabbitMQ 從隔離區中刪除代理程序。

若要驗證必要的授權仍與代理程式的 KMS 金鑰相關聯,請呼叫 ListGrant ListGrant 方法以驗證 mq_rabbit_grantmq_grant 均存在。如果 KMS 授權或金鑰已刪除,則必須刪除該代理程式,並建立一個具有一切必要授權的新代理程式。如需刪除代理程式的步驟,請參閱刪除代理程式

若要避免 INVALID_KMS_KEY 需要關鍵動作程式碼,請勿手動刪除或停用 KMS 金鑰或 CMK 授權。如果您想要刪除金鑰,請先刪除代理程式。