WAF-AGN-010 – Agent Identity & Authentication

Beschreibung

Every agent must be identifiable, authenticatable, and traceable. Agents MUST have unique, stable IDs. Authentication via token or certificate is mandatory for all agent communications. All agent interactions MUST be logged in an audit trail for security and compliance.

Begründung

Risiko Beschreibung

Risk

Non-identifiable agents cannot be traced or held accountable for their actions.

Risk

Missing agent authentication enables identity spoofing and non-attributable changes.

Anforderungen

  • Every agent must be identifiable, authenticatable, and traceable.

  • Agents MUST have unique, stable IDs.

  • All agent interactions MUST be logged in an audit trail for security and compliance.

Implementierungsleitfaden

  1. Document the requirement in a version-controlled policy or standard.

  2. Assign ownership and establish a review cadence (e.g., quarterly).

  3. Implement the required configuration as code in Terraform or equivalent IaC.

Reifegrade

Level Name Kriterien

L1

Ad hoc – control not consistently applied

* Manual evidence exists for some workloads, but coverage is unknown.

L2

Standardised – policy defined and communicated

* A version-controlled policy, ADR, or standard describes the requirement.

L3

Integrated – automated validation in CI/CD

* Terraform checks run automatically on pull requests and report results.

L4

Auditable – metrics and exceptions tracked

* Control coverage, failures, and approved exceptions are reported quarterly.

L5

Optimised – continuous improvement based on data

* Control effectiveness is measured and iteratively improved.

Checks

waf-agn-010.tf.aws.bedrock-agent-id-defined

Engine: terraform | Provider: aws | Automated: Ja

AWS Bedrock agents must have unique identifiers and authentication

AWS Bedrock agents must have a unique, stable agent_id and authentication via IAM roles or API keys. All agent interactions must be logged via CloudWatch.

Scope: resource — aws_bedrockagent

Assertions: * agent_name not empty — Agent must have a unique name/identifier. * agent_resources attribute exists — Agent must have resources configured.

Remediation: Define an aws_bedrockagent resource with a unique agent_id and associate it with an IAM role for authentication. Enable CloudWatch logging for agent interactions.

Compliant
resource "aws_bedrockagent" "customer_support_agent" {
  agent_name = "customer-support-agent"
  description = "Agent for customer support inquiries"
  agent_resources = [{
    model_arn = aws_bedrock_foundation_model.claude.arn
  }]
  # Unique agent_id automatically assigned
  # Authentication via IAM role
}
resource "aws_cloudwatch_log_group" "agent_logs" {
  name = "/aws/bedrock/customer-support-agent"
}
Non-Compliant
# No agent defined – unauthenticated agent access
# WAF-AGN-010 Violation
# Agents without IDs and authentication are not permitted

waf-agn-010.tf.google.vertex-agent-id-defined

Engine: terraform | Provider: google | Automated: Ja

Google Vertex AI agents must have unique identifiers and authentication

Google Vertex AI agents must have unique agent_id and authentication via IAM service accounts. All interactions must be logged via Cloud Logging.

Scope: resource — google_vertex_ai_agent

Assertions: * display_name not empty — Agent must have a display name/identifier.

Remediation: Define a vertex_ai_agent resource with unique identifier and service account authentication. Configure Cloud Logging for agent interactions.

Compliant
resource "google_vertex_ai_agent" "fraud_detection" {
  display_name = "fraud-detection-agent"
  description  = "Agent for fraud detection"
  # Unique agent_id automatically assigned
  # Authentication via service account
}
resource "google_logging_project_sink" "agent_logs" {
  name = "agent-logs"
  destination = "storage.googleapis.com/agent-logs-bucket"
  filter = "resource.type=vertex_ai_agent"
}
Non-Compliant
# No agent defined – unauthenticated access
# WAF-AGN-010 Violation

waf-agn-010.tf.azurerm.ai-agent-id-defined

Engine: terraform | Provider: azurerm | Automated: Ja

Azure AI agents must have unique identifiers and authentication

Azure AI agents must have unique agent_id and authentication via Azure AD or Managed Identity. All interactions must be logged via Application Insights.

Scope: resource — azurerm_cognitive_deployment

Assertions: * name not empty — Agent must have a unique name/identifier.

Remediation: Define an azure_ai_agent resource with unique identifier and Managed Identity authentication. Configure Application Insights for logging.

Compliant
resource "azurerm_cognitive_deployment" "agent" {
  name                       = "customer-service-agent"
  cognitive_account_id       = azurerm_cognitive_account.main.id
  model_name                 = "gpt-4"
  format                     = "OpenAI"
  # Authentication via Managed Identity
}
resource "azurerm_application_insights" "agent_ai" {
  name                = "agent-insights"
  resource_group_name = azurerm_resource_group.main.name
  location            = azurerm_resource_group.main.location
  workspace_id        = azurerm_log_analytics_workspace.main.id
}
Non-Compliant
# No agent defined – unauthenticated access
# WAF-AGN-010 Violation

waf-agn-010.config.multi.identity-access

Engine: config | Provider: multi | Automated: Ja

Agent interactions must be logged in audit trail

A version-controlled policy document must exist at docs/agentic/waf-agn-010-identity-access.md and document the cross-provider implementation of this control. The checker validates that the file exists and contains a normative requirement statement (MUST/SHALL/required/mandatory).

Scope: file — docs/agentic/waf-agn-010-identity-access.md

Assertions: * content matches pattern (?i)MUST|SHALL|required|mandatory|enforced|documented — Policy file docs/agentic/waf-agn-010-identity-access.md must contain a normative requirement statement.

