How to use this tool

Agent Identity Designer — Guide

A step-by-step walkthrough of every section in the tool: what each field means, which AWS permissions to pick, how the PCI DSS controls map to what gets generated, and exactly what to do with the exported files.

What is this tool for?

When you build an AI payment system, every automated agent — whether it processes refunds, reconciles settlements, or triages fraud — needs a clearly attributable workload identity in AWS. A dedicated IAM role is usually the strongest isolation boundary, although the exact role design depends on the runtime and orchestration architecture.

PCI DSS v4.0.1 Requirement 8 covers identification and authentication, and Requirement 8.6 addresses application and system accounts. Those controls may apply to AWS identities used by automated agents when they are in scope. PCI DSS does not define a separate AI-agent account category, so applicability depends on the implementation and environment.

This tool generates editable IAM policy JSON and Terraform HCL to support implementation and documentation. The output must be reviewed, adapted, deployed, tested, and supported by evidence; it does not by itself satisfy PCI DSS or establish compliance.


Step-by-step walkthrough

Step 1 — Pick an agent role template
  1. On the left panel you will see 6 role templates. Click one to load it — all fields on the right pre-fill with sensible defaults for that role type.
  2. If none of the presets match your use case, select Custom Agent and fill in everything yourself.
  3. The template you choose does not lock you in — every field can be edited after selecting.
Step 2 — Fill in Agent Configuration
  1. Agent Name: a human-readable label shown in the UI and included as a comment in the generated Terraform. It does not become the IAM role name.
  2. Role ID: the machine identifier that becomes the IAM role name and Terraform resource name. The tool normalises it to lowercase letters, numbers and hyphens and limits it to 53 characters so the generated IAM role name can remain within AWS's 64-character limit. Terraform resource labels use an underscore-normalised form internally.
  3. Description: free-text notes for your team. Not used in the generated output but good practice for your internal wiki.
  4. Accesses CDE toggle: turn this on if the agent ever reads or writes cardholder data or can connect to or affect the security of systems in the CDE. This adds a pci-scope = in-scope tag as an internal scoping aid. The tag does not determine PCI DSS scope.
  5. Human-in-the-loop toggle: turn this on for irreversible actions (large refunds, account closures). The Terraform output includes a Step Functions Standard Workflow waitForTaskToken callback pattern. Your approval service must still authenticate the reviewer, authorise the decision and protect the task token.
Step 3 — Select AWS IAM Actions
  1. Click the permission tags to toggle them on (green border) or off. Only select what your agent actually needs — this is least privilege, the most important principle in agent security.
  2. DynamoDB actions: GetItem and Query are read-only. PutItem and UpdateItem are write operations. Only add DeleteItem if your agent genuinely needs to hard-delete records.
  3. KMS actions: select kms:Decrypt if your agent reads encrypted payment data. Select kms:GenerateDataKey if it encrypts data before storing.
  4. Bedrock: bedrock:InvokeModel is only needed if your agent calls an AWS Bedrock LLM directly (e.g. for fraud analysis). If Bedrock is invoked by a separate orchestration layer, don't include it here.
  5. Secrets Manager: secretsmanager:GetSecretValue is needed if your agent retrieves API keys or database passwords at runtime. The Terraform output creates the secret and rotation schedule for you.
Step 4 — Review the PCI DSS Req 8 checklist
  1. Scroll to the PCI DSS Requirement 8 — Identity Controls panel. It summarises application and system account controls that may be relevant to the agent identity.
  2. Critical and high are Sync Your Cloud prioritisation labels, not PCI SSC risk ratings or an assessor testing order.
  3. You can screenshot or print this panel as a first-pass checklist, but that is not proof that a control is deployed or effective. Retain the reviewed configuration, deployed policy and trust policy, approvals, access reviews, CloudTrail records and relevant test results. Agree evidence expectations with your assessor or compliance lead.
