AWSIoTDeviceTesterForFreeRTOSFullAccess

Last Modified

Mar 12, 2026

March 12, 2026 at 09:26 PM UTC

Version

v7

Total Versions

9

Created

Aug 10, 2023

Actions

77

Risk

High

An unrestricted escalation path, identity administration, secret reads or the power to switch off security monitoring. Read from this policy document alone: trust policies, boundaries and SCPs in your account still decide what actually succeeds. How this is assessed

  • High

    Can read secrets

    Reads Parameter Store values, SecureString included where the KMS key allows it, on any resource with no condition.

    ssm:GetParameters

    Use with caution: Where the holder needs only some secrets, write your own policy scoped to their ARNs or tags, and limit decryption in the KMS key policies.

  • Medium

    Can launch resources that run as a more privileged role

    Grants the actions of 1 documented escalation path, but only on named resources or under a condition. Review that scope before trusting it.

    • ec2-001iam:PassRole + ec2:RunInstancesscoped
      • iam:PassRole: condition iam:PassedToService, on arn:aws:iam::*:role/idt-*

    Use with caution: Check which roles, users or policies fall inside the scope shown above. Within it the escalation works as documented, so keep privileged principals out of it.

  • Medium

    Can rewrite resource policies and sharing

    Grants 4 permissions management actions across 1 service (iot) on any resource, enough to share resources outside the account.

    iot:attachpolicyiot:createpolicyiot:deletepolicyiot:detachpolicy

    Use with caution: Turn on IAM Access Analyzer external access findings, and keep account-level guards like S3 Block Public Access enabled.

Policy Document

