AWS Identity and Access Management
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS IoT 的操作、资源和条件键

AWS IoT(服务前缀:iot)提供以下服务特定的资源、操作和条件上下文键以在 IAM 权限策略中使用。

参考:

AWS IoT 定义的操作

您可以在 Action 策略语句的 IAM 元素中指定以下操作。可以使用策略授予在 AWS 中执行操作的权限。您在策略中使用一项操作时,通常使用相同的名称允许或拒绝对 API 操作或 CLI 命令的访问。但在某些情况下,单一动作可控制对多项操作的访问。还有某些操作需要多种不同的动作。

资源列指示每个操作是否支持资源级权限。如果该列没有任何值,您必须在策略语句的 Resource 元素中指定所有资源(“*”)。如果该列包含一种资源类型,则可以在含有该操作的语句中指定该类型的 ARN。必需资源在表中以星号 (*) 表示。如果在使用该操作的语句中指定资源级权限 ARN,则它必须属于该类型。某些操作支持多种资源类型。如果资源类型是可选的(未指示为必需),则可以选择使用一种类型而不使用其他类型。

有关下表中各列的详细信息,请参阅 操作表

操作 描述 访问级别 资源类型(* 为必需) 条件键 相关操作
AcceptCertificateTransfer 接受待处理证书传输。 写入
AddThingToBillingGroup 将事物添加到指定的账单组中。 写入

billinggroup*

thing*

AddThingToThingGroup 向指定事物组中添加事物。 写入

thing*

thinggroup*

AssociateTargetsWithJob 将组与持续作业关联。 写入

job*

thing*

thinggroup*

AttachPolicy 将策略附加到指定的目标。 权限管理

cert

thinggroup

AttachPrincipalPolicy 将指定的策略附加到指定的委托人 (证书或其他凭证)。 权限管理

cert

AttachSecurityProfile 将 Device Defender 安全配置文件与事物组或此账户关联。 写入

securityprofile*

thinggroup

AttachThingPrincipal 将指定的委托人附加到指定的事物。 写入
CancelAuditTask 取消正在进行的审核。审核可能是计划审核,也可能是按需审核。 写入
CancelCertificateTransfer 取消指定证书的待处理传输。 写入
CancelJob 取消作业。 写入

job*

CancelJobExecution 取消特定设备上的作业执行。 写入

job*

thing*

ClearDefaultAuthorizer 清除默认授权方。 写入
Connect 作为指定的客户端连接 写入

client*

CreateAuthorizer 创建授权方。 写入

authorizer*

CreateBillingGroup 创建账单组。 标记

billinggroup*

aws:RequestTag/${TagKey}

aws:TagKeys

CreateCertificateFromCsr 使用指定的证书签名请求创建 X.509 证书。 写入
CreateDynamicThingGroup 创建动态事物组 标记

dynamicthinggroup*

aws:RequestTag/${TagKey}

aws:TagKeys

CreateJob 创建作业。 写入

job*

thing*

thinggroup*

aws:RequestTag/${TagKey}

aws:TagKeys

CreateKeysAndCertificate 创建 2048 位 RSA 密钥对,并使用已发布公有密钥颁发 X.509 证书。 写入
CreateOTAUpdate 创建 OTA 更新作业。 写入

otaupdate*

aws:RequestTag/${TagKey}

aws:TagKeys

CreatePolicy 创建 AWS IoT 策略。 写入
CreatePolicyVersion 创建指定 AWS IoT 策略的新版本。 写入

policy*

CreateRoleAlias 创建角色别名。 写入

role*

rolealias*

CreateScheduledAudit 创建计划审核,使之按指定的时间间隔运行。 标记

scheduledaudit*

aws:RequestTag/${TagKey}

aws:TagKeys

CreateSecurityProfile 创建 Device Defender 安全配置文件。 标记

securityprofile*

aws:RequestTag/${TagKey}

aws:TagKeys

CreateStream 创建新的 AWS IoT 流 写入

