Docs / Strand / connectors/aws-sns
AWS SNS
Direction: Write Only | Type: aws.sns
Amazon Simple Notification Service connector for publishing messages to SNS topics. This is a forward-only connector: data is sent to SNS and no response data is returned beyond confirmation.
Required Permissions
The IAM user or role must have the following permissions:
| Operation | Required IAM Permissions |
|---|---|
publish |
sns:Publish |
Tip: Scope permissions to specific topic ARNs to follow the principle of least privilege.
Operations
| Operation | Direction | Description |
|---|---|---|
publish |
Write | Publish a message to an SNS topic |
Connector Configuration
| Field | Required | Default | Description |
|---|---|---|---|
| Authentication Type | No | api_key |
api_key for explicit credentials, role to use the host's IAM role / default credential chain |
| Region | Yes | - | AWS region code (e.g., us-east-1) |
| Endpoint URL | No | - | Custom endpoint for a self-managed target or an AWS VPC endpoint. Leave empty for AWS. |
| Access Key ID | Conditional | - | AWS access key (encrypted). Required when Authentication Type is api_key |
| Secret Access Key | Conditional | - | AWS secret key (encrypted). Required when Authentication Type is api_key |
| Role ARN | Conditional | - | Your IAM role ARN for cross-account access via STS AssumeRole. Required when Authentication Type is role. The role must trust the Tendrl AWS account. |
| External ID | No | - | External ID for STS AssumeRole (encrypted). Recommended with role auth to prevent confused-deputy attacks. |
| Topic ARN | No | - | Default SNS topic ARN (can be overridden at node level) |
Role-Based Authentication
With role authentication you do not store static access keys; Strand authenticates using the host's default credential chain (EC2 instance profile, ECS task role, or environment credentials). You must still provide a Role ARN when creating the connector (the role should trust the Tendrl AWS account); an optional External ID hardens the trust policy.
Node Configuration
| Field | Required | Description |
|---|---|---|
| Topic ARN | No | SNS topic ARN (overrides connector default) |
| Subject | No | Message subject (default: Event Notification) |
Output
json
{
"success": true,
"status": "sent",
"data": {
"message_id": "abc-123",
"topic_arn": "arn:aws:sns:us-east-1:123456789:my-topic"
},
"service": "aws.sns",
"operation": "publish"
}
Example
Connector Setup:
json
{
"region": "us-east-1",
"access_key_id": "AKIAIOSFODNN7EXAMPLE",
"secret_access_key": "wJalrXUtnFEMI/K7MDENG...",
"topic_arn": "arn:aws:sns:us-east-1:123456789:alerts"
}
Connector Setup (role-based):
json
{
"auth_type": "role",
"region": "us-east-1",
"role_arn": "arn:aws:iam::123456789012:role/strand-access",
"topic_arn": "arn:aws:sns:us-east-1:123456789:alerts"
}
Node Configuration:
- Subject:
Alert: {{ payload.alert_type }}
Tendrl