View on GitHub
{
  "PolicyVersion": {
    "Document": {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "VisualEditor0",
          "Effect": "Allow",
          "Action": "iam:PassRole",
          "Resource": "arn:aws:iam::*:role/idt-*",
          "Condition": {
            "StringEquals": {
              "iam:PassedToService": "iot.amazonaws.com"
            }
          }
        },
        {
          "Sid": "VisualEditor1",
          "Effect": "Allow",
          "Action": [
            "iot:DeleteThing",
            "iot:AttachThingPrincipal",
            "iot:DeleteCertificate",
            "iot:GetRegistrationCode",
            "iot:CreatePolicy",
            "iot:UpdateCACertificate",
            "s3:ListBucket",
            "iot:DescribeEndpoint",
            "iot:CreateOTAUpdate",
            "iot:CreateStream",
            "signer:ListSigningJobs",
            "acm:ListCertificates",
            "iot:CreateKeysAndCertificate",
            "iot:UpdateCertificate",
            "iot:CreateCertificateFromCsr",
            "iot:DetachThingPrincipal",
            "iot:RegisterCACertificate",
            "iot:CreateThing",
            "iam:ListRoles",
            "iot:RegisterCertificate",
            "iot:DeleteCACertificate",
            "signer:PutSigningProfile",
            "s3:ListAllMyBuckets",
            "signer:ListSigningPlatforms",
            "iot-device-tester:SendMetrics",
            "iot-device-tester:SupportedVersion",
            "iot-device-tester:LatestIdt",
            "iot-device-tester:CheckVersion",
            "iot-device-tester:DownloadTestSuite"
          ],
          "Resource": "*"
        },
        {
          "Sid": "VisualEditor2",
          "Effect": "Allow",
          "Action": [
            "iam:GetRole",
            "signer:StartSigningJob",
            "acm:GetCertificate",
            "signer:DescribeSigningJob",
            "s3:CreateBucket",
            "execute-api:Invoke",
            "s3:DeleteBucket",
            "s3:PutBucketVersioning",
            "signer:CancelSigningProfile"
          ],
          "Resource": [
            "arn:aws:execute-api:us-east-1:098862408343:9xpmnvs5h4/prod/POST/metrics",
            "arn:aws:signer:*:*:/signing-profiles/*",
            "arn:aws:signer:*:*:/signing-jobs/*",
            "arn:aws:iam::*:role/idt-*",
            "arn:aws:acm:*:*:certificate/*",
            "arn:aws:s3:::idt-*",
            "arn:aws:s3:::afr-ota*"
          ]
        },
        {
          "Sid": "VisualEditor3",
          "Effect": "Allow",
          "Action": [
            "iot:DeleteStream",
            "iot:DeleteCertificate",
            "iot:AttachPolicy",
            "iot:DetachPolicy",
            "iot:DeletePolicy",
            "s3:ListBucketVersions",
            "iot:UpdateCertificate",
            "iot:GetOTAUpdate",
            "iot:DeleteOTAUpdate",
            "iot:DescribeJobExecution"
          ],
          "Resource": [
            "arn:aws:s3:::afr-ota*",
            "arn:aws:iot:*:*:thinggroup/idt*",
            "arn:aws:iam::*:role/idt-*"
          ]
        },
        {
          "Sid": "VisualEditor4",
          "Effect": "Allow",
          "Action": [
            "iot:DeleteCertificate",
            "iot:AttachPolicy",
            "iot:DetachPolicy",
            "s3:DeleteObjectVersion",
            "iot:DeleteOTAUpdate",
            "s3:PutObject",
            "s3:GetObject",
            "iot:DeleteStream",
            "iot:DeletePolicy",
            "s3:DeleteObject",
            "iot:UpdateCertificate",
            "iot:GetOTAUpdate",
            "s3:GetObjectVersion",
            "iot:DescribeJobExecution"
          ],
          "Resource": [
            "arn:aws:s3:::afr-ota*/*",
            "arn:aws:s3:::idt-*/*",
            "arn:aws:iot:*:*:policy/idt*",
            "arn:aws:iam::*:role/idt-*",
            "arn:aws:iot:*:*:otaupdate/idt*",
            "arn:aws:iot:*:*:thing/idt*",
            "arn:aws:iot:*:*:cert/*",
            "arn:aws:iot:*:*:job/*",
            "arn:aws:iot:*:*:stream/*"
          ]
        },
        {
          "Sid": "VisualEditor5",
          "Effect": "Allow",
          "Action": [
            "s3:PutObject",
            "s3:GetObject"
          ],
          "Resource": [
            "arn:aws:s3:::afr-ota*/*",
            "arn:aws:s3:::idt-*/*"
          ]
        },
        {
          "Sid": "VisualEditor6",
          "Effect": "Allow",
          "Action": [
            "iot:CancelJobExecution"
          ],
          "Resource": [
            "arn:aws:iot:*:*:job/*",
            "arn:aws:iot:*:*:thing/idt*"
          ]
        },
        {
          "Sid": "VisualEditor7",
          "Effect": "Allow",
          "Action": [
            "ec2:TerminateInstances"
          ],
          "Resource": [
            "arn:aws:ec2:*:*:instance/*"
          ],
          "Condition": {
            "StringEquals": {
              "ec2:ResourceTag/Owner": "IoTDeviceTester"
            }
          }
        },
        {
          "Sid": "VisualEditor8",
          "Effect": "Allow",
          "Action": [
            "ec2:AuthorizeSecurityGroupIngress",
            "ec2:DeleteSecurityGroup"
          ],
          "Resource": [
            "arn:aws:ec2:*:*:security-group/*"
          ],
          "Condition": {
            "StringEquals": {
              "ec2:ResourceTag/Owner": "IoTDeviceTester"
            }
          }
        },
        {
          "Sid": "VisualEditor9",
          "Effect": "Allow",
          "Action": [
            "ec2:RunInstances"
          ],
          "Resource": [
            "arn:aws:ec2:*:*:instance/*"
          ],
          "Condition": {
            "StringEquals": {
              "aws:RequestTag/Owner": "IoTDeviceTester"
            }
          }
        },
        {
          "Sid": "VisualEditor10",
          "Effect": "Allow",
          "Action": [
            "ec2:RunInstances"
          ],
          "Resource": [
            "arn:aws:ec2:*:*:image/*",
            "arn:aws:ec2:*:*:security-group/*",
            "arn:aws:ec2:*:*:volume/*",
            "arn:aws:ec2:*:*:key-pair/*",
            "arn:aws:ec2:*:*:placement-group/*",
            "arn:aws:ec2:*:*:snapshot/*",
            "arn:aws:ec2:*:*:network-interface/*",
            "arn:aws:ec2:*:*:subnet/*"
          ]
        },
        {
          "Sid": "VisualEditor11",
          "Effect": "Allow",
          "Action": [
            "ec2:CreateSecurityGroup"
          ],
          "Resource": [
            "arn:aws:ec2:*:*:security-group/*"
          ],
          "Condition": {
            "StringEquals": {
              "aws:RequestTag/Owner": "IoTDeviceTester"
            }
          }
        },
        {
          "Sid": "VisualEditor12",
          "Effect": "Allow",
          "Action": [
            "ec2:DescribeInstances",
            "ec2:DescribeSecurityGroups",
            "ssm:DescribeParameters",
            "ssm:GetParameters"
          ],
          "Resource": "*"
        },
        {
          "Sid": "VisualEditor13",
          "Effect": "Allow",
          "Action": [
            "ec2:CreateTags"
          ],
          "Resource": [
            "arn:aws:ec2:*:*:security-group/*",
            "arn:aws:ec2:*:*:instance/*"
          ],
          "Condition": {
            "ForAnyValue:StringEquals": {
              "aws:TagKeys": [
                "Owner"
              ]
            },
            "StringEquals": {
              "ec2:CreateAction": [
                "RunInstances",
                "CreateSecurityGroup"
              ]
            }
          }
        }
      ]
    },
    "VersionId": "v7",
    "IsDefaultVersion": true,
    "CreateDate": "2023-08-10T20:30:07+00:00"
  }
}

Version History (12 recorded)

Raw history

AWSIoTDeviceTesterForFreeRTOSFullAccess - Policy Version v7

No recorded action delta - this version predates the change index. View the raw diff.

Mar 12, 2026

9aa60ff

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Sep 18, 2024

aafbae9

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

May 13, 2024

1b36617

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Aug 10, 2023

3275cd2

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Jun 2, 2023

173745f

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Jun 2, 2023

63d3c30

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Dec 15, 2020

450a463

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Dec 15, 2020

38cc71d

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Jul 17, 2020

5811085

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Mar 23, 2020

56cd44a

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Feb 18, 2020

2ab8fa1

Update detected

No recorded action delta - this version predates the change index. View the raw diff.

Feb 12, 2020

9017691