AmazonSNSFullAccess
Summary
Provides full access to Amazon SNS via the AWS Management Console. The policy allows sns:* on all resources, plus a list of AWS End User Messaging SMS (sms-voice) actions that apply only when called through Amazon SNS.
Permissions imported from the AWS Managed Policy Reference Guide; other sections reviewed against the listed AWS sources.
Identity
- ARN
arn:aws:iam::aws:policy/AmazonSNSFullAccess- Default version
- v2
- Created
- Last edited
- Services
- sms-voice, sns
Control-plane actions (51)
By access level: 7 List, 3 Permissions management, 15 Read, 2 Tagging, 24 Write.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| Pinpoint SMS Voice | 11 of 107 | 5 Read, 6 Write; 11 restricted, 11 conditional | sms-voice:CreateVerifiedDestinationNumber, sms-voice:DeleteOptedOutNumber, sms-voice:DeleteVerifiedDestinationNumber, sms-voice:DescribeAccountAttributes, sms-voice:DescribeOptedOutNumbers, sms-voice:DescribePhoneNumbers, sms-voice:DescribeSpendLimits, sms-voice:DescribeVerifiedDestinationNumbers, sms-voice:SendDestinationNumberVerificationCode, sms-voice:SetTextMessageSpendLimitOverride, sms-voice:VerifyDestinationNumber |
| SNS | All 40 actions (see the SNS page) | 7 List, 3 Permissions management, 10 Read, 2 Tagging, 18 Write; 0 restricted, 0 conditional | sns:* |
Pinpoint SMS Voice: 11 actions
- sms-voice:CreateVerifiedDestinationNumber (Write)
- sms-voice:DeleteOptedOutNumber (Write)
- sms-voice:DeleteVerifiedDestinationNumber (Write)
- sms-voice:DescribeAccountAttributes (Read)
- sms-voice:DescribeOptedOutNumbers (Read)
- sms-voice:DescribePhoneNumbers (Read)
- sms-voice:DescribeSpendLimits (Read)
- sms-voice:DescribeVerifiedDestinationNumbers (Read)
- sms-voice:SendDestinationNumberVerificationCode (Write)
- sms-voice:SetTextMessageSpendLimitOverride (Write)
- sms-voice:VerifyDestinationNumber (Write)
Data-plane actions (2)
By access level: 2 Write.
| Service | Granted | Access levels and limits | Granted by |
|---|---|---|---|
| Pinpoint SMS Voice | 1 of 8 | 1 Write; 1 restricted, 1 conditional | sms-voice:SendTextMessage |
| SNS | All 1 actions (see the SNS page) | 1 Write; 0 restricted, 0 conditional | sns:* |
Pinpoint SMS Voice: 1 actions
- sms-voice:SendTextMessage (Write)
Excluded and conditional actions
No patterns are excluded by NotAction or Deny statements.
Resource scope and attachment
Resource scope across granted actions: all-resources.
Can be attached: Yes, to users, groups and roles.
Why this tier
- Grants at least 80% of the write and permissions-management actions of: sns (22 of 22).
Guidance
Practical scope
The first statement allows sns:*, which the Amazon SNS Developer Guide describes as full permissions to perform any action related to Amazon SNS. The second statement allows a list of sms-voice actions on Resource "*" with a StringEquals condition of aws:CalledViaLast set to sns.amazonaws.com, so they apply only when called through Amazon SNS. They include sms-voice:SendTextMessage, sms-voice:CreateVerifiedDestinationNumber and sms-voice:SetTextMessageSpendLimitOverride.
Use cases
- Give users, groups or roles full access to Amazon SNS, including the SMS actions needed when working through Amazon SNS.
Best practices
- AWS managed policies might not grant least-privilege permissions for your use case. AWS recommends reducing permissions further with customer managed policies specific to your use cases.
Security considerations
- sms-voice:SetTextMessageSpendLimitOverride allows setting or overriding the spending limit for SMS text messaging within the AWS account, and sms-voice:SendTextMessage allows sending a text message to a recipient's phone number.
- You cannot change the permissions in an AWS managed policy. If AWS updates the policy, the update affects every user, group and role it is attached to. Amazon SNS updated AmazonSNSFullAccess on 09/24/2024.
Assignment guidance
You can attach this policy to your users, groups and roles. The reference page also links to guidance on creating a permission set using AWS managed policies in IAM Identity Center. It fits where full access to Amazon SNS is intended. Where a narrower scope is needed, AWS recommends a customer managed policy specific to the use case.
Related policies
Same service
- AmazonCloudWatchEvidentlyFullAccess
- AmazonDevOpsGuruConsoleFullAccess
- AmazonDevOpsGuruFullAccess
- AmazonEC2RoleforDataPipelineRole
- AmazonElasticMapReduceforEC2Role
- AmazonRedshiftReadOnlyAccess
- AmazonRekognitionServiceRole
- AmazonSageMakerGroundTruthExecution
Same domain
Frequently asked questions
- When should I attach AmazonSNSFullAccess?
- The Amazon SNS Developer Guide says it provides full access to Amazon SNS using the AWS Management Console and that you can attach it to your users, groups or roles. Attach it where that is the intended scope. If you need less, AWS recommends a customer managed policy specific to your use case.
- What does AmazonSNSFullAccess grant?
- It allows sns:* on all resources. It also allows these sms-voice actions on all resources, but only when called via Amazon SNS: DescribeVerifiedDestinationNumbers, CreateVerifiedDestinationNumber, SendDestinationNumberVerificationCode, SendTextMessage, DeleteVerifiedDestinationNumber, VerifyDestinationNumber, DescribeAccountAttributes, DescribeSpendLimits, DescribePhoneNumbers, SetTextMessageSpendLimitOverride, DescribeOptedOutNumbers and DeleteOptedOutNumber.
- What are the security risks of AmazonSNSFullAccess?
- sns:* allows every Amazon SNS action on all resources. The SMS actions include sending text messages and setting or overriding the account's SMS spending limit. AWS managed policies might not grant least-privilege permissions for your use case, and AWS recommends reducing permissions further with customer managed policies. AWS updates to the policy affect every identity it is attached to.
Policy JSON
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "SNSFullAccess",
"Effect": "Allow",
"Action": "sns:*",
"Resource": "*"
},
{
"Sid": "SMSAccessViaSNS",
"Effect": "Allow",
"Action": [
"sms-voice:DescribeVerifiedDestinationNumbers",
"sms-voice:CreateVerifiedDestinationNumber",
"sms-voice:SendDestinationNumberVerificationCode",
"sms-voice:SendTextMessage",
"sms-voice:DeleteVerifiedDestinationNumber",
"sms-voice:VerifyDestinationNumber",
"sms-voice:DescribeAccountAttributes",
"sms-voice:DescribeSpendLimits",
"sms-voice:DescribePhoneNumbers",
"sms-voice:SetTextMessageSpendLimitOverride",
"sms-voice:DescribeOptedOutNumbers",
"sms-voice:DeleteOptedOutNumber"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:CalledViaLast": "sns.amazonaws.com"
}
}
}
]
}
Version history
Current version v2, edited by AWS on 2024-09-24. Version history is recorded from 2026-11-11. Earlier versions are in the IAM console under Policy versions.
Attach snippets
AWS CLI
aws iam attach-role-policy --role-name ROLE_NAME --policy-arn arn:aws:iam::aws:policy/AmazonSNSFullAccess
aws iam attach-user-policy --user-name USER_NAME --policy-arn arn:aws:iam::aws:policy/AmazonSNSFullAccess
aws iam attach-group-policy --group-name GROUP_NAME --policy-arn arn:aws:iam::aws:policy/AmazonSNSFullAccessCloudFormation
Resources:
ExampleRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument: {} # replace with your trust policy
ManagedPolicyArns:
- arn:aws:iam::aws:policy/AmazonSNSFullAccessTerraform
resource "aws_iam_role_policy_attachment" "amazonsnsfullaccess" {
role = aws_iam_role.example.name
policy_arn = "arn:aws:iam::aws:policy/AmazonSNSFullAccess"
}CDK (TypeScript)
role.addManagedPolicy(
iam.ManagedPolicy.fromAwsManagedPolicyName("AmazonSNSFullAccess"),
);Sources
- AmazonSNSFullAccess (AWS Managed Policy Reference Guide) (retrieved ; supports summary, practicalScope, assignmentGuidance, faqs)
- AWS managed policies for Amazon SNS (Amazon SNS Developer Guide) (retrieved ; supports summary, practicalScope, useCases, bestPractices, securityConsiderations, assignmentGuidance, faqs)