AWS CloudFormation에서 발생하는 AWS Identity and Access Management(IAM) 권한 오류를 해결하려고 합니다.
간략한 설명
CloudFormation 스택을 생성하거나 업데이트할 경우 해당 작업은 리소스를 프로비저닝하는 데 필요한 서비스에 대한 API 호출을 수행합니다. 기본적으로 AWS CloudFormation은 스택 작업을 위해 사용자 자격 증명에서 생성한 임시 세션을 사용합니다. 서비스 역할을 지정하는 경우 AWS CloudFormation은 해당 역할의 자격 증명을 사용합니다. 사용된 자격 증명에 필요한 권한이 없으면 스택 작업이 실패합니다.
해결 방법
IAM 권한 오류 문제를 해결하려면 이 섹션에 나온 단계를 따르십시오.
Error: "ExampleRole" is not authorized to perform: <AWSService>:<APIcall>."
참고: 시작하기 전에 AWS 계정에 로그인되어 있는지 확인하십시오.
오류를 제거하려면 다음 단계를 수행하십시오.
- IAM 콘솔로 이동합니다.
- **Roles(역할)**를 선택합니다.
- 검색 창에 ExampleRole을 입력합니다.
- Permissions(권한) 탭을 선택합니다.
- 역할에 연결된 정책을 확인합니다.
- 정책에서 + 기호를 선택한 다음, **Edit(편집)**를 선택합니다.
- 역할 정책에 누락된 권한(API 호출)을 추가합니다. 그런 다음, **Next(다음)**를 선택합니다.
- **Save changes(변경 사항 저장)**를 선택합니다.
- AWS CloudFormation 콘솔로 이동합니다.
- 스택을 재배포합니다.
Error: "MalformedPolicyDocument" error while working with resources policies."
위 오류는 CloudFormation 템플릿의 정책 섹션에 구문 오류가 있을 때 발생합니다.
오류를 제거하려면 다음 단계를 수행하십시오.
- AWS CloudFormation 콘솔로 이동합니다.
- 오류가 발생한 스택을 선택합니다.
- Template(템플릿) 탭을 선택합니다.
- **Template(템플릿)**에서 실패한 정책 구문을 복사합니다.
- 정책을 YAML에서 JSON으로 변환합니다.
- IAM 콘솔로 이동합니다.
- **Policies(정책)**를 선택합니다.
- **Create policy(정책 생성)**를 선택합니다.
- 정책 편집기에서 JSON을 선택합니다.
- 이전에 복사한 정책 구문을 정책 편집기에 붙여넣습니다.
- **Next(다음)**를 선택합니다. 정책 편집기에는 정책 문서에서 오류가 있는 줄이 표시됩니다.
- 정책 문서의 구문을 수정합니다.
- **Next(다음)**를 선택합니다. 구문이 유효한지 확인합니다.
- AWS CloudFormation 콘솔로 이동합니다.
- 스택을 재배포합니다.
문제 해결 팁
- CloudFormation 스택 이벤트의 오류 메시지가 명확하지 않은 경우 AWS CloudTrail에서 API 호출을 조회하여 관련 타임스탬프를 찾아보십시오.
- CloudTrail API 호출은 스택에 전달된 요청 파라미터의 상세 로그를 제공합니다. 로그 세부 정보에는 관련 오류 메시지가 표시됩니다. 자세한 내용은 CloudTrail 이벤트 기록 작업을 참조하십시오.
관련 정보
정책 요약 예
IAM 정책 편집