Step Functions에서 관리자가 아닌 사용자에 대해 세부 권한 생성 - AWS Step Functions

Step Functions에서 관리자가 아닌 사용자에 대해 세부 권한 생성

IAM의 기본 관리형 정책(ReadOnly 등)은 모든 유형의 AWS Step Functions 권한을 포함하지는 못합니다. 이 단원에서는 이들 다른 유형의 권한을 설명하고 몇 가지 예제 구성을 제공합니다.

Step Functions에는 4가지 권한 범주가 있습니다. 사용자에게 제공하려는 액세스에 따라 이 범주의 권한을 사용하여 액세스를 제어할 수 있습니다.

서비스 수준 권한

특정 리소스에 작용하지 않는 API 구성 요소에 적용됩니다.

상태 머신 수준 권한

특정 리소스에 작용하는 모든 API 구성 요소에 적용됩니다.

실행 수준 권한

특정 실행에 작용하는 모든 API 구성 요소에 적용됩니다.

작업 수준 권한

특정 작업에 작용하거나, 작업의 특정 인스턴스에 작용하는 모든 API 구성 요소에 적용됩니다.

서비스 수준 권한

이 권한 수준은 특정 리소스에 작용하지 않는 모든 API 작업에 적용됩니다. 여기에는 CreateStateMachine, CreateActivity, ListStateMachines, ListActivities, ValidateStateMachineDefinition가 포함됩니다.

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:ListStateMachines", "states:ListActivities", "states:CreateStateMachine", "states:CreateActivity", "states:ValidateStateMachineDefinition" ], "Resource": [ "arn:aws:states:*:*:*" ] }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::123456789012:role/my-execution-role" ] } ] }

상태 머신 수준 권한

이 권한 수준은 특정 상태 머신에 작용하지 않는 모든 API 작업에 적용됩니다. 이러한 API 작업에는 요청의 일부로 상태 머신의 Amazon 리소스 이름(ARN)이 필요합니다(예: DeleteStateMachine, DescribeStateMachine, StartExecutionListExecutions).

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:DescribeStateMachine", "states:StartExecution", "states:DeleteStateMachine", "states:ListExecutions", "states:UpdateStateMachine", "states:TestState", "states:RevealSecrets" ], "Resource": [ "arn:aws:states:*:*:stateMachine:StateMachinePrefix*" ] } ] }

실행 수준 권한

이 권한 수준은 특정 실행에 작용하지 않는 모든 API 작업에 적용됩니다. 이러한 API 작업은 요청의 일부로 실행의 ARN을 요구합니다(예: DescribeExecution, GetExecutionHistory, StopExecution).

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:DescribeExecution", "states:DescribeStateMachineForExecution", "states:GetExecutionHistory", "states:StopExecution" ], "Resource": [ "arn:aws:states:*:*:execution:*:ExecutionPrefix*" ] } ] }

작업 수준 권한

이 권한 수준은 특정 작업에 작용하거나 해당 작업의 특정 인스턴스에 작용하는 모든 API 작업에 적용됩니다. 이러한 API 작업에는 요청의 일부로 작업의 ARN 또는 인스턴스 토큰이 필요합니다(예: DeleteActivity, DescribeActivity, GetActivityTaskSendTaskHeartbeat).

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:DescribeActivity", "states:DeleteActivity", "states:GetActivityTask", "states:SendTaskHeartbeat" ], "Resource": [ "arn:aws:states:*:*:activity:ActivityPrefix*" ] } ] }