Amazon Simple Workflow Service 中的 Identity and Access Management - Amazon Simple Workflow Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon Simple Workflow Service 中的 Identity and Access Management

访问 Amazon Step Functions 时需要可供 Amazon 用来验证您的请求的凭证。这些凭证必须有权访问 Amazon 资源,例如从其他 Amazon 资源检索事件数据。以下部分提供详细的信息来说明如何使用Amazon Identity and Access Management(IAM)和 Step Functions 来控制谁能访问您的资源,从而帮助对这些资源进行保护。

Authentication

您可以以下面任一类型的身份访问 Amazon:

  • Amazon账户根用户— 注册Amazon中,您需要提供与您的账户关联的电子邮件地址和密码。这些是您的根凭证,它们提供对您所有 Amazon 资源的完全访问权限。

    重要

    出于安全考虑,我们建议您仅使用根凭证创建管理员,它是对您的账户具有完全访问权限的 IAM 用户。随后,您可以使用此管理员来创建具有有限权限的其他 IAM 用户和角色。有关更多信息,请参阅 IAM 用户指南 中的 IAM 最佳实践创建管理员用户和组

  • IAM 用户— 一个IAM 用户是您的账户中的一种身份,它具有特定的自定义权限(例如,用于在 Amazon SWF 中向目标发送事件数据的权限)。您可以使用 IAM 用户名和密码登录以保护Amazon网页,例如Amazon Web Services Management ConsoleAmazon论坛,或Amazon Web Services SupportCenter

    除了用户名和密码之外,您还可以为每个用户生成访问密钥。您可以在访问Amazon服务,无论是通过几个 SDK 中的一个或通过使用Amazon Command Line Interface(Amazon CLI)。开发工具包和 Amazon CLI 工具使用访问密钥对您的请求进行加密签名。如果您不使用 Amazon 工具,则必须自行对请求签名。Amazon Simple Workflow Service 支持签名版本 4,这是用于对入站 API 请求进行身份验证的协议。有关对请求进行身份验证的更多信息,请参阅签名版本 4 签名流程中的Amazon Web Services 一般参考

  • IAM 角色— 一个IAM 角色是您可以在账户中创建的另一个具有特定权限的 IAM 身份。它类似于IAM 用户,但未与特定人员相关联。利用 IAM 角色,您可以获得可用于访问的临时访问密钥。Amazon服务和资源. 具有临时凭证的 IAM 角色在以下情况下很有用:

    • 联合身份用户访问-您可以不创建 IAM 用户,而是使用来自Amazon Directory Service、您的企业用户目录或 Web 身份提供商 (IdP)。他们被称为联合身份用户。Amazon在通过身份提供商。有关联合身份用户的更多信息,请参阅IAM 用户指南 中的联合身份用户和角色

    • 跨账户访问— 您可以使用您账户中的 IAM 角色向另一个账户授予对您账户的资源的访问权限。有关示例,请参阅 。教程:跨向委派访问权限Amazon使用 IAM 角色的账户中的IAM 用户指南

    • Amazon服务访问— 您可以使用您账户中的 IAM 角色向Amazon服务访问您的账户资源所需的权限。例如,您可以创建一个角色,此角色允许 Amazon Redshift 代表您访问 Amazon S3 存储桶,然后将存储在存储桶中的数据加载到 Amazon Redshift 集群中。有关更多信息,请参阅 。创建向向Amazon服务中的IAM 用户指南

    • 在 Amazon EC2 上运行的应用程序— 不用将访问密钥存储在 EC2 实例中以供在实例上运行的应用程序使用并使AmazonAPI 请求时,您可以使用 IAM 角色来管理这些应用程序的临时凭证。要将 Amazon 角色分配给 EC2 实例并使其对该实例的所有应用程序可用,您可以创建一个附加到实例的实例配置文件。实例配置文件包含角色,并使 EC2 实例上运行的程序能够获得临时凭证。有关更多信息,请参阅IAM 用户指南中的对 Amazon EC2 上的应用程序使用角色

访问控制

您可以使用有效的凭证来对自己的请求进行身份验证,但您还必须拥有权限才能创建或访问 Amazon SWF 资源。例如,您必须拥有调用的权限。Amazon Lambda、Amazon Simple Notification Service (Amazon SNS) 和 Amazon Simple Queue Service (Amazon SQS) 目标,与 Amazon SWF 规则相关联。

