AWS Step Functions
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

为非管理员用户创建精细的 IAM 权限

IAM 中的默认托管策略(如 ReadOnly)不会完全覆盖所有类型的 Step Functions 权限。本节将介绍这些不同类型的权限并提供一些示例配置。

AWS Step Functions 具有四种类别的权限。根据您要为用户提供的访问权限,您可以使用这些类别的权限控制访问权限。

服务级别权限

适用于不对特定资源执行的 API 的组件。

状态机级权限

适用于对特定状态机执行的所有 API 组件。

执行级权限

适用于对特定执行采用的所有 API 组件。

活动级权限

适用于对特定活动或活动的特殊实例执行的所有 API 组件。

服务级别权限

此权限级别适用于不对特定资源执行的所有 API 操作。这包括 CreateStateMachineCreateActivityListStateMachinesListActivities

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

状态机级权限

此权限级别适用于对特定状态机执行的所有 API 操作。这些 API 操作要求状态机的 Amazon 资源名称 (ARN) 作为请求的一部分,例如 DeleteStateMachineDescribeStateMachineStartExecutionListExecutions

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

执行级权限

此权限级别适用于对特定执行采用的所有 API 操作。这些 API 操作要求执行的 ARN 作为请求的一部分,例如 DescribeExecutionGetExecutionHistoryStopExecution

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

活动级权限

此权限级别适用于将对特定活动或活动的特殊实例执行的所有 API 操作。这些 API 操作要求活动的 ARN 或实例的令牌作为请求的一部分,例如 DeleteActivityDescribeActivityGetActivityTaskSendTaskSuccessSendTaskFailureSendTaskHeartbeat

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