本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
IAM 中的預設受管政策,例如 ReadOnly
,並未完全涵蓋所有類型的 AWS Step Functions 許可。本節描述不同類型的許可,並提供一些範例組態。
Step Functions 有四種類型的許可。視您想要提供給使用者的存取權而定,您可以使用這些類別中的許可來控制存取權。
服務層級許可
此許可層級適用於所有未對特定資源採取行動的 API 動作。這些包括 CreateStateMachine
、CreateActivity
、ListActivities
、 ListStateMachines
和 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 Resource Name (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*"
]
}
]
}