Amazon AWS SNS
The Amazon AWS SNS connector enables automated subscription management and message publishing to SNS topics, facilitating robust messaging workflows.
Amazon AWS SNS (Simple Notification Service) is a flexible, fully managed pub/sub messaging and mobile notifications service for coordinating the delivery of messages to subscribing endpoints and clients. The Amazon AWS SNS connector for Swimlane Turbine allows users to automate the subscription of endpoints to SNS topics, enabling efficient and targeted distribution of security alerts and notifications. By integrating with AWS SNS, Swimlane Turbine users can streamline their security operations, ensuring timely and relevant communication across various protocols and services, enhancing their overall security posture with minimal manual intervention.
Limitations
None to date.
Supported Versions
This connector supports the latest version of the Amazon AWS SNS API.
Additional Docs
Configuration
Prerequisites
To utilize the Amazon AWS SNS connector within Swimlane Turbine, ensure you have the following:
- AWS credentials for authentication with the following parameters:
- Access Key: Your AWS access key ID.
- Secret Key: Your AWS secret access key.
- Region Name: The AWS region your SNS topic resides in.
Authentication Methods
To effectively utilize the Amazon AWS SNS connector with Swimlane Turbine, ensure you have the following prerequisites:
- AWS credentials authentication with the following parameters:
- Access Key ID: Your unique AWS identifier key.
- Secret Key: Your secret key for AWS API access.
- Region Name: The AWS region your organization operates in.
Capabilities
This Connector provides the following capabilities:
- Subscribe an Endpoint
Subscribe an Endpoint
Subscribes an endpoint to an Amazon SNS topic.
Amazon AWS SNS's Documentation for this action can be found here.
Configurations
Amazon AWS SNS Authentication
Authenticates using AWS credentials
Configuration Parameters
Parameter | Description | Type | Required |
|---|---|---|---|
access_key | AWS Access Key. | string | Required |
secret_key | AWS Secret Key . | string | Required |
region_name | The AWS Region where you want to create new connections | string | Required |
role_arn | Optional Role ARN to assume. Leave blank unless tasks need to assume a different role. | string | Optional |
external_id | External ID to assume IAM Role. Optional value used for assuming roles. Can be added, or removed in Trusted Relationships of target role. | string | Optional |
session_token | Use if a session token is provided when switching roles | string | Optional |
role_session_name | Defaults to SessionFromSwimlane_<HASH> when no value is provide | string | Optional |
Actions
Subscribe an Endpoint
Subscribes an endpoint to an Amazon SNS topic using the specified TopicArn and Protocol.
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
TopicArn | string | Required | The ARN of the topic you want to subscribe to. |
Protocol | string | Required | The protocol that you want to use. Supported protocols include: http, https, email, email-json, sms, sqs, application, lambda, firehose. |
ο»Ώ | |||
Endpoint | string | Optional | The endpoint that you want to receive notifications. Endpoints vary by protocol: For http/https, it is a URL. For email/email-json, it is an email address. For sms, it is a phone number. For sqs, it is the ARN of an Amazon SQS queue. For application, it is the EndpointArn of a mobile app and device. For lambda, it is the ARN of a Lambda function. For firehose, it is the ARN of an Amazon Kinesis Data Firehose delivery stream. |
ο»Ώ | |||
Attributes | object | Optional | A map of attributes with their corresponding values. Includes options like DeliveryPolicy, FilterPolicy, FilterPolicyScope, RawMessageDelivery, RedrivePolicy, SubscriptionRoleArn, ReplayPolicy, and ReplayStatus. |
ο»Ώ | |||
Attributes.DeliveryPolicy | string | Optional | The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints. |
Attributes.FilterPolicy | string | Optional | The simple JSON object that lets your subscriber receive only a subset of messages, rather than receiving every message published to the topic. |
ο»Ώ | |||
Attributes.FilterPolicyScope | string | Optional | This attribute lets you choose the filtering scope by using one of the following string value types: MessageAttributes (default) or MessageBody. |
ο»Ώ | |||
Attributes.RawMessageDelivery | boolean | Optional | When set to true, enables raw message delivery to Amazon SQS or HTTP/S endpoints. |
ο»Ώ | |||
Attributes.RedrivePolicy | string | Optional | When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. |
ο»Ώ | |||
Attributes.SubscriptionRoleArn | string | Optional | The ARN of the IAM role that has permission to write to the Firehose delivery stream and lists Amazon SNS as a trusted entity. |
ο»Ώ | |||
Attributes.ReplayPolicy | string | Optional | Adds or updates an inline policy document for a subscription to replay messages stored in the specified Amazon SNS topic. |
ο»Ώ | |||
Attributes.ReplayStatus | string | Optional | Retrieves the status of the subscription message replay, which can be one of the following: Completed, In progress, Failed, or Pending. |
ο»Ώ | |||
ReturnSubscriptionArn | boolean | Optional | Sets whether the response from the Subscribe request includes the subscription ARN, even if the subscription is not yet confirmed. Default is false. |
ο»Ώ |
Input Example
{"TopicArn":"string","Protocol":"http","Endpoint":"http://example.com","Attributes":{"DeliveryPolicy":"healthyRetryPolicy","FilterPolicy":"store","FilterPolicyScope":"MessageAttributes","RawMessageDelivery":true,"RedrivePolicy":"deadLetterTargetArn","SubscriptionRoleArn":"arn:aws:iam::123456789012:role/SNSSendToFirehose","ReplayPolicy":"startTime","ReplayStatus":"In progress"},"ReturnSubscriptionArn":true}
Output
Parameter | Type | Description |
|---|---|---|
SubscriptionArn | string | Output field: SubscriptionArn |
Output Example
{"SubscriptionArn":"string"}
Response Headers
Header | Description | Example |
|---|---|---|
Content-Type | The media type of the resource | application/json |
Date | The date and time at which the message was originated | Thu, 01 Jan 2024 00:00:00 GMT |