Skip to main content
IAM Policy Map

AmazonCognitoUnAuthedIdentitiesSessionPolicy

AdminAWS managedActivePermissions reviewedShow on mapCompare

Summary

This policy defines the set of permissions allowed for unauthenticated identities for Cognito Identity Pools. This policy is not intended to be used as a stand alone permission policy. It is used as a guardrail against overly permissive policies attached for roles in an identity pool. Do not attach this policy to any roles, as Cognito Identity Service will automatically include it as a scoped down policy when creating credentials. The privileges to temporarily access other AWS resources through the enhanced flow will now be defined by the intersection of the role associated with the identity of the unauthenticated user provided by a service, and the privileges given in this managed policy that is owned by Cognito.

Permissions imported from the AWS Managed Policy Reference Guide; other sections pending editorial review.

Identity

ARN
arn:aws:iam::aws:policy/AmazonCognitoUnAuthedIdentitiesSessionPolicy
Default version
v4
Created
Last edited
Services
comprehend, firehose, geo, kms, mobiletargeting, personalize, polly, rekognition, rum, sagemaker, transcribe, translate

Control-plane actions (489)

By access level: 55 List, 189 Read, 16 Tagging, 229 Write.

Control-plane actions by service
ServiceGrantedAccess levels and limitsGranted by
ComprehendAll 85 actions (see the Comprehend page)50 Read, 2 Tagging, 33 Write; 0 restricted, 0 conditionalcomprehend:*
FirehoseAll 10 actions (see the Firehose page)2 List, 1 Read, 2 Tagging, 5 Write; 0 restricted, 0 conditionalfirehose:*
Location24 of 641 List, 17 Read, 6 Write; 0 restricted, 0 conditionalgeo:*DevicePosition*, geo:*Geofence, geo:*Geofences, geo:CalculateRoute*, geo:GetMap*, geo:GetPlace, geo:ListMaps, geo:SearchPlaceIndex*
KMS8 of 588 Write; 0 restricted, 0 conditionalkms:Decrypt, kms:Encrypt, kms:GenerateDataKey, kms:GenerateDataKeyPair, kms:GenerateDataKeyPairWithoutPlaintext, kms:GenerateDataKeyWithoutPlaintext, kms:ReEncryptFrom, kms:ReEncryptTo
PinpointAll 119 actions (see the Pinpoint page)16 List, 39 Read, 2 Tagging, 62 Write; 0 restricted, 0 conditionalmobiletargeting:*
PersonalizeAll 83 actions (see the Personalize page)19 List, 24 Read, 2 Tagging, 38 Write; 0 restricted, 0 conditionalpersonalize:*
PollyAll 13 actions (see the Polly page)3 List, 5 Read, 2 Tagging, 3 Write; 0 restricted, 0 conditionalpolly:*
RekognitionAll 76 actions (see the Rekognition page)1 List, 36 Read, 2 Tagging, 37 Write; 0 restricted, 0 conditionalrekognition:*
TranscribeAll 52 actions (see the Transcribe page)9 List, 11 Read, 2 Tagging, 30 Write; 0 restricted, 0 conditionaltranscribe:*
TranslateAll 19 actions (see the Translate page)4 List, 6 Read, 2 Tagging, 7 Write; 0 restricted, 0 conditionaltranslate:*
Location: 24 actions
  • geo:BatchDeleteDevicePositionHistory (Write)
  • geo:BatchDeleteGeofence (Write)
  • geo:BatchEvaluateGeofences (Write)
  • geo:BatchGetDevicePosition (Read)
  • geo:BatchPutGeofence (Write)
  • geo:BatchUpdateDevicePosition (Write)
  • geo:CalculateRoute (Read)
  • geo:CalculateRouteMatrix (Read)
  • geo:GetDevicePosition (Read)
  • geo:GetDevicePositionHistory (Read)
  • geo:GetGeofence (Read)
  • geo:GetMapGlyphs (Read)
  • geo:GetMapSprites (Read)
  • geo:GetMapStyleDescriptor (Read)
  • geo:GetMapTile (Read)
  • geo:GetPlace (Read)
  • geo:ListDevicePositions (Read)
  • geo:ListGeofences (Read)
  • geo:ListMaps (List)
  • geo:PutGeofence (Write)
  • geo:SearchPlaceIndexForPosition (Read)
  • geo:SearchPlaceIndexForSuggestions (Read)
  • geo:SearchPlaceIndexForText (Read)
  • geo:VerifyDevicePosition (Read)