以下部分介绍如何管理 Amazon SWF 的权限。我们建议您先阅读概述。

基本原理

Amazon SWF 访问控制主要基于两种权限:

  • 资源权限:用户可以访问何种 Amazon SWF 资源。

    您可以只针对域授予资源权限。

  • API 权限:用户可以调用何种 Amazon SWF 操作。

最简单的方法是授予完全账户访问权限(在任何域中调用任何 Amazon SWF 操作)或完全拒绝访问权限。但是,IAM 支持更细粒度的访问控制方法,这种方法通常更有用。例如,您可以:

  • 允许用户不受限制地调用任何 Amazon SWF 操作,但只能在特定域中。您可以使用这样一个策略允许开发中的工作流应用程序使用任何操作,但只能是“沙盒”域。

  • 允许用户访问任何域,但限制其使用 API 的方法。您可以使用这样一个策略允许“审核员”应用程序在任何域中调用 API,但只允许读取访问。

  • 允许用户在特定域中只调用一组有限的操作。您可以使用这样一个策略允许工作流启动程序只在特定域中调用 StartWorkflowExecution 操作。

Amazon SWF 访问控制基于以下原则:

  • 访问控制决策只基于 IAM;所有的审核与操作策略都通过 IAM 完成。

  • 访问控制模型使用默认拒绝策略;任何未明确允许的访问都会被拒绝。

  • 您可以通过附加适当的 IAM 策略到工作流程操作者,控制对 Amazon SWF 资源的访问。

  • 资源权限只能针对域授予。

  • 您可以通过将条件应用到一个或多个参数上来进一步限制某些操作的使用。

  • 如果您授权使用 RespondDecisionTaskCompleted,则可以针对该操作中的决策列表授予权限。

    每个决策都由一个或多个参数,就像常规 API 调用那样。为了使策略可读性强一点,您可以授予决策权限,就像它们是实际的 API 调用那样,还包括将条件应用于一些参数。这些类型的权限被称为 伪 API 权限。

有关能用条件进行限制的常规和伪 API 参数的摘要,请参阅 API 摘要

Amazon SWF IAM 策略

IAM 策略包含一个或多个Statement元素,每个元素都包含一组定义策略的元素。有关元素的完整列表和如何构建策略的一般性讨论,请参阅访问策略语言。Amazon SWF 访问控制基于以下元素:

效果

(必需) 该语句的效果:denyallow

注意

您必须明确允许访问;IAM 默认情况下,拒绝访问。

资源

(必需)资源-Amazon服务(语句所适用的)。

您可以只针对域授予资源权限。例如,策略只允许对您的账户中特定域进行访问。要表达域的权限,请将Resource添加到域的 Amazon 资源名称 (ARN),其格式为 “arn: aw: aw: swf: swf:区域AccountID: /域/域/DomainName“。区域是Amazon区域,AccountID是没有破折号的帐户 ID,DomainName是域名。

操作

(必需) 应用语句的操作,可以通过以下格式引用:serviceId:action。对于 Amazon SWF,请将ServiceIdswf。例如,swf:StartWorkflowExecution 指的是 StartWorkflowExecution 操作,用于控制允许哪些用户启动工作流。

如果授予使用 RespondDecisionTaskCompleted 的权限,则还可以使用 Action 来控制对所包含的决策列表的访问,以授予伪 API 的权限。由于 IAM 在默认情况下拒绝访问,决策程序的决策必须被明确允许,否则决策将不会被接受。您可以使用 * 值允许所有决策。

Condition

(可选) 表示一个或多个操作参数的约束条件,以限制允许的值。

Amazon SWF 操作的范围通常较广,您可以使用 IAM 条件缩小范围。例如,要对 PollForActivityTask 操作允许访问的任务列表进行限制,可以包含 Condition 并使用 swf:taskList.name 密钥指定可允许的列表。

您可以表达下列实体的约束条件。

  • 工作流类型。名称和版本具有单独密钥。

  • 活动类型。名称和版本具有单独密钥。

  • 任务列表。

  • 标签。您可以为某些操作指定多个标签。在此情况下,每个标签都有一个单独的密钥。

注意

