

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Step Functions의 Workflow Studio를 사용하여 실행 역할 설정
<a name="manage-state-machine-permissions"></a>

Workflow Studio를 사용하여 워크플로의 실행 역할을 설정할 수 있습니다. 모든 Step Functions 상태 머신을 사용하려면 AWS 서비스 및 리소스에서 작업을 수행하거나 HTTPS API를 직접 호출할 수 있는 권한을 상태 머신에 부여하는 AWS Identity and Access Management(IAM) 역할이 있어야 합니다. 이 역할은 *실행 역할*이라고 합니다.

실행 역할에는 각 작업에 대한 IAM 정책이 포함되어야 합니다. 상태 머신이 AWS Lambda 함수를 호출하거나, AWS Batch 작업을 실행하거나, Stripe API를 호출하도록 허용하는 정책을 예로 들 수 있습니다. Step Functions는 다음의 경우에 실행 역할을 제공해야 합니다.
+ 콘솔, AWS SDK 또는 [CreateStateMachine](https://docs.aws.amazon.com/step-functions/latest/apireference/API_CreateStateMachine.html) API를 사용하는 AWS CLI에서 상태 머신을 생성합니다.
+ 콘솔, AWS SDK 또는 [TestState](https://docs.aws.amazon.com/step-functions/latest/apireference/API_TestState.html) API를 사용하는 AWS CLI에서 상태를 [테스트](test-state-isolation.md)합니다.

**Topics**
+ [자동 생성된 역할 정보](#wfs-auto-gen-roles)
+ [역할 자동 생성](#auto-generating-roles)
+ [역할 생성 문제 해결](#resolve-role-gen-problem)
+ [Workflow Studio에서 HTTP 태스크를 테스트하기 위한 역할](#test-state-role-http)
+ [Workflow Studio에서 최적화 서비스 통합을 테스트하기 위한 역할](#test-state-role-optimized)
+ [Workflow Studio에서 AWS SDK 서비스 통합을 테스트하기 위한 역할](#test-state-role-aws-sdk)
+ [Workflow Studio에서 흐름 상태를 테스트하기 위한 역할](#test-state-role-flow)

## 자동 생성된 역할 정보
<a name="wfs-auto-gen-roles"></a>

Step Functions 콘솔에서 상태 머신을 만들면 [Workflow Studio](workflow-studio.md)에서는 필요한 IAM 정책이 포함된 실행 역할을 자동으로 생성할 수 있습니다. Workflow Studio는 상태 머신 정의를 분석하고 워크플로를 실행하는 데 필요한 최소 권한으로 정책을 생성합니다.

Workflow Studio는 다음에 대한 IAM 정책을 생성할 수 있습니다.
+ HTTPS API를 직접 호출하는 [HTTP 태스크](call-https-apis.md)입니다.
+ [최적화 통합](integrate-optimized.md)을 사용해 다른 AWS 서비스를 호출하는 태스크 상태(예: [Lambda Invoke](connect-lambda.md), [DynamoDB GetItem](connect-batch.md), [AWS Glue StartJobRun](connect-glue.md)).
+ [중첩된 워크플로](connect-stepfunctions.md)를 실행하는 태스크 상태.
+ 하위 워크플로 실행 시작, Amazon S3 버킷 나열, S3 객체 읽기 또는 쓰기에 대한 [정책](iam-policies-eg-dist-map.md) 등 [분산 맵 상태](state-map-distributed.md)
+ [X-Ray](concepts-xray-tracing.md) 추적. Workflow Studio에서 자동 생성되는 모든 역할에는 상태 머신에 권한을 부여하여 X-Ray에 추적을 전송할 수 있는 [정책](concepts-xray-tracing.md#xray-iam)이 포함되어 있습니다.
+ 상태 머신에서 로깅이 활성화된 경우의 [CloudWatch Logs를 사용하여 Step Functions에서 실행 기록 로깅](cw-logs.md).

Workflow Studio는 [AWS SDK 통합](supported-services-awssdk.md)을 사용하여 다른 AWS 서비스를 호출하는 태스크 상태에 대한 IAM 정책을 생성할 수 없습니다.

## 역할 자동 생성
<a name="auto-generating-roles"></a>

1. [AWS Step Functions 콘솔](https://console.aws.amazon.com/states/home)을 열고 메뉴에서 **상태 머신**을 선택한 다음 **상태 머신 생성**을 선택합니다.

   기존의 상태 머신을 업데이트할 수도 있습니다. 상태 머신을 업데이트하는 중이면 4단계를 참조하세요.

1. **새로 생성**을 선택합니다.

1. 상태 머신의 이름을 지정한 다음 **계속**을 선택하여 Workflow Studio에서 상태 머신을 편집합니다.

1. **구성** 탭을 선택합니다.

1. **권한** 섹션이 나올 때까지 스크롤하고 다음을 수행합니다.

   1. **실행 역할**에서 기본 선택인 **새 역할 생성**을 그대로 유지해야 합니다.

      Workflow Studio는 상태 머신 정의의 모든 유효한 상태에 필요한 모든 IAM 정책을 자동으로 생성합니다. 여기에는 **모든 권한을 가진 실행 역할이 생성됩니다**라는 메시지가 담긴 배너가 표시됩니다.  
![\[자동 생성된 권한의 미리 보기가 포함된 구성 탭의 예시 스크린샷입니다.\]](http://docs.aws.amazon.com/ko_kr/step-functions/latest/dg/images/wfs-full-permissions-role.png)
**작은 정보**  
Workflow Studio에서 상태 머신에 자동으로 생성하는 권한을 검토하려면 **자동 생성된 권한 검토**를 선택하세요.
**참고**  
Step Functions에서 만드는 IAM 역할을 삭제하면 나중에 Step Functions에서 이 역할을 다시 만들 수 없습니다. 마찬가지로, 역할을 수정하면(예: IAM 정책의 주요에서 Step Functions 제거) 나중에 Step Functions에서 해당 원본 설정을 복원할 수 없습니다.

      Workflow Studio에서 필요한 IAM 정책을 모두 생성할 수 없는 경우 **특정 작업에 대한 권한은 자동 생성할 수 없습니다라는 메시지가 포함된 배너가 표시됩니다. IAM 역할은 일부 권한만 있는 상태로 생성됩니다.** 누락된 권한을 추가하는 방법을 자세히 알아보려면 [역할 생성 문제 해결](#resolve-role-gen-problem) 섹션을 참조하세요.

   1. 상태 머신을 생성 중이면 **생성**을 선택합니다. 그렇지 않은 경우 **저장**을 선택합니다.

   1. 나타나는 대화 상자에서 **확인**을 선택합니다.

      Workflow Studio는 상태 머신을 저장하고 새 실행 역할을 생성합니다.

## 역할 생성 문제 해결
<a name="resolve-role-gen-problem"></a>

다음의 경우에는 Workflow Studio에서 필요한 모든 권한이 포함된 실행 역할을 자동으로 생성할 수 없습니다.
+ 상태 머신에서 오류가 발생했습니다. Workflow Studio의 모든 검증 오류를 해결해야 합니다. 또한 저장 과정에서 발생하는 모든 서버 측 오류를 해결해야 합니다.
+ 상태 머신에는 AWS SDK 통합을 사용하는 태스크가 포함되어 있습니다. 이 경우 Workflow Studio는 IAM 정책을 [자동 생성](#auto-generating-roles)할 수 없습니다. Workflow Studio에는 **특정 작업에 대한 권한은 자동 생성할 수 없습니다라는 메시지가 포함된 배너가 표시됩니다. IAM 역할은 일부 권한만 있는 상태로 생성됩니다.** 실행 역할이 누락된 정책에 대한 자세한 내용을 보려면 **자동 생성 권한 검토** 테이블에서 **상태**에 있는 콘텐츠를 선택합니다. Workflow Studio는 여전히 실행 역할을 생성할 수 있지만 이 역할에 모든 작업에 대한 IAM 정책이 포함되지는 않습니다. 자체 정책을 작성하고 생성된 후 역할에 추가하려면 **설명서 링크** 아래에 있는 링크를 확인하세요. 이러한 링크는 상태 머신을 저장한 후에도 사용할 수 있습니다.

## Workflow Studio에서 HTTP 태스크를 테스트하기 위한 역할
<a name="test-state-role-http"></a>

HTTP 태스크 상태를 [테스트](call-https-apis.md#http-task-test)하려면 실행 역할이 필요합니다. 충분한 권한을 지닌 역할이 없는 경우 다음 옵션 중 하나를 사용하여 역할을 생성합니다.
+ **Workflow Studio를 사용하여 역할 자동 생성(권장)** - 안전한 옵션입니다. **테스트 상태** 대화 상자를 닫고 [역할 자동 생성](#auto-generating-roles) 섹션의 지침을 따릅니다. 이렇게 하려면 먼저 상태 머신을 만들거나 업데이트한 다음 Workflow Studio로 돌아가 상태를 테스트해야 합니다.
+ **관리자 액세스 권한이 있는 역할 사용** - AWS의 모든 서비스와 리소스에 대한 전체 액세스 권한이 있는 역할을 만들 수 있는 권한이 있는 경우, 해당 역할을 사용하여 워크플로의 모든 유형의 상태를 테스트할 수 있습니다. 이렇게 하면 IAM 콘솔([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/))에서 Step Functions 서비스 역할을 만들고 [AdministratorAccess](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html#jf_administrator) 정책을 추가할 수 있습니다.

## Workflow Studio에서 최적화 서비스 통합을 테스트하기 위한 역할
<a name="test-state-role-optimized"></a>

[최적화 서비스 통합](integrate-optimized.md)을 직접 호출하는 태스크 상태에는 실행 역할이 필요합니다. 충분한 권한을 지닌 역할이 없는 경우 다음 옵션 중 하나를 사용하여 역할을 생성합니다.
+ **Workflow Studio를 사용하여 역할 자동 생성(권장)** - 안전한 옵션입니다. **테스트 상태** 대화 상자를 닫고 [역할 자동 생성](#auto-generating-roles) 섹션의 지침을 따릅니다. 이렇게 하려면 먼저 상태 머신을 만들거나 업데이트한 다음 Workflow Studio로 돌아가 상태를 테스트해야 합니다.
+ **관리자 액세스 권한이 있는 역할 사용** - AWS의 모든 서비스와 리소스에 대한 전체 액세스 권한이 있는 역할을 만들 수 있는 권한이 있는 경우, 해당 역할을 사용하여 워크플로의 모든 유형의 상태를 테스트할 수 있습니다. 이렇게 하면 IAM 콘솔([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/))에서 Step Functions 서비스 역할을 만들고 [AdministratorAccess](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html#jf_administrator) 정책을 추가할 수 있습니다.

## Workflow Studio에서 AWS SDK 서비스 통합을 테스트하기 위한 역할
<a name="test-state-role-aws-sdk"></a>

[AWS SDK 통합](supported-services-awssdk.md)을 직접 호출하는 태스크 상태에는 실행 역할이 필요합니다. 충분한 권한을 지닌 역할이 없는 경우 다음 옵션 중 하나를 사용하여 역할을 생성합니다.
+ **Workflow Studio를 사용하여 역할 자동 생성(권장)** - 안전한 옵션입니다. **테스트 상태** 대화 상자를 닫고 [역할 자동 생성](#auto-generating-roles) 섹션의 지침을 따릅니다. 이렇게 하려면 먼저 상태 머신을 만들거나 업데이트한 다음 Workflow Studio로 돌아가 상태를 테스트해야 합니다. 다음을 수행합니다.

  1. **테스트 상태** 대화 상자를 닫습니다.

  1. **구성** 탭을 선택하여 구성 모드를 확인합니다.

  1. **권한** 섹션이 나올 때까지 스크롤합니다.

  1. Workflow Studio에는 **특정 작업에 대한 권한은 자동 생성할 수 없습니다라는 메시지가 포함된 배너가 표시됩니다. IAM 역할은 일부 권한만 있는 상태로 생성됩니다.** **자동 생성 권한 검토**를 선택합니다.

  1. **자동 생성 권한 검토** 테이블에는 테스트하려는 태스크 상태에 해당하는 작업을 보여 주는 행이 표시됩니다. 사용자 지정 역할에 자체 IAM 정책을 작성하려면 **설명서 링크** 아래에 있는 링크를 확인하세요.
+ **관리자 액세스 권한이 있는 역할 사용** - AWS의 모든 서비스와 리소스에 대한 전체 액세스 권한이 있는 역할을 만들 수 있는 권한이 있는 경우, 해당 역할을 사용하여 워크플로의 모든 유형의 상태를 테스트할 수 있습니다. 이렇게 하면 IAM 콘솔([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/))에서 Step Functions 서비스 역할을 만들고 [AdministratorAccess](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html#jf_administrator) 정책을 추가할 수 있습니다.

## Workflow Studio에서 흐름 상태를 테스트하기 위한 역할
<a name="test-state-role-flow"></a>

Workflow Studio에서 흐름 상태를 테스트하려면 실행 역할이 필요합니다. 흐름 상태는 실행 흐름으로 연결되는 상태이며 [Choice 워크플로 상태](state-choice.md), [병렬 워크플로 상태](state-parallel.md), [Map 워크플로 상태](state-map.md), [Pass 워크플로 상태](state-pass.md), [Wait 워크플로 상태](state-wait.md), [Succeed 워크플로 상태](state-succeed.md), [Fail 워크플로 상태](state-fail.md) 등이 그러한 예입니다. [TestState](https://docs.aws.amazon.com/step-functions/latest/apireference/API_TestState.html) API는 Map 또는 Parallel 상태에서는 작동하지 않습니다. 다음 옵션 중 하나를 사용하여 흐름 상태 테스트용 역할을 생성합니다.
+ **AWS 계정에서 원하는 역할 사용(권장)** - 흐름 상태는 AWS 작업이나 리소스를 호출하지 않으므로 특정 IAM 정책이 필요하지 않습니다. 따라서 AWS 계정에서 어떤 IAM 역할이든 사용할 수 있습니다.

  1. **테스트 상태** 대화 상자의 **실행 역할** 드롭다운 목록에서 원하는 역할을 선택합니다.

  1. 드롭다운 목록에 역할이 나타나지 않으면 다음 내용을 따릅니다.

     1. IAM 콘솔([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/))에서 **역할**을 선택합니다.

     1. 목록에서 역할을 선택하고 역할 세부 정보 페이지에서 해당 ARN을 복사합니다. **테스트 상태** 대화 상자에 이 ARN을 입력해야 합니다.

     1. **테스트 상태** 대화 상자의 **실행 역할** 드롭다운 목록에서 **역할 ARN 입력**을 선택합니다.

     1. **역할 ARN**에 ARN을 붙여넣습니다.
+ **관리자 액세스 권한이 있는 역할 사용** - AWS의 모든 서비스와 리소스에 대한 전체 액세스 권한이 있는 역할을 만들 수 있는 권한이 있는 경우, 해당 역할을 사용하여 워크플로의 모든 유형의 상태를 테스트할 수 있습니다. 이렇게 하면 IAM 콘솔([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/))에서 Step Functions 서비스 역할을 만들고 [AdministratorAccess](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html#jf_administrator) 정책을 추가할 수 있습니다.