Amazon SNS 的操作、资源和条件键
Amazon SNS(服务前缀:sns
)提供以下服务特定的资源、操作和条件上下文键以在 IAM 权限策略中使用。
参考:
Amazon SNS 定义的操作
您可以在 IAM 策略语句的 Action
元素中指定以下操作。可以使用策略授予在 AWS 中执行操作的权限。您在策略中使用一项操作时,通常使用相同的名称允许或拒绝对 API 操作或 CLI 命令的访问。但在某些情况下,单一动作可控制对多项操作的访问。还有某些操作需要多种不同的动作。
操作表的资源类型列指示每项操作是否支持资源级权限。如果该列没有任何值,您必须在策略语句的 Resource
元素中指定策略应用的所有资源(“*”)。通过在 IAM policy 中使用条件来筛选访问权限,以控制是否可以在资源或请求中使用特定标签键。如果操作具有一个或多个必需资源,则调用方必须具有使用这些资源来使用该操作的权限。必需资源在表中以星号 (*) 表示。如果您在 IAM policy 中使用 Resource
元素限制资源访问权限,则必须为每种必需的资源类型添加 ARN 或模式。某些操作支持多种资源类型。如果资源类型是可选的(未指示为必需),则可以选择使用一种可选资源类型。
操作表的条件键列包括可以在策略语句的 Condition
元素中指定的键。有关与服务资源关联的条件键的更多信息,请参阅资源类型表的条件键列。
注意
资源条件键在资源类型表中列出。您可以在操作表的资源类型(* 为必需)列中找到应用于某项操作的资源类型的链接。资源类型表中的资源类型包括条件密钥列,这是应用于操作表中操作的资源条件键。
有关下表中各列的详细信息,请参阅操作表。
操作 | 描述 | 访问级别 | 资源类型(* 为必需) | 条件键 | 相关操作 |
---|---|---|---|---|---|
AddPermission | 您将向主题的访问控制策略添加一个语句,允许指定的AWS账户完成指定操作。 | Permissions management | |||
CheckIfPhoneNumberIsOptedOut | 接受电话号码并指明电话持有者是否已选择不接收来自您的账户的 SMS 消息。 | Read | |||
ConfirmSubscription | 在本示例中,您将通过更早的订阅操作验证发送到终端节点的令牌来验证终端节点所有者接收消息的意图。 | Write | |||
CreatePlatformApplication | 为设备和移动应用程序可能注册的受支持推送通知服务(如 &APNS; 和 &GCM;)之一创建平台应用程序对象。 | Write |
iam:PassRole |
||
CreatePlatformEndpoint | 为受支持推送通知服务(例如 GCM 和 APNS)之一上的设备和移动应用程序创建终端节点。 | Write | |||
CreateSMSSandboxPhoneNumber | 授予权限以为某个 AWS 账户添加一个目标电话号码并向该电话号码发送一次性密码(OTP) | Write | |||
CreateTopic | 授予创建可向其发布通知的主题的权限 | Write |
iam:PassRole |
||
DeleteEndpoint | 授予从 Amazon SNS 中删除设备和移动应用程序的终端节点的权限 | Write | |||
DeletePlatformApplication | 这可授予创建一个平台应用程序对象的权限,用于受支持的推送通知服务,如 &APNS; 和 &GCM;。 | Write | |||
DeleteSMSSandboxPhoneNumber | 授予权限以删除某个 AWS 账户的已验证或待处理的电话号码 | Write | |||
DeleteTopic | 授予删除主题及其所有订阅的权限 | 写入 | |||
GetDataProtectionPolicy | 授予返回主题数据保护策略的权限 | 读取 | |||
GetEndpointAttributes | 为受支持推送通知服务(GCM 和 APNS)之一上的设备检索终端节点属性。 | Read | |||
GetPlatformApplicationAttributes | 检索用于受支持推送通知服务(例如 APNS 和 GCM)的平台应用程序对象的属性。 | Read | |||
GetSMSAttributes | 授予从您的帐户返回发送 SMS 消息的设置的权限 | Read | |||
GetSMSSandboxAccountStatus | 授予检索目标区域中呼叫账户的沙箱状态的权限 | Read | |||
GetSubscriptionAttributes | 授予返回订阅的所有属性的权限 | Read | |||
GetTopicAttributes | 授予返回主题所有属性的权限 | Read | |||
ListEndpointsByPlatformApplication | 列出受支持推送通知服务(例如 GCM 和 APNS)中的设备的终端节点和终端节点属性。 | List | |||
ListOriginationNumbers | 授予列出所有原始编号及其元数据的权限 | List | |||
ListPhoneNumbersOptedOut | 返回已退出电话号码的列表,这意味着您无法向这些电话号码发送 SMS 消息。 | Read | |||
ListPlatformApplications | 列出用于受支持推送通知服务(例如 APNS 和 GCM)的平台应用程序对象。 | List | |||
ListSMSSandboxPhoneNumbers | 授予列出呼叫账户当前待处理和已验证的目标电话号码的权限 | List | |||
ListSubscriptions | 授予返回请求者订阅列表的权限 | List | |||
ListSubscriptionsByTopic | 授予检索对特定主题的所有订阅的权限。 | List | |||
ListTagsForResource | 授予列出添加到指定 Amazon SNS 主题的所有标签的权限 | Read | |||
ListTopics | 授予返回请求者主题列表的权限 | List | |||
OptInPhoneNumber | 加入当前已退出的电话号码,这样您便可以继续向该号码发送 SMS 消息。 | Write | |||
Publish | 授予向主题的所有订阅终端节点发送消息的权限 | 写入 | |||
PutDataProtectionPolicy | 授予允许主题所有者设置数据保护策略的权限 | 写入 | |||
RemovePermission | 授予从主题的访问控制策略中删除语句的权限 | Permissions management | |||
SetEndpointAttributes | 为受支持推送通知服务(GCM 和 APNS)之一上的设备设置终端节点属性。 | Write | |||
SetPlatformApplicationAttributes | 为用于受支持推送通知服务(例如 APNS 和 GCM)的平台应用程序对象设置属性。 | Write |
iam:PassRole |
||
SetSMSAttributes | 设置用于发送 SMS 消息和接收每日 SMS 使用情况报告的默认设置。 | Write | |||
SetSubscriptionAttributes | 授予允许订阅所有者将主题属性设置为新值的权限 | Write | |||
SetTopicAttributes | 授予允许主题所有者将主题属性设置为新值的权限 | 权限管理 |
iam:PassRole |
||
Subscribe | 通过向终端节点发送确认消息,授予准备订阅终端节点的权限 | Write | |||
TagResource | 授予向指定的 Amazon SNS 主题添加标签的权限 | Tagging | |||
Unsubscribe | 授予权限以删除订阅定义。 | Write | |||
UntagResource | 授予从 Amazon SNS 指定服务器或备份中删除标签的权限 | Tagging | |||
VerifySMSSandboxPhoneNumber | 授予权限以使用一次性密码(OTP)验证某个 AWS 账户的目标电话号码 | Write |
Amazon SNS 定义的资源类型
以下资源类型是由该服务定义的,可以在 IAM 权限策略语句的 Resource
元素中使用这些资源类型。操作表中的每个操作指定了可以使用该操作指定的资源类型。您也可以在策略中包含条件键,从而定义资源类型。这些键显示在资源类型表的最后一列。有关下表中各列的详细信息,请参阅资源类型表。
资源类型 | ARN | 条件键 |
---|---|---|
topic |
arn:${Partition}:sns:${Region}:${Account}:${TopicName}
|
Amazon SNS 的条件键
Amazon SNS 定义以下可以在 IAM policy 的 Condition
元素中使用的条件键。您可以使用这些键进一步细化应用策略语句的条件。有关下表中各列的详细信息,请参阅条件键表。
要查看适用于所有服务的全局条件键,请参阅可用的全局条件键。
条件键 | 描述 | 类型 |
---|---|---|
aws:RequestTag/${TagKey} | 按请求中的标签筛选访问权限 | String |
aws:ResourceTag/${TagKey} | 按与资源关联的标签筛选访问权限 | String |
aws:TagKeys | 按请求中的标签键筛选访问权限 | 字符串数组 |
sns:Endpoint | 按订阅请求或以前确认的订阅中的 URL、电子邮件地址或 ARN 筛选访问权限 | String |
sns:Protocol | 按订阅请求或以前确认的订阅中的协议值筛选访问权限 | String |