AWS Step Functions 상태 머신을 실행하려고 하면 오류가 발생합니다. "Neither the global service principal states.amazonaws.com, nor the regional one is authorized to assume the provided role."
해결 방법
상태 머신이 맡는 IAM 역할에 필요한 신뢰 관계를 구성했는지 확인합니다.
다음 엔드포인트 중 하나가 AWS Identity and Access Management(IAM) 역할의 신뢰 정책에 신뢰할 수 있는 주체로 등록되어 있어야 합니다.
- AWS 리전 엔드포인트: states.region.amazonaws.com
- AWS 글로벌 엔드포인트: states.amazonaws.com
IAM 콘솔을 사용하여 정책에 이전 엔드포인트 중 하나가 포함되도록 IAM 역할의 신뢰 정책을 업데이트합니다.
참고: StartExecution API 작업을 호출하면 Step Functions는 API 작업의 런타임 동안 상태 머신과 연결된 IAM 역할을 사용합니다. 작업 런타임 도중 IAM 역할을 변경하면 Step Functions가 API 작업에서 IAM 역할을 사용하지 않습니다.
상태 머신이 맡고 있는 IAM 역할이 여전히 존재하는지 확인
다음 단계를 완료하세요.
- Step Functions 콘솔을 엽니다.
- 탐색 창에서 상태 머신을 선택합니다.
- **Names(이름)**에서 상태 머신의 이름을 선택합니다.
- Details(세부 정보) 섹션에서 IAM role ARN(IAM 역할 ARN) 아래의 링크를 선택합니다. IAM 역할이 있는 경우 해당 역할이 IAM 콘솔에서 열립니다. IAM 역할이 없는 경우 IAM 콘솔에 No Entity Found(엔티티를 찾을 수 없음) 페이지가 열립니다.
상태 머신이 맡고 있는 IAM 역할이 존재하지 않는 경우 필요한 권한이 포함된 새 IAM 역할을 생성하세요. 이후 새 IAM 역할을 맡도록 상태 머신을 구성합니다.
**중요:**새 IAM 역할은 이전 IAM 역할과 이름이 달라야 합니다.
자세한 내용은 AWS Step Functions가 IAM과 함께 작동하는 방식을 참조하세요.
관련 정보
AWS Step Functions와 AWS Lambda로 서버리스 워크플로 생성