當我嘗試為 AWS Organizations 建立或刪除 AWS Config 規則時,我收到 CREATE_FAILED 或 DELETE_FAILED 錯誤。如何對組織組態規則的問題進行疑難排解?
解決方法
導致組織組態規則無法運作問題很多,包括許可、非作用中狀態的成員帳戶,或遺失組態記錄器。
注意: 如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請確認您使用的是最新版本的 AWS CLI。
若要解決組織組態規則錯誤,請先執行下列命令以取得成員帳戶規則失敗和成功狀態的詳細資訊。然後,使用您的組織組態規則名稱取代 your-rule-name。此命令會識別規則失敗的特定成員帳戶。
aws configservice get-organization-config-rule-detailed-status --organization-config-rule-name your-rule-name
檢閱輸出 ErrorCode 和 ErrorMessage,然後依照下列疑難排解步驟執行:
aws organizations list-accounts --query 'Accounts[*].[Id, Status]' --output table
aws organizations list-delegated-administrators --service-principal=config-multiaccountsetup.amazonaws.com
- 如果您收到 OrganizationAccessDeniedException 錯誤,請驗證您是否具備所需權限。AWS Config 的 AWS Identity and Access Management (IAM ) 角色必須包含 PutConfigRule、PutOrganizationConfigRule、DeleteOrganizationConfigRule 許可,以建立和刪除組織組態規則。
- 如果您收到 ResourceInUseException 錯誤,請檢閱錯誤訊息以識別原因。如果錯誤訊息指出修復動作與該規則相關聯,請解析修復動作。如果錯誤訊息表示該規則狀態不是 CREATE_SUCCESSFUL,請驗證 AWS Config 成員帳戶 IAM 角色包含 DeleteConfigRule 許可。
自訂組織組態規則建立
如果 Lambda 函數資源政策不允許 AWS Config 服務主體叫用它,請執行下列 add-permission 命令來提供許可。使用 Lambda 函數名稱取代 function-name,使用您的 AWS 區域取代Region,使用管理帳戶 ID 取代 source-account。
aws lambda add-permission --function-name --region --action "lambda:InvokeFunction" --principal config.amazonaws.com --source-account --statement-id Allow
**注意:**若要為組織中的多個成員帳戶授予許可,必須為每個帳戶執行該命令。使用每個成員帳戶 ID 取代 source-account。
相關資訊
get-organization-config-rule-detailed-status
list-accounts
list-delegated-administrators
為什麼我的 AWS Config 規則無法運作?