IAM Access Analyzer
Analyses policies to report external, internal and unused access, and validates policies before deployment.
- Provider
- aws
- Kind
- Policy engine
- Category
- Operations
| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| analyzerType | enum | external-access | internal-access | unused-access | no | external-access | inherited |
| effect | enum | audit | deny | modify | deploy-if-not-exists | no | — | ▸ audit |
| enforcementMode | enum | enforced | disabled | no | — | ▸ enforced |
| managed | boolean | — | no | false | ▸ true |
| policyCount | integer | — | no | — | inherited |
| policyGeneration | boolean | — | no | false | inherited |
| policyReanalysisMinutes | integer | — | no | 30 | inherited |
| policyValidation | boolean | — | no | true | inherited |
| regionScoped | boolean | — | no | true | inherited |
| remediation | boolean | — | no | false | ▸ false |
| scope | enum | resource | group | account | organization | no | — | ▸ account |
| unusedAccessTrackingPeriodDays | integer | — | no | — | inherited |
Every rule whose selector covers this component's kind or its category. Whether a rule fires depends on the design: its properties, its edges and its groups.
No rule reads this kind yet. That is a gap, not a guarantee.
nodes:
- { id: "iam-access-analyzer", component: "aws-iam-access-analyzer" }Cloud Configalibaba-cloud-configData Security Centeralibaba-data-security-centerAmazon CodeGuru Revieweraws-codeguru-reviewerAWS Configaws-configAWS Control Toweraws-control-towerAWS Lake Formationaws-lake-formationAWS License Manageraws-license-managerAWS Organizationsaws-organizationsAWS Resource Access Manageraws-ramAmazon Verified Permissionsaws-verified-permissionsMicrosoft Entra Conditional Accessazure-conditional-accessAzure Policyazure-policyMicrosoft Entra Privileged Identity Managementazure-privileged-identity-managementCloudflare Data Loss Preventioncloudflare-dlpCalypsoAIcalypsoaiCerboscerbosOPA GatekeepergatekeeperGuardrails AIguardrails-aiHiddenLayer AI Security PlatformhiddenlayerKubeArmorkubearmorKubewardenkubewardenKyvernokyvernoLakera Guardlakera-guardLLM Guardllm-guardNeMo Guardrailsnemo-guardrailsOpen Policy AgentopaPermit.iopermit-ioGeneric policy enginepolicy-enginePrompt Securityprompt-securityProtect AIprotect-aiRebuffrebuffRobust Intelligencerobust-intelligenceSonarQube ServersonarqubeDigitalOcean CSPMdigitalocean-cspmAccess Context Managergoogle-access-context-managerAssured Workloadsgoogle-assured-workloadsBinary Authorizationgoogle-binary-authorizationIdentity and Access Managementgoogle-cloud-iamFirebase App Checkgoogle-firebase-app-checkModel Armorgoogle-model-armor
and 16 more → Policy engine page# yaml-language-server: $schema=../../schema/component.schema.json # IAM Access Analyzer: reasons over resource-based and identity policies and reports findings; it # reports, it does not block. "Using AWS Identity and Access Management Access Analyzer": you create # an analyzer whose zone of trust is one account or the organization, an added or changed policy is # re-analyzed within about 30 minutes and everything else on a periodic scan within 24 hours, and an # external access analyzer only covers resources in the Region where it was created. Policy # validation against grammar and AWS best practices comes with the service. # "Create an IAM Access Analyzer unused access analyzer": the tracking period is 1 to 365 days. schemaVersion: "1" type: "component" id: "aws-iam-access-analyzer" kind: "policy-engine" provider: "aws" docs: "https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html" defaults: effect: "audit" enforcementMode: "enforced" scope: "account" remediation: false managed: true properties: analyzerType: type: "enum" values: ["external-access", "internal-access", "unused-access"] default: "external-access" policyValidation: type: "boolean" default: true policyGeneration: type: "boolean" default: false regionScoped: type: "boolean" default: true unusedAccessTrackingPeriodDays: type: "integer" policyReanalysisMinutes: type: "integer" default: 30