如何對 AWS Step Functions 中的「全球服務主體 states.amazonaws.com 或區域服務主體均未得到授權以承擔所提供的角色。」錯誤進行疑難排解?

1 分的閱讀內容
0

當我嘗試執行 AWS Step Functions 狀態機器時,我收到下列錯誤: 「全球服務主體 states.amazonaws.com 或區域服務主體均未得到授權以承擔所提供的角色。」 如何對此問題進行疑難排解?

解決方法

驗證您的狀態機器承擔的 AWS Identity and Access Management (IAM) 角色是否已設定所需的信任關係

IAM 角色的信任原則中必須將下列其中一項列為受信任實體:

  • AWS 區域端點:狀態。<region>.amazonaws.com
  • AWS 全球端點:states.amazonaws.com

若要檢閱和編輯狀態機器所承擔 IAM 角色的信任原則,請遵循修改角色信任原則 (主控台)中的指示。如需詳細資訊,請參閱 AWS Step Functions 如何與 IAM 搭配使用

**注意:**呼叫 StartExecution API 動作時,Step Functions 會使用該動作執行期的持續期間內與狀態機器相關聯的 IAM 角色。如果狀態機器承擔的 IAM 角色在動作執行期期間發生變更,則該 API 動作不會使用 IAM 角色。

驗證您的狀態機器承擔的 IAM 角色是否仍然存在

1.    開啟 Step Functions 主控台

2.    在左側導覽窗格中,選擇 State machines (狀態機器)。

3.    選取狀態機器的名稱。

4.    在 Details (詳細資訊) 區段中,選擇 IAM role ARN (IAM 角色 ARN) 下方的連結。如果 IAM 角色存在,則該角色會在 IAM 主控台中開啟。如果 IAM 角色不存在,IAM 主控台會開啟顯示 No Entity Found (找不到實體) 的頁面。

如果您的狀態機器承擔的 IAM 角色不存在,請使用包含所需許可的不同名稱 create a new IAM role (建立新的 IAM 角色)。然後,設定狀態機器以承擔您建立的新 IAM 角色。如需詳細資訊,請參閱 AWS Step Functions 如何與 IAM 搭配使用

**重要事項:**您建立的新 IAM 角色的名稱必須與先前的 IAM 角色不同。

AWS 官方
AWS 官方已更新 2 年前