stream*

aws:RequestTag/${TagKey}

aws:TagKeys

CreateThing 在事物注册表中创建事物。 写入

thing*

billinggroup

CreateThingGroup 创建事物组。 标记

thinggroup*

aws:RequestTag/${TagKey}

aws:TagKeys

CreateThingType 创建新事物类型。 标记

thingtype*

aws:RequestTag/${TagKey}

aws:TagKeys

CreateTopicRule 创建规则。 写入

rule*

aws:RequestTag/${TagKey}

aws:TagKeys

DeleteAccountAuditConfiguration 删除与账户关联的审核配置。 写入
DeleteAuthorizer 删除指定的授权方。 写入

authorizer*

DeleteBillingGroup 删除指定的账单组。 标记

billinggroup*

DeleteCACertificate 删除已注册的 CA 证书。 写入

cacert*

DeleteCertificate 删除指定的证书。 写入

cert*

DeleteDynamicThingGroup 删除指定的动态事物组 写入
DeleteJob 删除作业及其相关的作业执行。 写入

job*

DeleteJobExecution 删除作业执行。 写入

job*

thing*

DeleteOTAUpdate 删除 OTA 更新作业。 写入

otaupdate*

DeletePolicy 删除指定的策略。 写入

policy*

DeletePolicyVersion 删除指定策略的指定版本。 写入

policy*

DeleteRegistrationCode 删除 CA 证书注册代码。 写入
DeleteRoleAlias 删除指定的角色别名。 写入

rolealias*

DeleteScheduledAudit 删除计划审核。 写入

scheduledaudit*

DeleteSecurityProfile 删除 Device Defender 安全配置文件。 写入

securityprofile*

DeleteStream 删除指定的流。 写入

stream*

DeleteThing 删除指定的事物。 写入

thing*

DeleteThingGroup 删除指定的事物组。 标记

thinggroup*

DeleteThingShadow 删除指定的事物影子。 写入

thing*

DeleteThingType 删除指定的事物类型。 标记

thingtype*

DeleteTopicRule 删除指定的规则。 写入

rule*

DeleteV2LoggingLevel 删除指定的 v2 日志记录级别。 写入
DeprecateThingType 弃用指定的事物类型。 写入

thingtype*

DescribeAccountAuditConfiguration 获取有关账户的审核配置的信息。 Read
DescribeAuditTask 获取有关 Device Defender 审核的信息。 Read
DescribeAuthorizer 描述授权方。 Read

authorizer*

DescribeBillingGroup 获取有关指定记账组的信息。 Read

billinggroup*

DescribeCACertificate 描述已注册的 CA 证书。 Read

cacert*

DescribeCertificate 获取有关指定证书的信息。 Read

cert*

DescribeDefaultAuthorizer 描述默认授权方。 Read
DescribeEndpoint 返回特定于发出调用的 AWS 账户的唯一终端节点。 Read
DescribeEventConfigurations 返回账户事件配置。 Read
DescribeIndex 获取有关指定索引的信息。 Read

index*

DescribeJob 描述作业。 Read

job*

DescribeJobExecution 描述作业执行。 Read

job

thing

DescribeRoleAlias 描述角色别名。 Read

rolealias*

DescribeScheduledAudit 获取有关计划审核的信息。 Read

scheduledaudit*

DescribeSecurityProfile 获取有关 Device Defender 安全配置文件的信息。 Read

securityprofile*

DescribeStream 获取有关指定流的信息。 Read

stream*

DescribeThing 获取有关指定事物的信息。 Read

thing*

DescribeThingGroup 获取有关指定事物组的信息。 Read

thinggroup*

DescribeThingRegistrationTask 获取有关批量事物注册任务的信息。 Read
DescribeThingType 获取有关指定事物类型的信息。 Read

thingtype*

DetachPolicy 从指定目标分离策略。 权限管理

cert

thinggroup

DetachPrincipalPolicy 从指定的证书中删除指定的策略。 权限管理