对于 Amazon SWF,值都是字符串,所以您可以使用等字符串运算符限制参数StringEquals,它将参数限制为指定的字符串。但是,StringEquals 等常规字符串比较运算符需要全部请求以包含参数。如果不显式包含参数,且类型注册过程中未提供默认值 (如默认任务列表),则访问将被拒绝。

将条件视为可选项通常很有用,这样一来,您可以调用操作,而无需包含相关参数。例如,您可以想允许决策程序指定一组 RespondDecisionTaskCompleted 决策,但同时允许它只为任何特定调用指定其中一个决策。这种情况下,可使用 StringEqualsIfExists 运算符限制适当的参数,在参数满足条件时允许访问,但不会在参数不存在时拒绝访问。

有关可限制参数的完整列表和相关密钥,请参阅 API 摘要

下一节提供了如何构建 Amazon SWF 策略的示例。有关详细信息,请参阅字符串条件

Amazon SWF 策略示例

工作流由多个角色组成 — 活动、决策者等。您可以通过附加适当的 IAM 策略控制每个参与者的访问权限。本章节提供了一些示例。以下所示为最简单的案例:

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : "swf:*", "Resource" : "arn:aws:swf:*:123456789012:/domain/*" } ] }

如果您将此策略附加到参与者,它对所有地区的账户都有访问权。您可以使用通配符利用一个值来表示多个资源、操作或地区。

  • Resource 值中的第一个通配符 (*) 表示资源权限适用于所有区域。要将权限限限制到单个区域,可以用相应的区域字符串(如 us-east-1)替代通配符。

  • Resource 值中的第二个通配符 (*) 让操作者可以访问指定区域中的任何账户域。

  • 通配符 (*) 中的Action值允许操作者调用任何 Amazon SWF 操作。

有关通配符使用方法的详细信息,请参阅元素描述

以下章节显示的是以更精细方法授予权限的策略的示例。

域权限

如果您想将部门工作流限制到一个特定域中,您可以使用与下述类似的方法:

{ "Version": "2012-10-17", "Statement": [ { "Effect" : "Allow", "Action" : "swf:*", "Resource" : "arn:aws:swf:*:123456789012:/domain/department1" } ] }

如果您附加此策略到参与者,它可以调用任何操作,但只能针对 department1 域。

如果您希望参与者有权访问多个域,您可以针对每个域单独授予权限,如下所述:

{ "Version": "2012-10-17", "Statement": [ { "Effect" : "Allow", "Action" : "swf:*", "Resource" : "arn:aws:swf:*:123456789012:/domain/department1" }, { "Effect" : "Allow", "Action" : "swf:*", "Resource" : "arn:aws:swf:*:123456789012:/domain/department2" } ] }

如果将此策略附加到操作者,它可以使用department1department2域。有时候,您还可以使用通配符表示多个域。

API 权限和约束条件

您控制用户可以对 Action 操作元素使用哪些操作。您可以选择通过使用 Condition 元素限制操作的可允许参数值。

如果您想将参与者限制为只进行特定操作,您可以使用与下述类似的方法:

{ "Version": "2012-10-17", "Statement": [ { "Effect" : "Allow", "Action" : "swf:StartWorkflowExecution", "Resource" : "arn:aws:swf:*:123456789012:/domain/department2" } ] }

如果将此策略附加到操作者,它能调用 StartWorkflowExecutiondepartment2 域中启动工作流。它不能在任何其他域中使用任何其他操作或启动工作流。

您可以进一步限制参与者通过限制一个或多个 StartWorkflowExecution 参数值启动的工作流范围,如下所述:

{ "Version": "2012-10-17", "Statement": [ { "Effect" : "Allow", "Action" : "swf:StartWorkflowExecution", "Resource" : "arn:aws:swf:*:123456789012:/domain/department1", "Condition" : { "StringEquals" : { "swf:workflowType.name" : "workflow1", "swf:workflowType.version" : "version2" } } } ] }

此策略限制 StartWorkflowExecution 操作的 nameversion 参数。如果将此策略附加到操作者,它只能在 department1 域中运行 workflow1version2,且两个参数都必须包含在请求中。

您可以使用 StringEqualsIfExists 运算符限制操作,无需将其包含在请求中,如下所述:

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : "swf:StartWorkflowExecution", "Resource" : "arn:aws:swf:*:123456789012:/domain/some_domain", "Condition" : { "StringEqualsIfExists" : { "swf:taskList.name" : "task_list_name" } } } ] }

