diff --git a/checkov/terraform/checks/resource/aws/IAMRoleAllowsPublicAssume.py b/checkov/terraform/checks/resource/aws/IAMRoleAllowsPublicAssume.py
index 6d98eac4d..efc004b07 100644
--- a/checkov/terraform/checks/resource/aws/IAMRoleAllowsPublicAssume.py
+++ b/checkov/terraform/checks/resource/aws/IAMRoleAllowsPublicAssume.py
@@ -17,10 +17,10 @@ class IAMRoleAllowsPublicAssume(BaseResourceCheck):
             try:
                 assume_role_block = json.loads(conf['assume_role_policy'][0])
                 if 'Statement' in assume_role_block.keys():
-                    if 'Principal' in assume_role_block['Statement'][0]:
-                        if 'AWS' in assume_role_block['Statement'][0]['Principal']:
-                            if assume_role_block['Statement'][0]['Principal']['AWS'] == '*':
-                                    return CheckResult.FAILED
+                    for statement in assume_role_block['Statement']:
+                        if 'AWS' in statement['Principal']:
+                            if statement['Principal']['AWS'] == '*':
+                                return CheckResult.FAILED
             except: # nosec
                 pass
         return CheckResult.PASSED

Scanning IAM Role Public Access
Describe the bug
It seems when specifying more than one  json, the policy does not scan all principals, rather it looks at the first one. 

To Reproduce
Steps to reproduce the behavior:

Create policy with more than one SID
`resource "aws_iam_role" "lambdaRole" {
  name               = "test-role"
  assume_role_policy = <<EOF
{
  "Version": "2012-10-17",
  "Statement": [
      {
        "Action": "sts:AssumeRole",
        "Principal" : {"Service": "lambda.amazonaws.com"},
        "Effect": "Allow"
      },
      {
        "Action": "sts:AssumeRole",
        "Principal" : {"AWS": "*"},
        "Effect": "Allow"
      },
      {
        "Action": "sts:AssumeRole",
        "Principal" : {"Service": "events.amazonaws.com"},
        "Effect": "Allow"
      },
  ]
}

EOF
}`
Run Checkov against policy
Expected behavior
I would expect the scan to check each json within the policy rather than the first one

Desktop (please complete the following information):

OS: Mac
Checkov Version: 1.0.459

diff --git a/tests/terraform/checks/resource/aws/test_IAMRoleAllowsPublicAssume.py b/tests/terraform/checks/resource/aws/test_IAMRoleAllowsPublicAssume.py
new file mode 100644
index 000000000..3d5316fd7
--- /dev/null
+++ b/tests/terraform/checks/resource/aws/test_IAMRoleAllowsPublicAssume.py
@@ -0,0 +1,68 @@
+import unittest
+import hcl2
+
+from checkov.terraform.checks.resource.aws.IAMRoleAllowsPublicAssume import check
+from checkov.common.models.enums import CheckResult
+
+
+class TestIAMRoleAllowAssumeFromAccount(unittest.TestCase):
+
+    def test_failure(self):
+        hcl_res = hcl2.loads("""
+resource "aws_iam_role" "lambdaRole" {
+    name = "test-role"
+    assume_role_policy = <<EOF
+{
+"Version": "2012-10-17",
+"Statement": [
+{
+"Action": "sts:AssumeRole",
+"Principal" : {"Service": "lambda.amazonaws.com"},
+"Effect": "Allow"
+},
+{
+"Action": "sts:AssumeRole",
+"Principal" : {"AWS": "*"},
+"Effect": "Allow"
+},
+{
+"Action": "sts:AssumeRole",
+"Principal" : {"Service": "events.amazonaws.com"},
+"Effect": "Allow"
+}
+]
+}
+
+EOF
+}        
+        """)
+        resource_conf = hcl_res['resource'][0]['aws_iam_role']['lambdaRole']
+        scan_result = check.scan_resource_conf(conf=resource_conf)
+        self.assertEqual(CheckResult.FAILED, scan_result)
+
+    def test_success(self):
+        hcl_res = hcl2.loads("""
+resource "aws_iam_role" "lambdaRole" {
+    name = "test-role"
+    assume_role_policy = <<EOF
+{
+"Version": "2012-10-17",
+"Statement": [
+{
+"Action": "sts:AssumeRole",
+"Principal" : {"Service": "lambda.amazonaws.com"},
+"Effect": "Allow"
+}
+]
+}
+
+EOF
+}        
+        """)
+        resource_conf = hcl_res['resource'][0]['aws_iam_role']['lambdaRole']
+        scan_result = check.scan_resource_conf(conf=resource_conf)
+        self.assertEqual(CheckResult.PASSED, scan_result)
+
+
+if __name__ == '__main__':
+    unittest.main()