cert

DetachSecurityProfile 将 Device Defender 安全配置文件与事物组或此账户取消关联。 写入

securityprofile*

thinggroup

DetachThingPrincipal 从指定的事物分离指定的委托人。 写入
DisableTopicRule 禁用指定的规则。 写入

rule*

EnableTopicRule 启用指定的规则。 写入

rule*

GetEffectivePolicies 获取生效策略。 Read

cert

GetIndexingConfiguration 获取当前队列索引配置 Read
GetJobDocument 获取作业文档。 Read

job*

GetLoggingOptions 获取日志记录选项。 Read
GetOTAUpdate 获取有关 OTA 更新作业的信息。 Read

otaupdate*

GetPendingJobExecutions 获取未处于最终状态的事物的所有作业列表。 Read

thing*

GetPolicy 获取具有默认版本策略文档的指定策略的相关信息。 Read

policy*

GetPolicyVersion 获取有关指定策略版本的信息。 Read

policy*

GetRegistrationCode 获取用于将 CA 证书注册到 AWS IoT 的注册代码。 Read
GetStatistics 获取 IoT 队列索引的统计数据 Read

index*

GetThingShadow 获取事物影子。 Read

thing*

GetTopicRule 获取有关指定规则的信息。 Read

rule*

GetV2LoggingOptions 获取 v2 日志记录选项。 Read
ListActiveViolations 列出给定 Device Defender 安全配置文件或事物的活动违规。 List

securityprofile

thing

ListAttachedPolicies 列出附加到指定事物组的策略。 List
ListAuditFindings 列出 Device Defender 审核的结果或在指定时间段内审核执行的结果。 List
ListAuditTasks 列出已在指定时间段内执行的 Device Defender 审核。 List
ListAuthorizers 列出您账户中已注册的授权方。 List
ListBillingGroups 列出所有账单组。 List
ListCACertificates 列出为您的 AWS 账户注册的 CA 证书。 List
ListCertificates 列出您的证书。 List
ListCertificatesByCA 列出由指定 CA 证书签名的设备证书。 List
ListIndices 列出队列索引的所有索引 List
ListJobExecutionsForJob 列出作业的作业执行。 List

job*

ListJobExecutionsForThing 列出指定事物的作业执行。 List

thing*

ListJobs 列出作业。 List
ListOTAUpdates 列出账户中的 OTA 更新作业。 List
ListOutgoingCertificates 列出正在传输但尚未接受的证书。 List
ListPolicies 列出您的策略。 List
ListPolicyPrincipals 列出与指定策略关联的委托人。 List
ListPolicyVersions 列出指定策略的版本并标识默认版本。 List
ListPrincipalPolicies 列出附加到指定委托人的策略。如果您使用 Amazon Cognito 身份,ID 需要使用 Amazon Cognito 身份格式。 List
ListPrincipalThings 列出与指定委托人关联的事物。 List
ListRoleAliases 列出角色别名。 List
ListScheduledAudits 列出所有计划审核。 List
ListSecurityProfiles 列出创建的 Device Defender 安全配置文件。 List
ListSecurityProfilesForTarget 列出附加到目标的 Device Defender 安全配置文件。 List

thinggroup

ListStreams 列出您的账户中的流。 List
ListTagsForResource 列出给定资源的所有标签。 List

billinggroup

dynamicthinggroup

job

otaupdate

rule

scheduledaudit

securityprofile

stream

thinggroup

thingtype

ListTargetsForPolicy 列出指定策略的目标。 List

policy*

ListTargetsForSecurityProfile 列出与给定 Device Defender 安全配置文件关联的目标。 List

securityprofile*

ListThingGroups 列出所有事物组。 List
ListThingGroupsForThing 列出指定事物所属的事物组。 List

thing*

