AWS Step Functions에서 “글로벌 서비스 보안 주체 states.amazonaws.com 또는 리전 서비스 보안 주체에는 제공된 역할을 수임할 권한이 없습니다.” 오류 문제를 해결하려면 어떻게 해야 합니까?
최종 업데이트 날짜: 2022년 8월 4일
AWS Step Functions 상태 머신을 실행하려고 하면 다음과 같은 오류가 나타납니다. "글로벌 서비스 보안 주체 states.amazonaws.com 또는 리전 서비스 보안 주체에는 제공된 역할을 수임할 권한이 없습니다." 이 문제를 해결하려면 어떻게 해야 합니까?
해결 방법
상태 머신이 수임하는 AWS Identity and Access Management(IAM) 역할에 필요한 신뢰 관계가 구성되어 있는지 확인합니다.
다음 중 하나가 IAM 역할의 신뢰 정책에 신뢰할 수 있는 엔터티로 나열되어야 합니다.
- AWS 리전 엔드포인트: states.
.amazonaws.com - AWS 글로벌 엔드포인트: states.amazonaws.com
상태 머신이 수임하는 IAM 역할의 신뢰 정책을 검토하고 편집하려면역할 신뢰 정책 수정(콘솔)의 지침을 따르세요. 자세한 내용은 AWS Step Functions가 IAM에서 작동하는 방식을 참조하십시오.
참고: StartExecution API 작업이 호출되면 Step Functions는 작업의 런타임 기간 동안 상태 머신과 연결된 IAM 역할을 사용합니다. 상태 머신에서 수임하는 IAM 역할이 작업의 런타임 중에 변경된 경우 IAM 역할은 해당 API 작업에 사용되지 않습니다.
상태 머신에서 수임하는 IAM 역할이 여전히 존재하는지 확인
1. Step Functions 콘솔을 엽니다.
2. 왼쪽 탐색 창에서 상태 머신을 선택합니다.
3. 상태 머신의 이름을 선택합니다.
4. 세부 정보 섹션에서 IAM 역할 ARN 아래의 링크를 선택합니다. IAM 역할이 있는 경우 IAM 콘솔에서 해당 역할이 열립니다. IAM 역할이 없으면 IAM 콘솔에서 엔터티를 찾을 수 없음이라는 페이지가 열립니다.
상태 머신에서 수임하는 IAM 역할이 존재하지 않는 경우 필요한 권한이 포함된 다른 이름으로 새 IAM 역할을 생성합니다. 그런 다음 생성한 새 IAM 역할을 수임하도록 상태 머신을 구성합니다. 자세한 내용은 AWS Step Functions가 IAM에서 작동하는 방식을 참조하세요.
중요: 생성하는 새 IAM 역할의 이름은 이전 IAM 역할과 달라야 합니다.