本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Step Functions 工作流程中版本和別名的授權
若要使用版本或別名叫用 Step Functions API 動作,您需要適當的許可。若要授權版本或別名呼叫 API 動作,Step Functions 會使用狀態機器的 ARN,而不是使用版本 ARN 或別名 ARN。您也可以縮小特定版本或別名的許可範圍。如需詳細資訊,請參閱縮小許可範圍。
您可以使用下列名為 的狀態機器 IAM 政策範例
,叫用 CreateStateMachineAlias API 動作來建立狀態機器別名。myStateMachine
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "states:CreateStateMachineAlias", "Resource": "arn:aws:states:
region
:account-id
:stateMachine:myStateMachine
" } ] }
當您設定許可以允許或拒絕使用狀態機器版本或別名存取 API 動作時,請考慮下列事項:
如果您使用 CreateStateMachine 和 UpdateStateMachine API 動作的
publish
參數來發佈新的狀態機器版本,您也需要 PublishStateMachineVersion API 動作的ALLOW
許可。DeleteStateMachine API 動作會刪除與狀態機器相關聯的所有版本和別名。
縮小版本或別名的許可範圍
您可以使用限定詞進一步縮小版本或別名所需的授權許可範圍。限定詞是指版本編號或別名名稱。您可以使用 限定詞來限定狀態機器。下列範例是狀態機器 ARN,使用名為 限定詞PROD
的別名。
arn:aws:states:region
:account-id
:stateMachine:myStateMachine
:PROD
如需合格和不合格 ARNs的詳細資訊,請參閱 將執行與版本或別名建立關聯。
您可以使用 IAM 政策Condition
陳述式states:StateMachineQualifier
中名為 的選用內容金鑰來縮小許可範圍。例如,下列名為 之狀態機器的 IAM 政策會myStateMachine
拒絕使用名為 PROD
或 版本的別名叫用 DescribeStateMachine API 動作的存取權1
。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "states:DescribeStateMachine", "Resource": "arn:aws:states:
region
:account-id
:stateMachine:myStateMachine
", "Condition": { "ForAnyValue:StringEquals": { "states:StateMachineQualifier": [ "PROD", "1" ] } } } ] }
以下清單指定 API 動作,您可以在其中使用StateMachineQualifier
內容索引鍵縮小許可範圍。