ListThingPrincipals 列出与指定事物关联的委托人。 List
ListThingRegistrationTaskReports 列出有关批量事物注册任务的信息。 List
ListThingRegistrationTasks 列出批量事物注册任务。 List
ListThingTypes 列出所有事物类型。 List
ListThings 列出所有事物。 List
ListThingsInBillingGroup 列出指定账单组中的所有事物。 List

billinggroup*

ListThingsInThingGroup 列出指定事物组中的所有事物。 List

thinggroup*

ListTopicRules 列出特定主题的规则。 List
ListV2LoggingLevels 列出 v2 日志记录级别。 List
ListViolationEvents 列出在指定时间段内发现的 Device Defender 安全配置文件违规事件。 List

securityprofile

thing

Publish 发布到指定的主题。 写入

topic*

Receive 从指定的主题接收。 写入

topic*

RegisterCACertificate 向 AWS IoT 注册 CA 证书。 写入
RegisterCertificate 向 AWS IoT 注册设备证书。 写入
RegisterThing 注册您的事物。 写入
RejectCertificateTransfer 拒绝待处理证书传输。 写入

cert*

RemoveThingFromBillingGroup 从指定的账单组中删除事物。 写入

billinggroup*

thing*

RemoveThingFromThingGroup 从指定事物组删除事物。 写入

thing*

thinggroup*

ReplaceTopicRule 替换指定的规则。 写入

rule*

SearchIndex 搜索 IoT 队列索引 Read

index*

SetDefaultAuthorizer 设置默认授权方。如果在没有指定授权方的情况下进行 websocket 连接,则将使用此项。 权限管理

authorizer*

SetDefaultPolicyVersion 将指定策略的指定版本设置为策略的默认 (有效) 版本。 权限管理

policy*

SetLoggingOptions 设置日志记录选项。 写入
SetV2LoggingLevel 设置 v2 日志记录级别。 写入
SetV2LoggingOptions 设置 v2 日志记录选项。 写入
StartNextPendingJobExecution 获取并启动事物的下一个待处理作业执行。 写入

thing*

StartOnDemandAuditTask 启动按需 Device Defender 审核。 写入
StartThingRegistrationTask 启动批量事物注册任务。 写入
StopThingRegistrationTask 停止批量事物注册任务。 写入
Subscribe 订阅指定的 TopicFilter。 写入

topicfilter*

TagResource 标记指定的资源 标记

billinggroup

dynamicthinggroup

job

otaupdate

rule

scheduledaudit

securityprofile

stream

thinggroup

thingtype

aws:RequestTag/${TagKey}

aws:TagKeys

TestAuthorization 测试组策略的策略评估 Read

cert

TestInvokeAuthorizer 调用指定的自定义授权方以用于测试目的。 Read

authorizer*

TransferCertificate 将指定证书传输到指定 AWS 账户。 写入

cert*

UntagResource 取消标记指定的资源 标记

billinggroup

dynamicthinggroup

job

otaupdate

rule

scheduledaudit

securityprofile

stream

thinggroup

thingtype

aws:TagKeys

UpdateAccountAuditConfiguration 针对此账户配置或重新配置 Device Defender 审核设置。 写入
UpdateAuthorizer 更新授权方 写入

authorizer*

UpdateBillingGroup 更新与指定账单组关联的信息。 写入

billinggroup*

UpdateCACertificate 更新已注册的 CA 证书。 写入

cacert*

UpdateCertificate 更新指定证书的状态。此操作是幂等的。 写入

cert*

UpdateDynamicThingGroup 更新动态事物组 写入
UpdateEventConfigurations 更新事件配置。 写入
UpdateIndexingConfiguration 更新队列索引配置 写入
UpdateJob 更新作业。 写入

job*

UpdateJobExecution 更新作业执行。 写入

thing*

UpdateRoleAlias 更新角色别名 写入

rolealias*

role

UpdateScheduledAudit 更新计划审核,包括执行的检查和审核执行的频率。 写入

scheduledaudit*

UpdateSecurityProfile 更新 Device Defender 安全配置文件。 写入

securityprofile*

UpdateStream 更新流的数据。 写入

