Skip to main content
IAM Policy Map

AmazonSNSFullAccess

AdminAWS managedActiveReviewedShow on mapCompare

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.

Control-plane actions by service
ServiceGrantedAccess levels and limitsGranted by
Pinpoint SMS Voice11 of 1075 Read, 6 Write; 11 restricted, 11 conditionalsms-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
SNSAll 40 actions (see the SNS page)7 List, 3 Permissions management, 10 Read, 2 Tagging, 18 Write; 0 restricted, 0 conditionalsns:*
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.

Data-plane actions by service
ServiceGrantedAccess levels and limitsGranted by
Pinpoint SMS Voice1 of 81 Write; 1 restricted, 1 conditionalsms-voice:SendTextMessage
SNSAll 1 actions (see the SNS page)1 Write; 0 restricted, 0 conditionalsns:*
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.

Same service

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

Download 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/AmazonSNSFullAccess

CloudFormation

Resources:
  ExampleRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument: {}  # replace with your trust policy
      ManagedPolicyArns:
        - arn:aws:iam::aws:policy/AmazonSNSFullAccess

Terraform

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