本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Step Functions 中为非管理员用户创建精细权限
中的IAM默认托管策略(例如ReadOnly
)并未完全涵盖所有类型的 AWS Step Functions 权限。本节将介绍这些不同类型的权限并提供一些示例配置。
Step Functions 具有四种类别的权限。根据您要为用户提供的访问权限,您可以使用这些类别的权限控制访问权限。
服务级别权限
此权限级别适用于所有不作用于特定资源的API操作。这些包括CreateStateMachine
、CreateActivity
ListStateMachines
、ListActivities
、和ValidationStateMachineDefinition
。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:ListStateMachines", "states:ListActivities", "states:CreateStateMachine", "states:CreateActivity", "states:ValidationStateMachineDefinition", ], "Resource": [ "arn:aws:states:*:*:*" ] }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam:::role/my-execution-role" ] } ] }
状态机级权限
此权限级别适用于作用于特定状态机的所有API操作。这些API操作需要状态机的 Amazon 资源名称 (ARN) 作为请求的一部分,例如DeleteStateMachine
DescribeStateMachine
、StartExecution
、和ListExecutions
。
{ "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
GetActivityTask
、和SendTaskHeartbeat
。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:DescribeActivity", "states:DeleteActivity", "states:GetActivityTask", "states:SendTaskHeartbeat" ], "Resource": [ "arn:aws:states:*:*:activity:ActivityPrefix*" ] } ] }