stream*

UpdateThing 更新与指定事物关联的信息。 写入

thing*

UpdateThingGroup 更新与指定事物组关联的信息。 写入

thinggroup*

UpdateThingGroupsForThing 更新事物所属的事物组。 写入

thing*

thinggroup

UpdateThingShadow 更新事物影子。 写入

thing*

ValidateSecurityProfileBehaviors 验证 Device Defender 安全配置文件行为规范。 Read

AWS IoT 定义的资源

以下资源类型是由该服务定义的,可以在 IAM 权限策略语句的 Resource 元素中使用这些资源类型。操作表中的每个操作指定了可以使用该操作指定的资源类型。您也可以在策略中包含条件键,从而定义资源类型。这些键显示在表的最后一列。有关下表中各列的详细信息,请参阅 资源类型表

资源类型 ARN 条件键
client arn:${Partition}:iot:${Region}:${Account}:client/${ClientId}
index arn:${Partition}:iot:${Region}:${Account}:index/${IndexName}
job arn:${Partition}:iot:${Region}:${Account}:job/${JobId}

aws:ResourceTag/${TagKey}

thing arn:${Partition}:iot:${Region}:${Account}:thing/${ThingName}
thinggroup arn:${Partition}:iot:${Region}:${Account}:thinggroup/${ThingGroupName}

aws:ResourceTag/${TagKey}

billinggroup arn:${Partition}:iot:${Region}:${Account}:billinggroup/${BillingGroupName}

aws:ResourceTag/${TagKey}

dynamicthinggroup arn:${Partition}:iot:${Region}:${Account}:thinggroup/${ThingGroupName}

aws:ResourceTag/${TagKey}

thingtype arn:${Partition}:iot:${Region}:${Account}:thingtype/${ThingTypeName}

aws:ResourceTag/${TagKey}

topic arn:${Partition}:iot:${Region}:${Account}:topic/${TopicName}
topicfilter arn:${Partition}:iot:${Region}:${Account}:topicfilter/${TopicFilter}
rolealias arn:${Partition}:iot:${Region}:${Account}:rolealias/${RoleAlias}
role arn:${Partition}:iam::${Account}:role/${Role}
authorizer arn:${Partition}:iot:${Region}:${Account}:authorizer/${AuthorizerName}
policy arn:${Partition}:iot:${Region}:${Account}:policy/${PolicyName}
cert arn:${Partition}:iot:${Region}:${Account}:cert/${Certificate}
cacert arn:${Partition}:iot:${Region}:${Account}:cacert/${CACertificate}
stream arn:${Partition}:iot:${Region}:${Account}:stream/${streamId}

aws:ResourceTag/${TagKey}

otaupdate arn:${Partition}:iot:${Region}:${Account}:otaupdate/${otaUpdateId}

aws:ResourceTag/${TagKey}

scheduledaudit arn:${Partition}:iot:${Region}:${Account}:scheduledaudit/${ScheduleName}

aws:ResourceTag/${TagKey}

securityprofile arn:${Partition}:iot:${Region}:${Account}:securityprofile/${SecurityProfileName}

aws:ResourceTag/${TagKey}

rule arn:${Partition}:iot:${Region}:${Account}:rule/${ruleName}

aws:ResourceTag/${TagKey}

AWS IoT 的条件键

AWS IoT 定义以下可以在 IAM 策略的 Condition 元素中使用的条件键。您可以使用这些键进一步细化应用策略语句的条件。有关下表中各列的详细信息,请参阅 条件键表

要查看适用于所有服务的全局条件键,请参阅 IAM 策略参考 中的可用的全局条件键

条件键 描述 类型
aws:RequestTag/${TagKey} 用户向 IoT 发出的请求中包含的标签键。 字符串
aws:ResourceTag/${TagKey} 附加到 IoT 资源的标签的标签键组件。 字符串
aws:TagKeys 与请求中的资源关联的所有标签键名称的列表。 字符串