参与者可通过此策略在启动工作流执行时选择性地指定任务列表。

您可以限制某些操作的标签列表。在此情况下,每个标签都有一个单独的密钥,所以您会使用 swf:tagList.member.0 限制列表中的第一个标签,使用 swf:tagList.member.1 限制列表中的第二个标签,以此类推,最多能限制 5 个。但是,对于标签列表的限制方法,您必须要谨慎。关于实例,下面是推荐策略的示例:

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : "swf:StartWorkflowExecution", "Resource" : "arn:aws:swf:*:123456789012:/domain/some_domain", "Condition" : { "StringEqualsIfExists" : { "swf:tagList.member.0" : "some_ok_tag", "another_ok_tag" } } } ] }

此策略允许您选择指定 some_ok_taganother_ok_tag。但是,此策略只会限制标签列表的第一个元素。列表可以有包含都会被允许的任意值的其他元素,因为此策略不会对 swf:tagList.member.1swf:tagList.member.2 等等应用任何条件。

解决此问题的一个方法是禁止使用标签列表。以下策略要求列表中只能包含一个元素,从而确保只允许有 some_ok_taganother_ok_tag

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : "swf:StartWorkflowExecution", "Resource" : "arn:aws:swf:*:123456789012:/domain/some_domain", "Condition" : { "StringEqualsIfExists" : { "swf:tagList.member.0" : "some_ok_tag", "another_ok_tag" }, "Null" : { "swf:tagList.member.1" : "true" } } } ] }

伪 API 权限和约束条件

如果您想限制提供给 RespondDecisionTaskCompleted 的决策,您首先必须允许参与者调用 RespondDecisionTaskCompleted。然后,您可以使用常规 API 的句法,授予适当伪 API 成员权限,如下所示:

{ "Version": "2012-10-17", "Statement" : [ { "Resource" : "arn:aws:swf:*:123456789012:/domain/*", "Action" : "swf:RespondDecisionTaskCompleted", "Effect" : "Allow" }, { "Resource" : "*", "Action" : "swf:ScheduleActivityTask", "Effect" : "Allow", "Condition" : { "StringEquals" : { "swf:activityType.name" : "SomeActivityType" } } } ] }

如果您将此策略附加到参与者,第一个 Statement 元素将允许参与者调用 RespondDecisionTaskCompleted。第二个元素允许操作者使用ScheduleActivityTask决策,使 Amazon SWF 排定活动任务。为了允许所有决策,用 "swf:*" 替代 "swf:ScheduleActivityTask"。

您可以使用 Condition 运算符像使用常规 API 一样地限制参数。此 ConditionStringEquals 运算符允许 RespondDecisionTaskCompletedSomeActivityType 活动安排一个活动任务,并且它必须安排该任务。如果您想要允许 RespondDecisionTaskCompleted 使用一个参数值但又不需要它这样做,您可以替代使用 StringEqualsIfExists 运算符。

IAM 策略的服务模型限制

在创建 IAM 策略时,必须考虑服务模型约束条件。创建一个代表有效 Amazon SWF 请求的在句法上有效的 IAM 策略是有可能的;在访问控制方面得到允许的请求仍然失败,因为它是无效的请求。

对于实例,ListOpenWorkflowExecutions 建议对 使用以下策略:

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : "swf:ListOpenWorkflowExecutions", "Resource" : "arn:aws:swf:*:123456789012:/domain/domain_name", "Condition" : { "StringEquals" : { "swf:typeFilter.name" : "workflow_name", "swf:typeFilter.version" : "workflow_version", "swf:tagFilter.tag" : "some_tag" } } } ] }

Amazon SWF 服务模型不允许typeFiltertagFilter参数要用于同一ListOpenWorkflowExecutions请求. 因此,该策略允许服务将拒绝的调用 — 通过抛出ValidationException— 作为无效请求。

API 摘要