KMS: 8 actions
  • kms:Decrypt (Write)
  • kms:Encrypt (Write)
  • kms:GenerateDataKey (Write)
  • kms:GenerateDataKeyPair (Write)
  • kms:GenerateDataKeyPairWithoutPlaintext (Write)
  • kms:GenerateDataKeyWithoutPlaintext (Write)
  • kms:ReEncryptFrom (Write)
  • kms:ReEncryptTo (Write)

Data-plane actions (8)

By access level: 1 Read, 7 Write.

Data-plane actions by service
ServiceGrantedAccess levels and limitsGranted by
FirehoseAll 2 actions (see the Firehose page)2 Write; 0 restricted, 0 conditionalfirehose:*
PinpointAll 4 actions (see the Pinpoint page)4 Write; 0 restricted, 0 conditionalmobiletargeting:*
CloudWatch RUMAll 1 actions (see the CloudWatch RUM page)1 Write; 0 restricted, 0 conditionalrum:PutRumEvents
SageMaker1 of 191 Read; 0 restricted, 0 conditionalsagemaker:InvokeEndpoint
SageMaker: 1 actions
  • sagemaker:InvokeEndpoint (Read)

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: comprehend (33 of 33), firehose (7 of 7), mobiletargeting (66 of 66), personalize (38 of 38), rekognition (37 of 37), transcribe (30 of 30), translate (7 of 7).
  • Can read secret values or decrypt data. Reads are not a High privilege rule.

Guidance

Pending editorial review. The permission data on this page comes straight from AWS; this section will be filled in once a reviewed guide exists.

Same service

Same domain

Frequently asked questions

Pending editorial review. The permission data on this page comes straight from AWS; this section will be filled in once a reviewed guide exists.

Policy JSON

Download policy.json

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "CognitoUnAuthedIdentitiesSessionPolicy",
      "Effect": "Allow",
      "Action": [
        "rum:PutRumEvents",
        "sagemaker:InvokeEndpoint",
        "polly:*",
        "comprehend:*",
        "translate:*",
        "transcribe:*",
        "rekognition:*",
        "mobiletargeting:*",
        "firehose:*",
        "personalize:*",
        "geo:GetMap*",
        "geo:ListMaps",
        "geo:SearchPlaceIndex*",
        "geo:GetPlace",
        "geo:CalculateRoute*",
        "geo:*Geofence",
        "geo:*Geofences",
        "geo:*DevicePosition*",
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:ReEncryptTo",
        "kms:ReEncryptFrom",
        "kms:GenerateDataKey",
        "kms:GenerateDataKeyPair",
        "kms:GenerateDataKeyPairWithoutPlaintext",
        "kms:GenerateDataKeyWithoutPlaintext"
      ],
      "Resource": "*"
    }
  ]
}

Version history

Current version v4, edited by AWS on 2026-05-01. 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/AmazonCognitoUnAuthedIdentitiesSessionPolicy
aws iam attach-user-policy --user-name USER_NAME --policy-arn arn:aws:iam::aws:policy/AmazonCognitoUnAuthedIdentitiesSessionPolicy
aws iam attach-group-policy --group-name GROUP_NAME --policy-arn arn:aws:iam::aws:policy/AmazonCognitoUnAuthedIdentitiesSessionPolicy

CloudFormation

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

Terraform

resource "aws_iam_role_policy_attachment" "amazoncognitounauthedidentitiessessionpolicy" {
  role       = aws_iam_role.example.name
  policy_arn = "arn:aws:iam::aws:policy/AmazonCognitoUnAuthedIdentitiesSessionPolicy"
}

CDK (TypeScript)

role.addManagedPolicy(
  iam.ManagedPolicy.fromAwsManagedPolicyName("AmazonCognitoUnAuthedIdentitiesSessionPolicy"),
);

Sources

Pending editorial review. No editorial sources are listed yet.