pip install -e .
parse_log_pytest
pytest
pytest
apt-get update apt-get install -y git
3.7
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
attrs @ file:///croot/attrs_1668696182826/work
boto3==1.12.43
botocore==1.15.49
certifi @ file:///croot/certifi_1671487769961/work/certifi
chardet==3.0.4
-e git+https://github.com/bridgecrewio/checkov.git@7019fcfa760456261d6148846e0ce941fa6ccfc9#egg=checkov
colorama==0.4.3
docopt==0.6.2
docutils==0.15.2
dpath==1.5.0
flit_core @ file:///opt/conda/conda-bld/flit-core_1644941570762/work/source/flit_core
gitdb==4.0.5
GitPython==3.1.7
idna==2.8
importlib-metadata @ file:///tmp/build/80754af9/importlib-metadata_1648562407465/work
iniconfig @ file:///home/linux1/recipes/ci/iniconfig_1610983019677/work
jmespath==0.10.0
junit-xml==1.8
lark-parser==0.7.8
packaging @ file:///croot/packaging_1671697413597/work
pluggy @ file:///tmp/build/80754af9/pluggy_1648042572264/work
py @ file:///opt/conda/conda-bld/py_1644396412707/work
pytest==7.1.2
python-dateutil==2.9.0.post0
python-hcl2==0.2.5
PyYAML==5.3.1
requests==2.22.0
s3transfer==0.3.7
six==1.13.0
smmap==3.0.5
tabulate==0.8.6
termcolor==1.1.0
tomli @ file:///opt/conda/conda-bld/tomli_1657175507142/work
typing_extensions @ file:///croot/typing_extensions_1669924550328/work
urllib3==1.25.7
zipp @ file:///croot/zipp_1672387121353/work

name: checkov
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - attrs=22.1.0=py37h06a4308_0
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2022.12.7=py37h06a4308_0
  - flit-core=3.6.0=pyhd3eb1b0_0
  - importlib-metadata=4.11.3=py37h06a4308_0
  - importlib_metadata=4.11.3=hd3eb1b0_0
  - iniconfig=1.1.1=pyhd3eb1b0_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - packaging=22.0=py37h06a4308_0
  - pip=22.3.1=py37h06a4308_0
  - pluggy=1.0.0=py37h06a4308_1
  - py=1.11.0=pyhd3eb1b0_0
  - pytest=7.1.2=py37h06a4308_0
  - python=3.7.16=h7a1cb2a_0
  - readline=8.2=h5eee18b_0
  - setuptools=65.6.3=py37h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - tomli=2.0.1=py37h06a4308_0
  - typing_extensions=4.4.0=py37h06a4308_0
  - wheel=0.38.4=py37h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zipp=3.11.0=py37h06a4308_0
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - boto3==1.12.43
      - botocore==1.15.49
      - chardet==3.0.4
      - colorama==0.4.3
      - docopt==0.6.2
      - docutils==0.15.2
      - dpath==1.5.0
      - gitdb==4.0.5
      - gitpython==3.1.7
      - idna==2.8
      - jmespath==0.10.0
      - junit-xml==1.8
      - lark-parser==0.7.8
      - python-dateutil==2.9.0.post0
      - python-hcl2==0.2.5
      - pyyaml==5.3.1
      - requests==2.22.0
      - s3transfer==0.3.7
      - six==1.13.0
      - smmap==3.0.5
      - tabulate==0.8.6
      - termcolor==1.1.0
      - urllib3==1.25.7
prefix: /opt/conda/envs/checkov

tests/terraform/checks/resource/aws/test_IAMRoleAllowsPublicAssume.py::TestIAMRoleAllowAssumeFromAccount::test_failure
tests/terraform/checks/resource/aws/test_IAMRoleAllowsPublicAssume.py::TestIAMRoleAllowAssumeFromAccount::test_success
checkov/terraform/checks/resource/aws/IAMRoleAllowsPublicAssume.py
checkov/terraform/checks/resource/aws/IAMRoleAllowsPublicAssume.py