本章节简要描述了可以如何使用 IAM 策略对参与者使用各 API 和伪 API 访问 Amazon SWF 资源的方法进行控制。

  • 对于除 RegisterDomainListDomains 之外的所有操作,您可以通过授予域资源权限的方式允许或拒绝对任何或所有账户域的访问。

  • 您可以允许或拒绝任何常规 API 成员的权限,如果您授权调用 RespondDecisionTaskCompleted,还可以允许或拒绝任何伪 API 成员的权限。

  • 您可以使用 Condition 限制某些参数的可允许值。

以下章节列出了可针对每个常规和伪 API 成员限制的参数,并提供了相关密钥,指出您可以根据其控制域访问的任何限制条件。

常规 API

本章节列出了常规 API 成员,并简要描述了可进行限制的参数和相关密钥。它还指出了您可以根据其控制域访问的任何限制条件。

CountClosedWorkflowExecutions

  • tagFilter.tag— 字符串约束。密钥是 swf:tagFilter.tag

  • typeFilter.name— 字符串约束。密钥是 swf:typeFilter.name

  • typeFilter.version— 字符串约束。密钥是 swf:typeFilter.version

注意

CountClosedWorkflowExecutions 要求 typeFiltertagFilter 相互排斥。

CountOpenWorkflowExecutions

  • tagFilter.tag— 字符串约束。密钥是 swf:tagFilter.tag

  • typeFilter.name— 字符串约束。密钥是 swf:typeFilter.name

  • typeFilter.version— 字符串约束。密钥是 swf:typeFilter.version

注意

CountOpenWorkflowExecutions 要求 typeFiltertagFilter 相互排斥。

CountPendingActivityTasks

  • taskList.name— 字符串约束。密钥是 swf:taskList.name

CountPendingDecisionTasks

  • taskList.name— 字符串约束。密钥是 swf:taskList.name

DeprecateActivityType

  • activityType.name— 字符串约束。密钥是 swf:activityType.name

  • activityType.version— 字符串约束。密钥是 swf:activityType.version

DeprecateDomain

  • 您不能限制此操作的参数。

DeprecateWorkflowType

  • workflowType.name— 字符串约束。密钥是 swf:workflowType.name

  • workflowType.version— 字符串约束。密钥是 swf:workflowType.version

DescribeActivityType

  • activityType.name— 字符串约束。密钥是 swf:activityType.name

  • activityType.version— 字符串约束。密钥是 swf:activityType.version

DescribeDomain

  • 您不能限制此操作的参数。

DescribeWorkflowExecution

  • 您不能限制此操作的参数。

DescribeWorkflowType

  • workflowType.name— 字符串约束。密钥是 swf:workflowType.name

  • workflowType.version— 字符串约束。密钥是 swf:workflowType.version

GetWorkflowExecutionHistory

  • 您不能限制此操作的参数。

ListActivityTypes

  • 您不能限制此操作的参数。

ListClosedWorkflowExecutions

  • tagFilter.tag— 字符串约束。密钥是 swf:tagFilter.tag

  • typeFilter.name— 字符串约束。密钥是 swf:typeFilter.name

  • typeFilter.version— 字符串约束。密钥是 swf:typeFilter.version

注意

ListClosedWorkflowExecutions 要求 typeFiltertagFilter 相互排斥。

ListDomains

  • 您不能限制此操作的参数。

ListOpenWorkflowExecutions

  • tagFilter.tag— 字符串约束。密钥是 swf:tagFilter.tag

  • typeFilter.name— 字符串约束。密钥是 swf:typeFilter.name

  • typeFilter.version— 字符串约束。密钥是 swf:typeFilter.version

注意

ListOpenWorkflowExecutions 要求 typeFiltertagFilter 相互排斥。

ListWorkflowTypes

  • 您不能限制此操作的参数。

PollForActivityTask

  • taskList.name— 字符串约束。密钥是 swf:taskList.name

PollForDecisionTask

  • taskList.name— 字符串约束。密钥是 swf:taskList.name

RecordActivityTaskHeartbeat

  • 您不能限制此操作的参数。

RegisterActivityType

  • defaultTaskList.name— 字符串约束。密钥是 swf:defaultTaskList.name

  • name— 字符串约束。密钥是 swf:name

  • version— 字符串约束。密钥是 swf:version

RegisterDomain

  • name— 注册的域名可作为此操作的资源。

RegisterWorkflowType

  • defaultTaskList.name— 字符串约束。密钥是 swf:defaultTaskList.name

  • name— 字符串约束。密钥是 swf:name

  • version— 字符串约束。密钥是 swf:version