Remediation: Create or update docs/agentic/waf-agn-010-identity-access.md. State the requirement, how it is implemented for cross-provider, the review cadence, and the owner.

Compliant
docs/agentic/waf-agn-010-identity-access.md:
- The cross-provider implementation of WAF-AGN-010 is documented.
- Implementation status and owner are recorded.
- Review cadence is defined (e.g. quarterly).
Non-Compliant
# `docs/agentic/waf-agn-010-identity-access.md` is missing or does not contain a normative requirement.
# WAF-AGN-010 violation: cross-provider control is not documented

waf-agn-010.tf.stackit.agentic-audit-logged

Engine: terraform | Provider: stackit | Automated: Ja

Every agent must be identifiable, authenticatable, and traceable for stackit

Every agent must be identifiable, authenticatable, and traceable must be documented in IaC via a agentic-audit-logged tag/label on stackit_project. This validates the control is tracked as code.

Scope: resource — stackit_project

Assertions: * labels key exists — stackit_project is missing the agentic-audit-logged tag/label.

Remediation: Add a agentic-audit-logged tag/label to the stackit_project resource to show the stackit implementation of WAF-AGN-010 is tracked in IaC.

Compliant
resource "stackit_project" "example" {
  labels = {
    agentic-audit-logged = "true"
  }
}
Non-Compliant
resource "stackit_project" "example" {
  # Missing agentic-audit-logged labels
}

waf-agn-010.tf.ovh.agentic-audit-logged

Engine: terraform | Provider: ovh | Automated: Ja

Every agent must be identifiable, authenticatable, and traceable for ovh

Every agent must be identifiable, authenticatable, and traceable must be documented in IaC via a agentic-audit-logged tag/label on ovh_cloud_project. This validates the control is tracked as code.

Scope: resource — ovh_cloud_project

Assertions: * tags key exists — ovh_cloud_project is missing the agentic-audit-logged tag/label.

Remediation: Add a agentic-audit-logged tag/label to the ovh_cloud_project resource to show the ovh implementation of WAF-AGN-010 is tracked in IaC.

Compliant
resource "ovh_cloud_project" "example" {
  tags = {
    agentic-audit-logged = "true"
  }
}
Non-Compliant
resource "ovh_cloud_project" "example" {
  # Missing agentic-audit-logged tags
}

waf-agn-010.tf.hcloud.agentic-audit-logged

Engine: terraform | Provider: hcloud | Automated: Ja

Every agent must be identifiable, authenticatable, and traceable for hcloud

Every agent must be identifiable, authenticatable, and traceable must be documented in IaC via a agentic-audit-logged tag/label on hcloud_server. This validates the control is tracked as code.

Scope: resource — hcloud_server

Assertions: * labels key exists — hcloud_server is missing the agentic-audit-logged tag/label.

Remediation: Add a agentic-audit-logged tag/label to the hcloud_server resource to show the hcloud implementation of WAF-AGN-010 is tracked in IaC.

Compliant
resource "hcloud_server" "example" {
  labels = {
    agentic-audit-logged = "true"
  }
}
Non-Compliant
resource "hcloud_server" "example" {
  # Missing agentic-audit-logged labels
}

Evidenz

Art Erforderlich Beschreibung

iac

Erforderlich

Terraform configuration implementing the control.

governance

Erforderlich

Policy, ADR, or standard documenting the requirement.

config

Optional

Cloud console or API output confirming runtime state.

Verwandte Controls

Framework Controls

ISO 27001:2022

* A.8.2 – Privileged access rights * A.8.5 – Secure authentication * A.5.17 – Authentication information

ISO 27017

* CLD.9.5 – Segregation in virtual computing environments

CIS Controls v8

* CIS 5 – Account Management * CIS 6 – Access Control Management

SOC 2 Type II

* CC6.1 – Logical and physical access controls * CC6.2 – Provisioning and removal of access

NIST SP 800-53

* AC-2 – Account Management * IA-2 – Identification and Authentication

NIST CSF 2.0

* PR.AA-01 – Identities and credentials are managed * PR.AA-03 – Users, services and hardware are authenticated

GDPR

* Art. 32 – Security of processing * Art. 5(1)(f) – Integrity and confidentiality

PCI DSS v4.0

* Req 7 – Restrict access by business need to know * Req 8 – Identify and authenticate access

CSA STAR

* CCM IAM-01 – Identity and Access Management Policy * CCM IAM-02 – Strong Password Policy and Procedures

BSI C5:2020

* IDM-01 – Identity and access management policy * IDM-02 – Authentication of users

TISAX

* Information security – Identity and access management requirements

ANSSI SecNumCloud

* Domain – Identity and access management

BIO

* BIO – Logische toegangsbeveiliging (logical access control)

ENS High

* op.acc.5 – Mecanismo de autenticación * op.acc.7 – Gestión de privilegios

UK NCSC CAF

* B2 – Identity and access control

FedRAMP

* AC-2, IA-2 (Moderate/High baseline)

CMMC 2.0

* AC.L2-3.1.1 – Limit system access to authorized users * IA.L2-3.5.3 – Multifactor authentication

IT-Grundschutz

* ORP.4 – Identitäts- und Berechtigungsmanagement

IRAP

* ISM – Identification and authentication

CCCS PBMM

* AC-2, IA-2 – Account and authenticator management

MAS TRM

* Ch.6 – Access control

ISMAP

* Identity and access management controls

FISC

* Technical measures – User authentication and access control

EUCS (ENISA)

* IAM-01 – Identity and access management * IAM-02 – Authentication controls