我想解決當 AWS CloudFormation 堆疊失敗時收到的標記權限錯誤。
簡短說明
如果您在沒有所需標記權限的情況下嘗試建立或更新資源,則會出現下列錯誤訊息:
「套用標籤時發生權限錯誤,請新增所需的標籤權限。重試請求但不包含標籤。詳細資訊: 資源處理常式傳回訊息: 使用者:arn:aws:sts::123456789:example-assumed-role 未被授權對資源:arn:aws:iam::123456789:role/abc 執行:< eg API: :iam:TagRole>,並在身分識別型政策中明確拒絕。」
此錯誤訊息是由於附加到 AWS Identity and Access Management (IAM) 角色政策中的權限不足所導致的。若要解決此錯誤,您必須將錯誤訊息中顯示缺少的權限新增至假設角色。
解決方法
**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤,請確保您使用的是最新版本 AWS CLI。
查看失敗的角色和 API
對於 Amazon Elastic Compute Cloud (Amazon EC2) 資源,您必須先解碼編碼的授權失敗訊息。執行 decrypt-authorization-message AWS CLI 命令來識別失敗的角色和 API。
注意: 將 example-encoded-message 替換為您的編碼訊息,將 example-region 替換為您的 AWS 區域。
aws sts decode-authorization-message --encoded-message <example-encoded-message> --example-region
對於與 Amazon EC2 不相關的其他資源,請檢查堆疊事件頁面以查看失敗的角色和 API。
使用 IAM 控制台解決標記權限錯誤
建立新的內嵌政策
請完成下列步驟:
- 開啟 IAM 主控台。
- 在導覽窗格中,選擇 Users (使用者) 或 Roles (角色)。
- 在清單中,選擇要嵌入新政策的使用者或角色的名稱。
- 選擇 Permissions (權限) 索引標籤。
- 選擇 Add permissions (新增權限),然後選擇 Create inline policy (建立內嵌政策)。
- 選擇 Visual (視覺化) 或 JSON 選項來建立政策:
注意: 請確定已新增所需的權限。當您建立新的內嵌政策時,所需的權限會自動嵌入到您的使用者或角色中。
編輯現有政策
若要解決標記權限錯誤,請編輯現有政策。
使用 AWS CLI 解決標記權限錯誤
1. 執行 put-role-policy AWS CLI 命令,為您的角色新增所需的權限政策:
aws iam put-role-policy ---role-name example-role-name --policy-name example-policy --policy-document file**:**//AdminPolicy.jso
注意: 該政策在 AdminPolicy.json 檔案中定義為 JSON 文件。檔案名稱和副檔名並不重要。
2. 再次部署您的 CloudFormation 堆疊。