The aws-sns mod contains resource, control and policy definitions for AWS SNS service.
Resource Types
Resource types covered by this mod:
Permissions
Taking a look at permissions and associated grant levels for each permission for SNS:
Permission | Grant Level | Help |
---|---|---|
sns:AddPermission | Admin | Allows cross-account access. |
sns:CheckIfPhoneNumberIsOptedOut | Metadata | |
sns:ConfirmSubscription | Operator | Topics are managed by Admins; Subscriptions by Operators. |
sns:CreatePlatformApplication | Admin | Applications are managed by Admins; used for managing Amazon SNS Mobile Push Notifications operations. |
sns:CreatePlatformEndpoint | Admin | Endpoints are managed by Admins; used for managing Amazon SNS Mobile Push Notifications operations. |
sns:CreateSMSSandboxPhoneNumber | Admin | |
sns:CreateTopic | Admin | Topics are managed by Admins; Subscriptions by Operators. |
sns:DeleteEndpoint | Admin | Endpoints are managed by Admins; used for managing Amazon SNS Mobile Push Notifications operations. |
sns:DeletePlatformApplication | Admin | Applications are managed by Admins; used for managing Amazon SNS Mobile Push Notifications operations. |
sns:DeleteSMSSandboxPhoneNumber | Admin | |
sns:DeleteTopic | Admin | Topics are managed by Admins; Subscriptions by Operators. |
sns:GetEndpointAttributes | Metadata | |
sns:GetPlatformApplicationAttributes | Metadata | |
sns:GetSMSAttributes | Metadata | |
sns:GetSMSSandboxAccountStatus | Metadata | |
sns:GetSubscriptionAttributes | Metadata | |
sns:GetTopicAttributes | Metadata | |
sns:ListEndpointsByPlatformApplication | Metadata | |
sns:ListOriginationNumbers | Metadata | |
sns:ListPhoneNumbersOptedOut | Metadata | |
sns:ListPlatformApplications | Metadata | |
sns:ListSMSSandboxPhoneNumbers | Metadata | |
sns:ListSubscriptions | Metadata | |
sns:ListSubscriptionsByTopic | Metadata | |
sns:ListTagsForResource | Metadata | |
sns:ListTopics | Metadata | |
sns:OptInPhoneNumber | Operator | Operators can manage SMS preferences. |
sns:Publish | Operator | |
sns:RemovePermission | Admin | Allows cross-account access. |
sns:SetEndpointAttributes | Admin | Endpoints are managed by Admins; used for managing Amazon SNS Mobile Push Notifications operations. |
sns:SetPlatformApplicationAttributes | Admin | Applications are managed by Admins; used for managing Amazon SNS Mobile Push Notifications operations. |
sns:SetSMSAttributes | Operator | Operators can manage SMS preferences. |
sns:SetSubscriptionAttributes | Operator | Topics are managed by Admins; Subscriptions by Operators. |
sns:SetTopicAttributes | Operator | Topics are managed by Admins; Subscriptions by Operators. |
sns:Subscribe | Operator | Topics are managed by Admins; Subscriptions by Operators. |
sns:TagResource | Operator | |
sns:Unsubscribe | Operator | Topics are managed by Admins; Subscriptions by Operators. |
sns:UntagResource | Operator | |
sns:VerifySMSSandboxPhoneNumber | Operator |
Learn More About Turbot
- Setting Policies Tutorial
- Mods Overview
- Policies Overview
- Resources Overview
- Common Policies and Controls
Recommended Version
Version
5.14.0
Released On
Jun 14, 2023
Depends On
Resource Types
Control Types
- AWS > SNS > Subscription > Active
- AWS > SNS > Subscription > Approved
- AWS > SNS > Subscription > CMDB
- AWS > SNS > Subscription > Configured
- AWS > SNS > Subscription > Discovery
- AWS > SNS > Subscription > Usage
- AWS > SNS > Topic > Active
- AWS > SNS > Topic > Approved
- AWS > SNS > Topic > CMDB
- AWS > SNS > Topic > Configured
- AWS > SNS > Topic > Discovery
- AWS > SNS > Topic > Encryption at Rest
- AWS > SNS > Topic > Policy
- AWS > SNS > Topic > Policy > Trusted Access
- AWS > SNS > Topic > Tags
- AWS > SNS > Topic > Usage
- AWS > SNS > Topic Policy > CMDB
- AWS > SNS > Topic Policy > Configured
- AWS > SNS > Topic Policy > Discovery
Policy Types
- AWS > SNS > API Enabled
- AWS > SNS > Approved Regions [Default]
- AWS > SNS > Enabled
- AWS > SNS > Permissions
- AWS > SNS > Permissions > Levels
- AWS > SNS > Permissions > Levels > Modifiers
- AWS > SNS > Permissions > Lockdown
- AWS > SNS > Permissions > Lockdown > API Boundary
- AWS > SNS > Regions
- AWS > SNS > Subscription > Active
- AWS > SNS > Subscription > Active > Age
- AWS > SNS > Subscription > Active > Last Modified
- AWS > SNS > Subscription > Approved
- AWS > SNS > Subscription > Approved > Custom
- AWS > SNS > Subscription > Approved > Regions
- AWS > SNS > Subscription > Approved > Usage
- AWS > SNS > Subscription > CMDB
- AWS > SNS > Subscription > Configured
- AWS > SNS > Subscription > Configured > Claim Precedence
- AWS > SNS > Subscription > Configured > Source
- AWS > SNS > Subscription > Regions
- AWS > SNS > Subscription > Usage
- AWS > SNS > Subscription > Usage > Limit
- AWS > SNS > Tags Template [Default]
- AWS > SNS > Topic > Active
- AWS > SNS > Topic > Active > Age
- AWS > SNS > Topic > Active > Last Modified
- AWS > SNS > Topic > Approved
- AWS > SNS > Topic > Approved > Custom
- AWS > SNS > Topic > Approved > Regions
- AWS > SNS > Topic > Approved > Usage
- AWS > SNS > Topic > CMDB
- AWS > SNS > Topic > Configured
- AWS > SNS > Topic > Configured > Claim Precedence
- AWS > SNS > Topic > Configured > Source
- AWS > SNS > Topic > Encryption at Rest
- AWS > SNS > Topic > Encryption at Rest > Customer Managed Key
- AWS > SNS > Topic > Policy
- AWS > SNS > Topic > Policy > Trusted Access
- AWS > SNS > Topic > Policy > Trusted Access > Accounts
- AWS > SNS > Topic > Policy > Trusted Access > Identity Providers
- AWS > SNS > Topic > Policy > Trusted Access > Organization Restrictions
- AWS > SNS > Topic > Policy > Trusted Access > Services
- AWS > SNS > Topic > Regions
- AWS > SNS > Topic > Tags
- AWS > SNS > Topic > Tags > Template
- AWS > SNS > Topic > Usage
- AWS > SNS > Topic > Usage > Limit
- AWS > SNS > Topic Policy > CMDB
- AWS > SNS > Topic Policy > Configured
- AWS > SNS > Topic Policy > Configured > Claim Precedence
- AWS > SNS > Topic Policy > Configured > Source
- AWS > SNS > Trusted Accounts [Default]
- AWS > SNS > Trusted Identity Providers [Default]
- AWS > SNS > Trusted Organizations [Default]
- AWS > SNS > Trusted Services [Default]
- AWS > Turbot > Event Handlers > Events > Rules > Custom Event Patterns > @turbot/aws-sns
- AWS > Turbot > Permissions > Compiled > API Boundary > @turbot/aws-sns
- AWS > Turbot > Permissions > Compiled > Levels > @turbot/aws-sns
- AWS > Turbot > Permissions > Compiled > Service Permissions > @turbot/aws-sns
Release Notes
5.14.0 (2023-06-14)
What's new?
- Resource's metadata will now also include
createdBy
details in Turbot CMDB.
5.13.2 (2022-09-27)
Bug fixes
- We’ve made a few GraphQL query improvements in the
AWS > SNS > Subscription
controls and actions to be lighter and more reliable. You won’t notice any difference but things will now run quicker and smoother than before.
5.13.1 (2022-07-13)
Bug fixes
- The lambda functions for certain controls/actions would re-run unnecessarily whenever the mod version was updated. This has now been fixed.
5.13.0 (2022-07-12)
What's new?
- Users can now perform quick actions on resources to remediate cloud configuration issues or skip Turbot alarms for issues that they want to come back to later. To get started, click on the
Actions
button, which will reveal a dropdown menu with available actions, and select one. See Quick Actions for more information.
Action Types
Added
- AWS > SNS > Subscription > Delete from AWS
- AWS > SNS > Subscription > Skip alarm for Active control
- AWS > SNS > Subscription > Skip alarm for Active control [90 days]
- AWS > SNS > Subscription > Skip alarm for Approved control
- AWS > SNS > Subscription > Skip alarm for Approved control [90 days]
- AWS > SNS > Topic > Delete from AWS
- AWS > SNS > Topic > Set Tags
- AWS > SNS > Topic > Skip alarm for Active control
- AWS > SNS > Topic > Skip alarm for Active control [90 days]
- AWS > SNS > Topic > Skip alarm for Approved control
- AWS > SNS > Topic > Skip alarm for Approved control [90 days]
- AWS > SNS > Topic > Skip alarm for Encryption at Rest control
- AWS > SNS > Topic > Skip alarm for Encryption at Rest control [90 days]
- AWS > SNS > Topic > Skip alarm for Tags control
- AWS > SNS > Topic > Skip alarm for Tags control [90 days]
5.12.0 (2022-04-26)
What's new?
- README.md file is now available for users to check details about the resource types and service permissions that the mod covers.
Bug fixes
- Lambda functions for controls/actions would sometimes error out due to Turbot adding the user agent field incorrectly for repeated lambda runs. This is now fixed.
5.11.0 (2022-02-14)
What's new?
- Users can now create their own custom checks against resource attributes in the Approved control using the
Approved > Custom
policy. These custom checks would be a part of the evaluation of the Approved control. Custom messages can also be added which are then displayed in the control details table. See Custom Checks for more information.
Bug fixes
- We've improved the process of deleting resources from Turbot if their CMDB policy was set to
Enforce: Disabled
. The CMDB controls will now not look to resolve credentials via Turbot's IAM role while deleting resources from Turbot. This will allow the CMDB controls to process resource deletions from Turbot more reliably than before.
Policy Types
Added
- AWS > SNS > Subscription > Approved > Custom
- AWS > SNS > Topic > Approved > Custom
5.10.1 (2022-01-25)
Bug fixes
- We've made a few improvements in the GraphQL query for
AWS > SNS > Topic > Encryption At Rest
control. You won't notice any difference, but things should run lighter and quicker than before.
5.10.0 (2022-01-03)
What's new?
AWS/SNS/Admin
AWS/SNS/Metadata
AWS/SNS/Operator
now include permissions for SMS Sandbox Phone Number and Origination Numbers.
5.9.0 (2021-09-15)
What's new?
- Users can now delete and stop tracking changes to topic policies in Turbot CMDB by setting the
AWS > SNS > Topic Policy > CMDB
policy toEnforce: Disabled
.
5.8.0 (2021-07-08)
What's new?
- We've improved the details tables in the Tags controls to be more helpful, especially when a resource's tags are not set correctly as expected. Previously, to understand why the Tags controls were in an Alarm state, you would need to find and read the control's process logs. This felt like too much work for a simple task, so now these details are visible directly from the control page.
Bug fixes
- We’ve made a few improvements in the GraphQL queries for various controls, policies, and actions. You won’t notice any difference, but things should run lighter and quicker than before.
5.7.2 (2021-04-27)
Bug fixes
AWS > SNS > Subscription > CMDB
control would show a transformation warning message whenEffectiveDeliveryPolicy
was undefined. This issue has now been fixed.
5.7.1 (2021-04-06)
Bug fixes
- We've updated the description of the
AWS > SNS > Topic > Trusted Access
policy and control to include more information about its working and scope.
5.7.0 (2021-02-23)
What's new?
- We've improved the state reasons and details tables in various Approved and Active controls to be more helpful, especially when a resource is unapproved or inactive. Previously, to understand why one of these controls is in Alarm state, you would need to find and read the control's process logs. This felt like too much work for a simple task, so now these details are visible directly from the control page.
Bug fixes
- While formatting the
EffectiveDeliveryPolicy
field for subscription resources, the CMDB control would sometimes fail to format it correctly. This has been fixed.
5.6.3 (2021-02-05)
Bug fixes
- The
AWS > SNS > Topic > Tags
control will now remain in theSkipped
state for Turbot managed topics.
5.6.2 (2020-12-23)
Bug fixes
- Controls run faster now when in the
tbd
andskipped
states thanks to the new Turbot Precheck feature (not to be confused with TSA PreCheck). With Turbot Precheck, controls avoid running GraphQL input queries when intbd
andskipped
, resulting in faster and lighter control runs. - The
AWS > SNS > Topic > Encryption at Rest
control will now remain in the skipped state for Turbot managed topics.
5.6.1 (2020-12-10)
Bug fixes
- The
AWS > SNS > Topic > CMDB
control sometimes wouldn't trigger automatically for updates made to the topic policy. This is now fixed.
5.6.0 (2020-09-23)
Control Types
Added
- AWS > SNS > Topic > Policy
- AWS > SNS > Topic > Policy > Trusted Access
Policy Types
Added
- AWS > SNS > Topic > Policy
- AWS > SNS > Topic > Policy > Trusted Access
- AWS > SNS > Topic > Policy > Trusted Access > Accounts
- AWS > SNS > Topic > Policy > Trusted Access > Identity Providers
- AWS > SNS > Topic > Policy > Trusted Access > Organization Restrictions
- AWS > SNS > Topic > Policy > Trusted Access > Services
- AWS > SNS > Trusted Accounts [Default]
- AWS > SNS > Trusted Identity Providers [Default]
- AWS > SNS > Trusted Organizations [Default]
- AWS > SNS > Trusted Services [Default]
Action Types
Added
- AWS > SNS > Topic > Set Policy Trusted Access
5.5.0 (2020-09-17)
What's new?
- We've improved our event handling configuration and now filter which AWS events Turbot listens for based on resources' CMDB policies. If a resource's CMDB policy is not set to
Enforce: Enabled
, the EventBridge rules will be configured to not send any events for that resource. This will greatly reduce the number of unnecessary events that Turbot listens for and handles today.
Bug fixes
- We've made some improvements to our real-time event handling that reduces the risk of creating resources in CMDB with malformed AKAs. There's no noticeable difference, but things should run more reliably now.
Policy Types
Added
- AWS > Turbot > Event Handlers > Events > Rules > Custom Event Patterns > @turbot/aws-sns
Removed
- AWS > Turbot > Event Handlers > Events > Rules > Event Sources > @turbot/aws-sns
5.4.0 (2020-09-08)
What's new?
- Discovery controls now have their own control category,
CMDB > Discovery
, to allow for easier filtering separately from other CMDB controls. - We've renamed the service's default regions policy from
Regions [Default]
toRegions
to be consistent with our other regions policies.
Bug fixes
- In 5.3.2, we fixed a bug that caused an existing topic's create timestamp to be updated with an incorrect timestamp due to improper handling of the
sns:CreateTopic
event. An unintended side effect of this fix was the CMDB control for that topic would unnecessarily run every time we received ansns:CreateTopic
event for it. This has been fixed and the CMDB control will now only trigger when required.
5.3.3 (2020-08-13)
Bug fixes
- In various Active controls, we were outputting log messages that did not properly show how many days were left until we'd delete the inactive resources (we were still deleting them after the correct number of days). These log messages have been fixed and now contain the correct number of days.
5.3.2 (2020-08-03)
Bug fixes
- After creating an SNS topic with the same properties as an existing one, AWS will send a successful CloudTrail event instead of returning an error that the topic already exists. When we received one of these events, the real-time event handler for topics did not handle it properly, resulting in the metadata create timestamp incorrectly updating for the topic and its policy. We now handle these events better and will not update metadata create timestamps for existing topics and their policies.
5.3.1 (2020-07-23)
Bug fixes
AWS/SNS/Admin
now includes permissions to add statement to a topic's access control policy for granting cross account access.
5.3.0 (2020-07-15)
Control Types
Added
- AWS > SNS > Topic > Encryption at Rest
Policy Types
Added
- AWS > SNS > Topic > Encryption at Rest
- AWS > SNS > Topic > Encryption at Rest > Customer Managed Key
Action Types
Added
- AWS > SNS > Topic > Update Encryption at Rest
5.2.1 (2020-07-02)
Bug fixes
- Sometimes when updating CMDB for resources with tags that have empty string values, e.g.,
[{Key: "Empty", Value: ""}, {Key: "Turbot is great", Value: "true"}]
, we would not store all of the tags correctly. This has been fixed and now all tags are accounted for. - The
AWS > SNS > Subscription > Active
control no longer checks the subscription's confirmation status, since subscriptions pending confirmation cannot be deleted manually and are automatically deleted by AWS after 3 days anyway.
Policy Types
Removed
- AWS > SNS > Subscription > Active > Status
5.2.0 (2020-05-19)
What's new?
- Updated
AWS > SNS > Regions
policy default value to now includeaf-south-1
,eu-south-1
.
Bug fixes
- Due to invalid terraform mappings for the subscription resource type, stacks would fail when attempting to create subscriptions. This also prevented the
AWS > Turbot > Event Handlers
stack from running successfully. The terraform mappings have been fixed and subscriptions can be created through stacks once again.
Policy Types
Added
- AWS > SNS > Tags Template [Default]
Renamed
- AWS > SNS > Subscription > Configured > Precedence to AWS > SNS > Subscription > Configured > Claim Precedence
- AWS > SNS > Topic > Configured > Precedence to AWS > SNS > Topic > Configured > Claim Precedence
- AWS > SNS > Topic Policy > Configured > Precedence to AWS > SNS > Topic Policy > Configured > Claim Precedence