Step 5 — Export the generated output
  1. Switch between IAM Policy (JSON) and Terraform (HCL) tabs in the output panel.
  2. Click Export to download the file, or Copy to clipboard to paste it into your editor or AWS Console.
  3. Before deploying: replace each ACCOUNT_ID placeholder with your real 12-digit AWS account ID. Review every wildcard resource, including any remaining Resource: "*", and replace broad payments-* patterns with the exact resources the workload needs.
  4. For Terraform: treat the export as a starter module. Add the required provider and variable declarations, supply compatible Lambda and rotation integrations where present, run terraform fmt and terraform validate, review terraform plan, test in a non-production account, and only then consider applying it.

Role templates explained

Each preset is designed around a specific payment system responsibility. Use these as starting points and adapt the AWS actions to match your exact architecture.

Payment Authoriser
Approves payment intents, validates fraud signals, captures charges.
payments:authorizepayments:capturefraud:read
Refund Agent
Processes refunds and voids. Requires human approval for each action.
payments:refundpayments:voidtransactions:read
Reconciliation Agent
End-of-day settlement reconciliation. Read-only on payment data.
transactions:readsettlement:readreports:write
Fraud Triage Agent
Reviews flagged transactions, escalates to human reviewers.
fraud:readfraud:writealerts:write
Webhook Processor
Receives and processes payment provider events idempotently.
webhooks:receiveevents:writetransactions:update
Custom Agent
Build your own role from scratch with any permission set.
define your own

PCI DSS Requirement 8 — what each control means

PCI DSS v4.0.1 is the current version of the standard. Requirement 8 covers identification and authentication and includes controls for application and system accounts. PCI DSS does not define a separate category of AI-agent accounts; applicability depends on how the identity is implemented and used.
8.6.1Interactive use of application or system accounts is prevented except for approved, time-limited exceptional circumstances, with actions attributable to an individualcritical
8.6.2Passwords or passphrases for application and system accounts that can be used interactively are not hard-codedcritical
8.6.3Application and system account passwords or passphrases are protected against misuse and changed using a frequency defined by targeted risk analysishigh
This tool does not constitute a full PCI DSS assessment. It generates editable IAM and Terraform artefacts that may support implementation and documentation. A complete assessment considers all applicable controls and evidence from the deployed environment. Use the output as a starting point — not as a substitute for review, testing, or formal validation.

Key terms

IAM RoleAn AWS Identity and Access Management role — a set of permissions that a service, Lambda function, or ECS task assumes at runtime. Agents assume an IAM role to make AWS API calls.
Least PrivilegeThe principle that any identity (human or agent) should only have the minimum permissions needed to do its job. Granting broader permissions than necessary increases security risk and may fail applicable PCI DSS access-control requirements; the assessment depends on scope, implementation and evidence.
CDECardholder Data Environment — the people, processes, and technologies that store, process, or transmit cardholder data or sensitive authentication data, plus system components that can connect to or affect its security. Scope must be determined from the actual environment.
PCI DSS Req 8The PCI DSS requirement governing identification and authentication. It includes controls for application and system accounts but does not explicitly refer to AI agents.
Terraform HCLHashiCorp Configuration Language — the syntax used by Terraform to declare infrastructure as code. The exported .tf file is an editable starter that requires provider configuration, variables, integration resources, validation and review before deployment.
Secrets ManagerAWS service for storing, retrieving, and rotating supported secrets. A generated rotation schedule requires a compatible, tested rotation function. Creating a secret or schedule does not by itself establish PCI DSS compliance.
Human-in-the-loopAn architectural pattern where a human must approve a high-risk action before an agent executes it. The starter uses the AWS Step Functions waitForTaskToken callback pattern in a Standard Workflow. The workflow resumes when an authorised component returns the token, so the surrounding approval service must prove that an authorised human made the decision.
QSAQualified Security Assessor — an individual employed by a QSA Company and qualified through the PCI SSC programme to perform PCI DSS assessments. A QSA may document results in a ROC; an eligible entity completes an SAQ as a self-assessment.

Frequently asked questions

Ready to generate your agent identity?
Open the tool, choose a template, review the permissions and export an editable starting point.