RequestCancelWorkflowExecution

  • 您不能限制此操作的参数。

RespondActivityTaskCanceled

  • 您不能限制此操作的参数。

RespondActivityTaskCompleted

  • 您不能限制此操作的参数。

RespondActivityTaskFailed

  • 您不能限制此操作的参数。

RespondDecisionTaskCompleted

  • decisions.member.N— 通过伪 API 权限间接限制。有关详细信息,请参阅 伪 API

SignalWorkflowExecution

  • 您不能限制此操作的参数。

StartWorkflowExecution

  • tagList.member.0— 字符串约束。密钥是 swf:tagList.member.0

  • tagList.member.1— 字符串约束。密钥是 swf:tagList.member.1

  • tagList.member.2— 字符串约束。密钥是 swf:tagList.member.2

  • tagList.member.3— 字符串约束。密钥是 swf:tagList.member.3

  • tagList.member.4— 字符串约束。密钥是 swf:tagList.member.4

  • taskList.name— 字符串约束。密钥是 swf:taskList.name

  • workflowType.name— 字符串约束。密钥是 swf:workflowType.name

  • workflowType.version— 字符串约束。密钥是 swf:workflowType.version

注意

限制的标签不能超过五个。

TerminateWorkflowExecution

  • 您不能限制此操作的参数。

伪 API

本章节列出了表示 RespondDecisionTaskCompleted 中所包含决策的伪 API 成员。如果您已授权使用 RespondDecisionTaskCompleted,您的策略会用与常规 API 相同的方法来授予此 API 成员权限。您可以通过设置一个或多个参数的条件来限制伪 API 的某些成员。本章节列出了伪 API 成员,并简要描述了可进行限制的参数与相关密钥。

注意

aws:SourceIPaws:UserAgentaws:SecureTransport 密钥不可用于伪 API。如果您的预期安全策略需要这些密钥对伪 API 进行访问控制,您可以将其用于 RespondDecisionTaskCompleted 操作。

CancelTimer

  • 您不能限制此操作的参数。

CancelWorkflowExecution

  • 您不能限制此操作的参数。

CompleteWorkflowExecution

  • 您不能限制此操作的参数。

ContinueAsNewWorkflowExecution

  • tagList.member.0— 字符串约束。密钥是 swf:tagList.member.0

  • tagList.member.1— 字符串约束。密钥是 swf:tagList.member.1

  • tagList.member.2— 字符串约束。密钥是 swf:tagList.member.2

  • tagList.member.3— 字符串约束。密钥是 swf:tagList.member.3

  • tagList.member.4— 字符串约束。密钥是 swf:tagList.member.4

  • taskList.name— 字符串约束。密钥是 swf:taskList.name

  • workflowTypeVersion— 字符串约束。密钥是 swf:workflowTypeVersion

注意

限制的标签不能超过五个。

FailWorkflowExecution

  • 您不能限制此操作的参数。

RecordMarker

  • 您不能限制此操作的参数。

RequestCancelActivityTask

  • 您不能限制此操作的参数。

RequestCancelExternalWorkflowExecution

  • 您不能限制此操作的参数。

ScheduleActivityTask

  • activityType.name— 字符串约束。密钥是 swf:activityType.name

  • activityType.version— 字符串约束。密钥是 swf:activityType.version

  • taskList.name— 字符串约束。密钥是 swf:taskList.name

SignalExternalWorkflowExecution

  • 您不能限制此操作的参数。

StartChildWorkflowExecution

  • tagList.member.0— 字符串约束。密钥是 swf:tagList.member.0

  • tagList.member.1— 字符串约束。密钥是 swf:tagList.member.1

  • tagList.member.2— 字符串约束。密钥是 swf:tagList.member.2

  • tagList.member.3— 字符串约束。密钥是 swf:tagList.member.3

  • tagList.member.4— 字符串约束。密钥是 swf:tagList.member.4

  • taskList.name— 字符串约束。密钥是 swf:taskList.name

  • workflowType.name— 字符串约束。密钥是 swf:workflowType.name

  • workflowType.version— 字符串约束。密钥是 swf:workflowType.version

注意

限制的标签不能超过五个。

StartTimer

  • 您不能限制此操作的参数。