Single-Page Edition · Public Edition

Azure Architecture, Deployment & Operational Security Review

This is the whole report on one page, intended for reading end to end or printing to PDF. The chaptered edition is the primary version.

Executive Summary

Cloud-security conclusions should be tied to the environment that is actually deployed, not inferred solely from diagrams or infrastructure templates.

This review method starts by reconstructing the as-built Azure footprint and end-to-end data flow. It then examines identity, network boundaries, configuration, secrets, data services, containers, delivery controls, logging and alerting through safe evidence. The resulting architecture view connects each security principle to the service path it protects.

Assessment principle. Treat every cloud claim as a statement that needs a reproducible source, an evidence boundary and an explicit confidence level.

Scope and Evidence Boundaries

The review covers the deployed application path from browser and API through configuration, object and queue storage, asynchronous processing and the operational data store. It considers the identities, network relationships and data movement that connect those components.

In the illustrative reference architecture these are Microsoft Entra ID, Azure Container Apps, Azure App Configuration, Azure Blob and Queue Storage, Azure Cosmos DB, Azure Key Vault, Azure Container Registry and Azure Monitor with Log Analytics.

The reviewed system (illustrative)

Click or tap a zone or checkpoint on the diagram to jump to the related illustrative security examples.

Component diagram of the illustrative reference platform: a browser single-page application and Microsoft Entra ID connect to an API, web app and asynchronous worker on Azure Container Apps; the worker calls Azure AI Document Intelligence and Azure OpenAI; data lives in Azure Blob and Queue Storage, Azure Cosmos DB, Azure App Configuration and Azure Key Vault; a planned Azure DevOps and Container Registry delivery path and an Azure Monitor and Log Analytics operations zone complete the picture.
The illustrative reference platform assessed across both reports. The architecture is fictional and representative: it names Azure services to anchor the review method and contains no client environment details. See also the document-processing flow and the trust-boundary view.

Review lenses per service

Azure service What the review examines Representative risks (Microsoft-documented)
Azure Container Apps Ingress exposure, workload identities, container hardening and runtime configuration Public endpoints without identity enforcement; over-privileged or shared identities; writable root filesystems
Azure Blob + Queue Storage Access model, network reach, lifecycle and deletion behavior Shared-key access left enabled; public network paths; orphaned documents outliving their records
Azure Cosmos DB Data-plane authentication, role scope and query surface Local authentication enabled alongside Microsoft Entra ID; broad data-plane roles; connection strings in configuration
Azure App Configuration Configuration scoping per identity and secret-reference hygiene One shared configuration scope for every workload; secrets stored as plain values instead of references
Azure Key Vault Access model, purge protection and reference patterns Broad get and list permissions; missing soft-delete or purge protection; secrets duplicated outside the vault
Azure Container Registry Admin account state, anonymous pull and image origins Enabled admin credentials; mutable tag-based deployment instead of digest pinning
Microsoft Entra ID User sign-in flows, workload identities and role assignments Long-lived client secrets where federation is available; least-privilege drift in role assignments
Azure Monitor + Log Analytics Diagnostic coverage, retention and alert ownership Missing data-plane logs; retention below investigation windows; alerts without an owned response path

Review lenses are generic and drawn from Microsoft security-baseline and Well-Architected guidance. Representative risks are typical finding categories for each service, not engagement findings.

Boundary. Read-only configuration evidence can establish observable control state and service relationships. It does not replace approved penetration testing, authenticated business-flow testing or long-term operational monitoring.

Methodology

  1. Inventory the footprint. Identify services, workloads, identities, data stores and delivery surfaces in scope.
  2. Trace the data flow. Follow client information from ingress through processing, storage and retrieval.
  3. Map trust boundaries. Record which component can read, transform, route or act on information.
  4. Collect safe evidence. Use read-only cloud queries and preserve the observed result and evidence limit.
  5. Challenge conclusions. Use the Threat Tribunal multi-model harness to propose, challenge and arbitrate observations.
  6. Apply human review. Assess confidence, operational relevance and remediation priority before creating delivery work.

Architecture and Trust Boundaries

A useful cloud-security diagram must show more than service icons. It should expose identity, data direction, privilege and the point at which untrusted input crosses into a more trusted processing context.

Click or tap a zone or checkpoint on the diagram to jump to the related illustrative security examples.

Trust-boundary diagram of the illustrative platform: amber checkpoint markers CP1 through CP9 cover public ingress, managed-identity edges, Entra-only data planes, the secrets boundary, the untrusted-content boundary at the AI call, the planned supply-chain gate and workload identity federation, telemetry separation and alert routing, with a target private-connectivity perimeter around the data and AI zones.
Security checkpoints the review verifies, overlaid on the illustrative platform. [target] marks expected controls; [planned] marks the designed delivery roadmap. See also the full reference architecture on the report overview.
Architecture question Security purpose
Which identity performs each service-to-service call? Tests least privilege and removes authorization decisions from application convention.
Where does client information cross a service boundary? Identifies encryption, authorization, audit and data-minimization requirements.
Which component can transform or act on model output? Locates the deterministic validation boundary around probabilistic behavior.
Which controls exist only in deployment configuration? Highlights drift risk between infrastructure definitions and the live environment.

Fictional Security Examples

Illustrative Architecture and Trust-Boundary Examples

Illustrative only - not an engagement finding

Sensitive Operations Lack a Default-Deny Identity Boundary

Critical See where this finding applies on the diagrams: application zone · upload and intake step · CP1 public ingress
Ease of Attack
Low effort if internet-facing
Impact
Protected records and privileged operations
Detection Difficulty
Visible in unauthenticated endpoint probing
Pattern
Example identity and authorization pattern
Business Summary
A public service that accepts sensitive requests without sign-in or per-customer authorization can turn an ordinary endpoint into direct access to protected records and operations.
Possible Weakness
An internet-facing API permits sensitive operations without requiring an authenticated identity and without rechecking object or tenant authorization downstream.
Potential Impact
An external caller could read or change sensitive information, trigger privileged processing or cross a customer boundary.
What an Assessment Verifies
Inspect Container Apps ingress and Entra ID identity settings, trace downstream authorization decisions and run safe tests that confirm access is denied without retrieving real data.
Expected Fix
Enforce identity at the Container Apps ingress and default-deny authorization at the API, object and tenant boundaries.
How to Check the Fix
Signed-out requests and requests using the wrong tenant, role or object identity must fail with 401 or 403 without revealing whether a protected record exists. Repeat the negative tests after every deployment.

Cross-Reference Evidence (Illustrative). This is cross-reference evidence showing how a real report connects one conclusion to complementary sources. In a real engagement each item below is a live pointer: a file-and-line link into the source repository, a reproducible read-only query against the deployed Azure environment, or replayable tool output. Here they lead to newly authored public demonstrations.

  • Example read-only Azure configuration record

    This is cross-reference evidence. A real assessment records the dated read-only query, the relevant property and the evidence limit without exposing credentials or customer data.

    az resource show --ids "<illustrative-resource-id>" \
      --query "properties.exampleControl"
    
    Illustrative output: {"exampleControl":"enabled"}
  • Example source-code authorization reference

    This is cross-reference evidence. A real assessment links a conclusion to the reviewed commit and exact lines so another technical reader can inspect the same enforcement point.

    if not policy.can_access(actor, record):
        raise Forbidden()
  • Example reproducible denied-access test output

    This is cross-reference evidence. A real report retains the command, tool version, safe input boundary and output needed to reproduce the conclusion.

    security-check --target "<illustrative-target>" --format json
    Illustrative output: {"result":"control verified"}

Illustrative only - not an engagement finding

Privileged Service Follows an Untrusted Callback Destination

High See where this finding applies on the diagrams: AI services zone · AI analysis callback step · CP5 AI-call boundary
Ease of Attack
Requires control of a returned destination
Impact
Credential disclosure or unintended requests
Detection Difficulty
Requires tracing callback handling through service code
Pattern
Example destination-validation pattern
Business Summary
A trusted workload can hand its authority to an attacker-controlled destination when it accepts dynamic callback addresses and attaches privileged credentials to the resulting request.
Possible Weakness
A backend service accepts a callback or status address from an upstream response and sends a privileged credential to that destination.
Potential Impact
A manipulated destination could receive credentials or cause the workload to issue unintended outbound requests.
What an Assessment Verifies
Trace where each callback destination originates, how redirects and DNS lookups are handled, when credentials are attached and the outbound network policy of the async worker's Container Apps environment.
Expected Fix
Use fixed or allow-listed destinations, never attach managed-identity credentials to dynamic URLs and restrict the worker's outbound connections.
How to Check the Fix
Safe tests using an unapproved host, redirect, private address, unexpected port and changed DNS result must all fail before a credential is attached or an outbound connection is made.

Cross-Reference Evidence (Illustrative). This is cross-reference evidence showing how the private reports connect this example’s verification to complementary sources. In a real engagement each item below is a live pointer: a file-and-line link into the source repository, a reproducible read-only query against the deployed Azure environment, or replayable tool output. Here they lead to newly authored public demonstrations.

  • Example read-only Azure evidence record

    This is cross-reference evidence. A real assessment records the dated read-only query, the relevant property and the evidence limit without exposing credentials or customer data.

    az resource show --ids "<illustrative-resource-id>" \
      --query "properties.exampleControl"
    
    Illustrative output: {"exampleControl":"enabled"}
  • Example source-code evidence reference

    This is cross-reference evidence. A real assessment links a conclusion to the reviewed commit and exact lines so another technical reader can inspect the same enforcement point.

    if not policy.can_access(actor, record):
        raise Forbidden()
  • Example reproducible tool output

    This is cross-reference evidence. A real report retains the command, tool version, safe input boundary and output needed to reproduce the conclusion.

    security-check --target "<illustrative-target>" --format json
    Illustrative output: {"result":"control verified"}

Illustrative only - not an engagement finding

Public Discovery Surface Reveals Unnecessary Operations

Medium See where this finding applies on the diagrams: application zone · CP1 public ingress
Ease of Attack
Trivial when publicly reachable
Impact
Faster discovery of sensitive operations
Detection Difficulty
Visible in anonymous discovery checks
Pattern
Example production-surface pattern
Business Summary
Production documentation helps legitimate teams use a service, but exposing internal and administrative operations also reduces the discovery work required by an attacker.
Possible Weakness
Production documentation or an API schema is available without sign-in and lists administrative, diagnostic or internal operations.
Potential Impact
The exposed surface gives an attacker a clearer map of available operations, parameters and implementation behaviour.
What an Assessment Verifies
Check signed-out access to documentation, schemas and discovery endpoints on the public Container Apps ingress and compare the result with the intended production audience.
Expected Fix
Disable unnecessary discovery surfaces in production or place them behind the same Entra ID identity and authorization boundary as the API.
How to Check the Fix
Signed-out requests to documentation, schema and discovery routes must return 401, 403 or 404. Approved users should see only the operations their role is permitted to invoke.

Cross-Reference Evidence (Illustrative). This is cross-reference evidence showing how the private reports connect this example’s verification to complementary sources. In a real engagement each item below is a live pointer: a file-and-line link into the source repository, a reproducible read-only query against the deployed Azure environment, or replayable tool output. Here they lead to newly authored public demonstrations.

  • Example read-only Azure evidence record

    This is cross-reference evidence. A real assessment records the dated read-only query, the relevant property and the evidence limit without exposing credentials or customer data.

    az resource show --ids "<illustrative-resource-id>" \
      --query "properties.exampleControl"
    
    Illustrative output: {"exampleControl":"enabled"}
  • Example source-code evidence reference

    This is cross-reference evidence. A real assessment links a conclusion to the reviewed commit and exact lines so another technical reader can inspect the same enforcement point.

    if not policy.can_access(actor, record):
        raise Forbidden()
  • Example reproducible tool output

    This is cross-reference evidence. A real report retains the command, tool version, safe input boundary and output needed to reproduce the conclusion.

    security-check --target "<illustrative-target>" --format json
    Illustrative output: {"result":"control verified"}

Identity, Least Privilege and Network Exposure

Zero Trust requires explicit verification at every boundary. Network reachability, user sign-in and service identity answer different security questions and should be assessed separately.

  • Prefer managed workload identities over embedded connection material.
  • Scope roles to the smallest service, operation and environment that requires them.
  • Enforce authorization in downstream services instead of relying on a caller or model to make the decision.
  • Separate public ingress requirements from management-plane and data-plane access.
  • Record deliberate exceptions with an owner, expiry condition and verification step.

Fictional Security Examples

Illustrative Identity and Access Examples

Illustrative only - not an engagement finding

One Workload Identity Can Traverse Multiple Trust Zones

Critical See where this finding applies on the diagrams: managed-identity edges · CP2 managed-identity edges
Ease of Attack
Requires compromise of one workload
Impact
Cross-zone access and privilege escalation
Detection Difficulty
Visible in role-assignment review across services
Pattern
Example least-privilege pattern
Business Summary
A broadly privileged workload identity allows one compromised service to become a stepping stone into configuration, processing and data systems that should have separate trust boundaries.
Possible Weakness
One application identity holds broad permissions across ingress, configuration, processing and data services.
Potential Impact
A compromise in one workload could spread across trust zones and expose administration, credentials and sensitive data.
What an Assessment Verifies
List every Entra ID role assignment, the data-plane permissions on Storage, Cosmos DB and App Configuration, reachable services and the effective access available to each workload identity.
Expected Fix
Use a distinct Entra ID identity per workload, scope every role to the minimum operation and restrict network paths between trust zones.
How to Check the Fix
Each workload must complete its approved function while tests prove that it cannot read, change or administer resources assigned to another trust zone.

Cross-Reference Evidence (Illustrative). This is cross-reference evidence showing how identity configuration, role assignments and safe tests that confirm access is denied are reviewed together. In a real engagement each item below is a live pointer: a file-and-line link into the source repository, a reproducible read-only query against the deployed Azure environment, or replayable tool output. Here they lead to newly authored public demonstrations.

  • Example read-only role-assignment record

    This is cross-reference evidence. A real assessment records the dated read-only query, the relevant property and the evidence limit without exposing credentials or customer data.

    az resource show --ids "<illustrative-resource-id>" \
      --query "properties.exampleControl"
    
    Illustrative output: {"exampleControl":"enabled"}
  • Example infrastructure identity definition

    This is cross-reference evidence. A real assessment links a conclusion to the reviewed commit and exact lines so another technical reader can inspect the same enforcement point.

    if not policy.can_access(actor, record):
        raise Forbidden()
  • Example denied-access test output

    This is cross-reference evidence. A real report retains the command, tool version, safe input boundary and output needed to reproduce the conclusion.

    security-check --target "<illustrative-target>" --format json
    Illustrative output: {"result":"control verified"}

Illustrative only - not an engagement finding

Frontend Workload Can Read Backend-Only Configuration

High See where this finding applies on the diagrams: App Configuration edges · CP2 managed-identity edges
Ease of Attack
Requires frontend identity compromise
Impact
Backend credentials and service discovery
Detection Difficulty
Visible in a review of who can read which configuration
Pattern
Example configuration-separation pattern
Business Summary
The public-facing layer should expose the least information and authority. Backend-only configuration in that layer can turn a web-tier compromise into access to more privileged services.
Possible Weakness
A public-facing web workload can read configuration values intended only for APIs, workers or data services.
Potential Impact
A frontend compromise could reveal backend destinations, reusable credentials or access material for more privileged services.
What an Assessment Verifies
Review App Configuration roles, key prefixes, Key Vault secret references and the effective values available to the web app's identity.
Expected Fix
Separate App Configuration scopes, remove backend access from the web app's identity and prefer managed identity over reusable credentials.
How to Check the Fix
The frontend identity must be denied every backend-only key and secret path while the web application continues to operate using only its explicitly approved configuration.

Cross-Reference Evidence (Illustrative). This is cross-reference evidence showing how the private reports connect this example’s verification to complementary sources. In a real engagement each item below is a live pointer: a file-and-line link into the source repository, a reproducible read-only query against the deployed Azure environment, or replayable tool output. Here they lead to newly authored public demonstrations.

  • Example read-only Azure evidence record

    This is cross-reference evidence. A real assessment records the dated read-only query, the relevant property and the evidence limit without exposing credentials or customer data.

    az resource show --ids "<illustrative-resource-id>" \
      --query "properties.exampleControl"
    
    Illustrative output: {"exampleControl":"enabled"}
  • Example source-code evidence reference

    This is cross-reference evidence. A real assessment links a conclusion to the reviewed commit and exact lines so another technical reader can inspect the same enforcement point.

    if not policy.can_access(actor, record):
        raise Forbidden()
  • Example reproducible tool output

    This is cross-reference evidence. A real report retains the command, tool version, safe input boundary and output needed to reproduce the conclusion.

    security-check --target "<illustrative-target>" --format json
    Illustrative output: {"result":"control verified"}

Illustrative only - not an engagement finding

Supporting Services Retain Unnecessary Public Network Paths

Medium See where this finding applies on the diagrams: data and configuration zone · private-connectivity perimeter [target]
Ease of Attack
Depends on a valid identity or key
Impact
Expanded reachability and attack surface
Detection Difficulty
Visible in public-network exposure review
Pattern
Example private-connectivity pattern
Business Summary
Every unnecessary public endpoint creates another route that must be defended continuously and increases dependence on identity and firewall settings remaining correct.
Possible Weakness
Data, configuration or build services retain public endpoints even though only known application workloads need access.
Potential Impact
The additional network paths expand the attack surface and increase reliance on identity and firewall configuration remaining perfect.
What an Assessment Verifies
Inspect public-network settings, firewall rules and private endpoints across Storage, Cosmos DB, App Configuration and Container Registry, plus name resolution and documented exceptions.
Expected Fix
Prefer private connectivity to Storage, Cosmos DB and App Configuration, scope necessary public exceptions and give every exception an owner and expiry condition.
How to Check the Fix
Connections from an external test location must fail while approved private workloads continue to connect. Any permitted public exception must show an owner, purpose and expiry date.

Cross-Reference Evidence (Illustrative). This is cross-reference evidence showing how the private reports connect this example’s verification to complementary sources. In a real engagement each item below is a live pointer: a file-and-line link into the source repository, a reproducible read-only query against the deployed Azure environment, or replayable tool output. Here they lead to newly authored public demonstrations.

  • Example read-only Azure evidence record

    This is cross-reference evidence. A real assessment records the dated read-only query, the relevant property and the evidence limit without exposing credentials or customer data.

    az resource show --ids "<illustrative-resource-id>" \
      --query "properties.exampleControl"
    
    Illustrative output: {"exampleControl":"enabled"}
  • Example source-code evidence reference

    This is cross-reference evidence. A real assessment links a conclusion to the reviewed commit and exact lines so another technical reader can inspect the same enforcement point.

    if not policy.can_access(actor, record):
        raise Forbidden()
  • Example reproducible tool output

    This is cross-reference evidence. A real report retains the command, tool version, safe input boundary and output needed to reproduce the conclusion.

    security-check --target "<illustrative-target>" --format json
    Illustrative output: {"result":"control verified"}

Secrets, Configuration and Data Protection

Configuration services, secret stores and data services should be reviewed as one access path. A secretless application identity provides little value if another broadly accessible service still exposes equivalent credentials or data.

Control pattern. Combine managed identities, restricted network paths, centralized secret handling, rotation, encryption, authorization that respects tenant boundaries, backup verification and auditable access.

Fictional Security Examples

Illustrative Data Protection Examples

Illustrative only - not an engagement finding

Long-Lived Cloud Credentials Exist in Source or Build History

Critical See where this finding applies on the diagrams: delivery zone [planned] · CP7 workload identity federation
Ease of Attack
Low effort after obtaining a copy
Impact
Cloud impersonation, cost or data access
Detection Difficulty
Visible in repository and artifact secret scanning
Pattern
Example rotation and identity pattern
Business Summary
A reusable cloud credential can remain valid after it is deleted from the latest source file because earlier repository history and copied build artifacts may still contain a working value.
Possible Weakness
Reusable cloud credentials are committed to repository history, copied into build output or retained in a deployment artifact.
Potential Impact
Anyone who obtains the material could consume paid services, impersonate a workload or reach protected data within the credential scope.
What an Assessment Verifies
Scan current files, repository history and Azure DevOps build artifacts without attempting to use any discovered credential.
Expected Fix
Revoke and rotate exposed material, replace it with an Entra ID managed identity and enforce secret scanning that covers repository history before merge and release in Azure DevOps.
How to Check the Fix
The previous credential must be rejected, current files, history and artifacts must contain no copy, the workload must succeed through managed identity and the pipeline must block a planted test secret.

Cross-Reference Evidence (Illustrative). This is cross-reference evidence demonstrating how repository and cloud evidence can corroborate the same control concern. In a real engagement each item below is a live pointer: a file-and-line link into the source repository, a reproducible read-only query against the deployed Azure environment, or replayable tool output. Here they lead to newly authored public demonstrations.

  • Example source-code permalink and history reference

    This is cross-reference evidence. A real assessment links a conclusion to the reviewed commit and exact lines so another technical reader can inspect the same enforcement point.

    if not policy.can_access(actor, record):
        raise Forbidden()
  • Example secret-scan output covering repository history

    This is cross-reference evidence. A real report retains the command, tool version, safe input boundary and output needed to reproduce the conclusion.

    security-check --target "<illustrative-target>" --format json
    Illustrative output: {"result":"control verified"}
  • Example workload-identity configuration record

    This is cross-reference evidence. A real assessment records the dated read-only query, the relevant property and the evidence limit without exposing credentials or customer data.

    az resource show --ids "<illustrative-resource-id>" \
      --query "properties.exampleControl"
    
    Illustrative output: {"exampleControl":"enabled"}

Illustrative only - not an engagement finding

Secrets Are Stored as Shared Application Configuration

High See where this finding applies on the diagrams: Azure Key Vault · CP4 secrets boundary
Ease of Attack
Requires access to shared configuration
Impact
Reusable credentials for sensitive services
Detection Difficulty
Visible in configuration store review
Pattern
Example credential-free access pattern
Business Summary
Treating passwords and access keys as ordinary configuration broadens the number of services and people that can read them and increases the damage caused by any one compromise.
Possible Weakness
Passwords, access keys or connection material are stored as ordinary configuration values readable by several workloads.
Potential Impact
A compromise of any permitted reader could disclose reusable credentials for more sensitive services or data stores.
What an Assessment Verifies
Classify App Configuration values, identify every reading identity and trace whether equivalent credential-free access through Key Vault references and managed identities is available.
Expected Fix
Move secrets to Azure Key Vault with narrow access, or remove them entirely through managed workload identity.
How to Check the Fix
Unauthorized workload identities must be denied the secret path, approved services must operate through managed identity or narrow secret access, and the configuration inventory must contain no equivalent reusable value.

Cross-Reference Evidence (Illustrative). This is cross-reference evidence showing how the private reports connect this example’s verification to complementary sources. In a real engagement each item below is a live pointer: a file-and-line link into the source repository, a reproducible read-only query against the deployed Azure environment, or replayable tool output. Here they lead to newly authored public demonstrations.

  • Example read-only Azure evidence record

    This is cross-reference evidence. A real assessment records the dated read-only query, the relevant property and the evidence limit without exposing credentials or customer data.

    az resource show --ids "<illustrative-resource-id>" \
      --query "properties.exampleControl"
    
    Illustrative output: {"exampleControl":"enabled"}
  • Example source-code evidence reference

    This is cross-reference evidence. A real assessment links a conclusion to the reviewed commit and exact lines so another technical reader can inspect the same enforcement point.

    if not policy.can_access(actor, record):
        raise Forbidden()
  • Example reproducible tool output

    This is cross-reference evidence. A real report retains the command, tool version, safe input boundary and output needed to reproduce the conclusion.

    security-check --target "<illustrative-target>" --format json
    Illustrative output: {"result":"control verified"}

Illustrative only - not an engagement finding

Record Deletion Can Leave Associated Objects Behind

Medium See where this finding applies on the diagrams: data and configuration zone
Ease of Attack
Triggered by partial failure or retry
Impact
Unexpected retention of sensitive objects
Detection Difficulty
Requires testing deletion when a step fails midway
Pattern
Example lifecycle-reconciliation pattern
Business Summary
A deletion can appear complete to a user while copies remain in storage or processing queues, creating privacy, retention and incident-response obligations that the application can no longer track reliably.
Possible Weakness
An application deletes its database record while uploaded files or derived objects remain in storage after a partial failure.
Potential Impact
Sensitive material could remain beyond the intended lifecycle and become disconnected from normal access and retention controls.
What an Assessment Verifies
Trace deletion across Cosmos DB records, Blob Storage objects and Queue Storage work items and reconcile expected state after retries and interrupted processing.
Expected Fix
Use cleanup and reconciliation that are safe to retry across Cosmos DB, Blob Storage and Queue Storage, with auditable evidence that every associated object reached the intended state.
How to Check the Fix
Delete a test record while interrupting each cleanup stage, then retry and reconcile. Every related object must reach the approved deleted or retained state with an auditable completion record.

Cross-Reference Evidence (Illustrative). This is cross-reference evidence showing how the private reports connect this example’s verification to complementary sources. In a real engagement each item below is a live pointer: a file-and-line link into the source repository, a reproducible read-only query against the deployed Azure environment, or replayable tool output. Here they lead to newly authored public demonstrations.

  • Example read-only Azure evidence record

    This is cross-reference evidence. A real assessment records the dated read-only query, the relevant property and the evidence limit without exposing credentials or customer data.

    az resource show --ids "<illustrative-resource-id>" \
      --query "properties.exampleControl"
    
    Illustrative output: {"exampleControl":"enabled"}
  • Example source-code evidence reference

    This is cross-reference evidence. A real assessment links a conclusion to the reviewed commit and exact lines so another technical reader can inspect the same enforcement point.

    if not policy.can_access(actor, record):
        raise Forbidden()
  • Example reproducible tool output

    This is cross-reference evidence. A real report retains the command, tool version, safe input boundary and output needed to reproduce the conclusion.

    security-check --target "<illustrative-target>" --format json
    Illustrative output: {"result":"control verified"}

Illustrative only - not an engagement finding

Unused Configuration Points to a Retired Service Destination

Low See where this finding applies on the diagrams: App Configuration edges
Ease of Attack
Requires configuration influence
Impact
Routing ambiguity and operational failure
Detection Difficulty
Visible when configuration is reconciled against live services
Pattern
Example startup-validation pattern
Business Summary
Stale destinations make deployments harder to reason about, create noisy failures and can route traffic unexpectedly if an abandoned name is later reused.
Possible Weakness
An unused setting continues to reference a service destination that has been renamed, retired or never provisioned.
Potential Impact
The stale value can create failed routing, confusing diagnostics and uncertainty about which configuration is authoritative.
What an Assessment Verifies
Inventory App Configuration settings, trace runtime references from the API and worker and distinguish active configuration from settings kept only for compatibility.
Expected Fix
Remove stale App Configuration settings and use typed startup validation that fails clearly when a required destination is invalid.
How to Check the Fix
A clean deployment must contain only authoritative settings, and startup must reject a deliberately invalid required destination with a clear, non-sensitive error before serving traffic.

Cross-Reference Evidence (Illustrative). This is cross-reference evidence showing how the private reports connect this example’s verification to complementary sources. In a real engagement each item below is a live pointer: a file-and-line link into the source repository, a reproducible read-only query against the deployed Azure environment, or replayable tool output. Here they lead to newly authored public demonstrations.

  • Example read-only Azure evidence record

    This is cross-reference evidence. A real assessment records the dated read-only query, the relevant property and the evidence limit without exposing credentials or customer data.

    az resource show --ids "<illustrative-resource-id>" \
      --query "properties.exampleControl"
    
    Illustrative output: {"exampleControl":"enabled"}
  • Example source-code evidence reference

    This is cross-reference evidence. A real assessment links a conclusion to the reviewed commit and exact lines so another technical reader can inspect the same enforcement point.

    if not policy.can_access(actor, record):
        raise Forbidden()
  • Example reproducible tool output

    This is cross-reference evidence. A real report retains the command, tool version, safe input boundary and output needed to reproduce the conclusion.

    security-check --target "<illustrative-target>" --format json
    Illustrative output: {"result":"control verified"}

Container, Infrastructure and Delivery Controls

Delivery security should make the approved path the easiest path. The planned Azure DevOps design automates repeatable checks and preserves evidence from pull request through release and rollback.

  • Code and configuration checks
  • Dependency and secret scanning
  • Container-image assessment
  • Policy and approval gates
  • Secretless deployment identity
  • Immutable release evidence
  • Digest-identified artifacts
  • Controlled rollback

Status distinction. These continuous-integration and delivery controls describe the designed secure-delivery roadmap. They are not presented as already operating controls.

Fictional Security Examples

Illustrative Delivery and Release Examples

Illustrative only - not an engagement finding

Unverified Build Inputs Can Produce an Untrusted Release

Critical See where this finding applies on the diagrams: delivery zone [planned] · CP6 supply-chain gate
Ease of Attack
Requires supply-chain influence
Impact
Untrusted code in a release that looks approved
Detection Difficulty
Visible in build definition and manifest review
Pattern
Example build-origin and policy pattern
Business Summary
A release is trustworthy only when the reviewed source and every build input resolve to the same verifiable artifact. Mutable upstream inputs can change production without changing the application repository.
Possible Weakness
A production build resolves mutable dependencies, actions or base images that are not pinned to an approved digest.
Potential Impact
A compromised upstream input could alter the released application while appearing to follow the normal delivery process.
What an Assessment Verifies
Inspect input pinning, dependency locks, Container Registry image digests, records of where each input came from and whether a clean rebuild produces the expected artifact.
Expected Fix
Use immutable build inputs, isolated builds, signed records of each build's origin and release policy that promotes only digest-identified artifacts from Container Registry.
How to Check the Fix
A clean rebuild from the same approved inputs must produce the expected digest, signatures and origin records must verify, and release policy must reject any mutable or unidentified input.

Cross-Reference Evidence (Illustrative). This is cross-reference evidence showing how source, build and runtime records form one release chain. In a real engagement each item below is a live pointer: a file-and-line link into the source repository, a reproducible read-only query against the deployed Azure environment, or replayable tool output. Here they lead to newly authored public demonstrations.

  • Example immutable source reference

    This is cross-reference evidence. A real assessment links a conclusion to the reviewed commit and exact lines so another technical reader can inspect the same enforcement point.

    if not policy.can_access(actor, record):
        raise Forbidden()
  • Example build digest and scanner output

    This is cross-reference evidence. A real report retains the command, tool version, safe input boundary and output needed to reproduce the conclusion.

    security-check --target "<illustrative-target>" --format json
    Illustrative output: {"result":"control verified"}
  • Example configuration record of the running image

    This is cross-reference evidence. A real assessment records the dated read-only query, the relevant property and the evidence limit without exposing credentials or customer data.

    az resource show --ids "<illustrative-resource-id>" \
      --query "properties.exampleControl"
    
    Illustrative output: {"exampleControl":"enabled"}

Illustrative only - not an engagement finding

Manual Deployment Path Bypasses Security and Approval Gates

High See where this finding applies on the diagrams: delivery zone [planned] · CP6 supply-chain gate
Ease of Attack
Requires deployment access
Impact
Unreviewed code reaches production
Detection Difficulty
Apparent from release history and audit trails
Pattern
Example governed-delivery pattern
Business Summary
A manual production path breaks the evidence chain from reviewed source to running service and allows required security checks or approvals to be skipped when delivery pressure is highest.
Possible Weakness
Production releases are assembled or deployed manually without mandatory code, dependency, secret and container checks.
Potential Impact
Untested, vulnerable or unapproved code could reach production without a trustworthy connection to reviewed source.
What an Assessment Verifies
Compare repository state, Azure DevOps pipeline output, approvals, deployment records and the digest of the artifact running in Container Apps.
Expected Fix
Use governed continuous delivery in Azure DevOps with mandatory scans, approval gates, immutable promotion evidence and a tested rollback path.
How to Check the Fix
Production must accept only the approved pipeline identity and digest, direct deployment attempts must fail, the running artifact must match promotion evidence and rollback must succeed in a controlled test.

Cross-Reference Evidence (Illustrative). This is cross-reference evidence showing how the private reports connect this example’s verification to complementary sources. In a real engagement each item below is a live pointer: a file-and-line link into the source repository, a reproducible read-only query against the deployed Azure environment, or replayable tool output. Here they lead to newly authored public demonstrations.

  • Example read-only Azure evidence record

    This is cross-reference evidence. A real assessment records the dated read-only query, the relevant property and the evidence limit without exposing credentials or customer data.

    az resource show --ids "<illustrative-resource-id>" \
      --query "properties.exampleControl"
    
    Illustrative output: {"exampleControl":"enabled"}
  • Example source-code evidence reference

    This is cross-reference evidence. A real assessment links a conclusion to the reviewed commit and exact lines so another technical reader can inspect the same enforcement point.

    if not policy.can_access(actor, record):
        raise Forbidden()
  • Example reproducible tool output

    This is cross-reference evidence. A real report retains the command, tool version, safe input boundary and output needed to reproduce the conclusion.

    security-check --target "<illustrative-target>" --format json
    Illustrative output: {"result":"control verified"}

Illustrative only - not an engagement finding

Container Workloads Use an Unrestricted Default Runtime Identity

Medium See where this finding applies on the diagrams: application zone · CP2 managed-identity edges
Ease of Attack
Requires code execution in the container
Impact
Greater filesystem and process privilege
Detection Difficulty
Visible in container runtime configuration review
Pattern
Example runtime-hardening pattern
Business Summary
A restricted container identity does not prevent vulnerable code from running, but it limits what that code can change and reduces the reach of a successful compromise.
Possible Weakness
An application container relies on the image default instead of explicitly declaring a restricted, non-root runtime identity.
Potential Impact
Successful code execution could gain unnecessary filesystem or process privileges and increase the impact of a container compromise.
What an Assessment Verifies
Inspect image configuration and Container Apps runtime settings for user identity, capabilities, writable paths and filesystem restrictions.
Expected Fix
Run each Container Apps workload as a dedicated non-root user, drop unnecessary capabilities and use read-only or narrowly writable filesystems.
How to Check the Fix
The running process must use the approved non-root identity, attempts to write protected paths or use removed capabilities must fail, and application health checks must still pass.

Cross-Reference Evidence (Illustrative). This is cross-reference evidence showing how the private reports connect this example’s verification to complementary sources. In a real engagement each item below is a live pointer: a file-and-line link into the source repository, a reproducible read-only query against the deployed Azure environment, or replayable tool output. Here they lead to newly authored public demonstrations.

  • Example read-only Azure evidence record

    This is cross-reference evidence. A real assessment records the dated read-only query, the relevant property and the evidence limit without exposing credentials or customer data.

    az resource show --ids "<illustrative-resource-id>" \
      --query "properties.exampleControl"
    
    Illustrative output: {"exampleControl":"enabled"}
  • Example source-code evidence reference

    This is cross-reference evidence. A real assessment links a conclusion to the reviewed commit and exact lines so another technical reader can inspect the same enforcement point.

    if not policy.can_access(actor, record):
        raise Forbidden()
  • Example reproducible tool output

    This is cross-reference evidence. A real report retains the command, tool version, safe input boundary and output needed to reproduce the conclusion.

    security-check --target "<illustrative-target>" --format json
    Illustrative output: {"result":"control verified"}

Illustrative only - not an engagement finding

Competing Package Inputs Make Builds Non-Deterministic

Low See where this finding applies on the diagrams: delivery zone [planned] · CP6 supply-chain gate
Ease of Attack
Requires influence over build inputs
Impact
Build drift and inconsistent remediation
Detection Difficulty
Visible in a review of the repository's build inputs
Pattern
Example reproducible-build pattern
Business Summary
Competing dependency instructions allow two builds that both look correct to contain different software, making vulnerability decisions and emergency release reproduction less dependable.
Possible Weakness
A project retains competing package-manager files, redundant dependency inputs or an unpinned build toolchain.
Potential Impact
Different environments could resolve different packages, making it harder to judge which vulnerabilities matter and to reproduce a release.
What an Assessment Verifies
Identify the authoritative package manager, lockfile, runtime version and clean-build procedure used for release.
Expected Fix
Keep one authoritative lockfile, pin the toolchain and require clean reproducible builds in the governed pipeline.
How to Check the Fix
Repeated clean builds on approved runners must resolve the same package set and artifact digest, while an unapproved lockfile or toolchain version must fail the pipeline.

Cross-Reference Evidence (Illustrative). This is cross-reference evidence showing how the private reports connect this example’s verification to complementary sources. In a real engagement each item below is a live pointer: a file-and-line link into the source repository, a reproducible read-only query against the deployed Azure environment, or replayable tool output. Here they lead to newly authored public demonstrations.

  • Example read-only Azure evidence record

    This is cross-reference evidence. A real assessment records the dated read-only query, the relevant property and the evidence limit without exposing credentials or customer data.

    az resource show --ids "<illustrative-resource-id>" \
      --query "properties.exampleControl"
    
    Illustrative output: {"exampleControl":"enabled"}
  • Example source-code evidence reference

    This is cross-reference evidence. A real assessment links a conclusion to the reviewed commit and exact lines so another technical reader can inspect the same enforcement point.

    if not policy.can_access(actor, record):
        raise Forbidden()
  • Example reproducible tool output

    This is cross-reference evidence. A real report retains the command, tool version, safe input boundary and output needed to reproduce the conclusion.

    security-check --target "<illustrative-target>" --format json
    Illustrative output: {"result":"control verified"}

Directed Logging, Monitoring and Response

DevOps includes dependable operation as well as delivery. Telemetry becomes an operational control only when a signal has a defined purpose, owner, response path and verification step.

Operational layer Expected outcome
Structured application logging Events contain consistent context without exposing sensitive information.
Azure activity and data-plane monitoring Security-relevant changes and access patterns become observable.
Actionable alerts Defined signals reach an owner through a tested response path.
Evidence retention Teams can show what happened, what decision followed and how the outcome was verified.

Fictional Security Examples

Illustrative Monitoring and Response Examples

Illustrative only - not an engagement finding

Privileged Changes and Sensitive Access Produce No Actionable Signal

Critical See where this finding applies on the diagrams: operations zone · CP9 alert routing
Ease of Attack
Not an attack path; extends undetected compromise
Impact
Serious changes continue without response
Detection Difficulty
Requires testing alert delivery end to end
Pattern
Example detection-and-response pattern
Business Summary
Preventive controls cannot contain every failure. If privileged changes and sensitive access produce no actionable signal, a serious compromise can continue without a timely owner or response.
Possible Weakness
High-impact identity changes and sensitive data access occur without a signal that reaches an accountable responder.
Potential Impact
A serious compromise could continue undetected while privileges, configuration or protected information are changed.
What an Assessment Verifies
Trace diagnostic sources into Azure Monitor and Log Analytics, then alert rules, notification delivery, ownership and a safe test event through the complete response path.
Expected Fix
Enable dependable audit signals in Azure Monitor, route them to an owned on-call path and retain evidence that delivery and response are tested.
How to Check the Fix
A safe test event that simulates a privileged change must create the expected alert, reach the accountable owner within the target time and leave retained evidence of acknowledgement and response.

Cross-Reference Evidence (Illustrative). This is cross-reference evidence showing how a configured signal is traced through collection, delivery and response. In a real engagement each item below is a live pointer: a file-and-line link into the source repository, a reproducible read-only query against the deployed Azure environment, or replayable tool output. Here they lead to newly authored public demonstrations.

  • Example Azure diagnostic and alert configuration record

    This is cross-reference evidence. A real assessment records the dated read-only query, the relevant property and the evidence limit without exposing credentials or customer data.

    az resource show --ids "<illustrative-resource-id>" \
      --query "properties.exampleControl"
    
    Illustrative output: {"exampleControl":"enabled"}
  • Example delivery result for a simulated test event

    This is cross-reference evidence. A real report retains the command, tool version, safe input boundary and output needed to reproduce the conclusion.

    security-check --target "<illustrative-target>" --format json
    Illustrative output: {"result":"control verified"}
  • Example application logging reference

    This is cross-reference evidence. A real assessment links a conclusion to the reviewed commit and exact lines so another technical reader can inspect the same enforcement point.

    if not policy.can_access(actor, record):
        raise Forbidden()

Illustrative only - not an engagement finding

Security Logs Are Not Centralized or Retained for Investigation

High See where this finding applies on the diagrams: operations zone · CP8 telemetry separation
Ease of Attack
Not an attack path; weakens investigation
Impact
Access scope cannot be reconstructed
Detection Difficulty
Visible in diagnostic settings and retention review
Pattern
Example retention-and-query pattern
Business Summary
Logs become useful only when investigators can find, trust and retain them. Short-lived service logs can disappear before a team knows that an investigation is required.
Possible Weakness
Authentication, authorization and data-plane events remain scattered across short-lived service logs.
Potential Impact
Investigators may be unable to reconstruct access, distinguish normal behaviour from misuse or determine the affected scope.
What an Assessment Verifies
Map which application and data services produce security logs, centralized collection in Log Analytics, retention periods, query access and protection against unauthorized alteration.
Expected Fix
Centralize security-relevant telemetry in Log Analytics, protect access, retain it for the required period and maintain tested investigation queries.
How to Check the Fix
Test sign-in and data access events must appear in the central store with usable context, and retention, query access and protection against alteration must match the approved policy.

Cross-Reference Evidence (Illustrative). This is cross-reference evidence showing how the private reports connect this example’s verification to complementary sources. In a real engagement each item below is a live pointer: a file-and-line link into the source repository, a reproducible read-only query against the deployed Azure environment, or replayable tool output. Here they lead to newly authored public demonstrations.

  • Example read-only Azure evidence record

    This is cross-reference evidence. A real assessment records the dated read-only query, the relevant property and the evidence limit without exposing credentials or customer data.

    az resource show --ids "<illustrative-resource-id>" \
      --query "properties.exampleControl"
    
    Illustrative output: {"exampleControl":"enabled"}
  • Example source-code evidence reference

    This is cross-reference evidence. A real assessment links a conclusion to the reviewed commit and exact lines so another technical reader can inspect the same enforcement point.

    if not policy.can_access(actor, record):
        raise Forbidden()
  • Example reproducible tool output

    This is cross-reference evidence. A real report retains the command, tool version, safe input boundary and output needed to reproduce the conclusion.

    security-check --target "<illustrative-target>" --format json
    Illustrative output: {"result":"control verified"}

Illustrative only - not an engagement finding

Alerts Exist Without an Owner or Tested Response Path

Medium See where this finding applies on the diagrams: operations zone · CP9 alert routing
Ease of Attack
Not an attack path; delays containment
Impact
Important alerts become unactioned noise
Detection Difficulty
Apparent from an inventory of alert owners
Pattern
Example ownership-and-escalation pattern
Business Summary
An alert that nobody owns is not an operational control. It becomes noise until a tested process shows who receives it, what they do and when the issue escalates.
Possible Weakness
Alert rules exist in configuration but lack a named owner, response runbook, escalation path or delivery test.
Potential Impact
Important signals can become noise, remain unread or reach people who cannot take timely action.
What an Assessment Verifies
Review Azure Monitor alert ownership, severity, notification targets, runbooks, escalation timing and the result of an end-to-end alert test.
Expected Fix
Give every actionable Azure Monitor alert an owner, response procedure, escalation route and retained evidence from regular delivery tests.
How to Check the Fix
A scheduled end-to-end test must be delivered, acknowledged and escalated within the approved response times, with retained evidence that the owner followed the current runbook.

Cross-Reference Evidence (Illustrative). This is cross-reference evidence showing how the private reports connect this example’s verification to complementary sources. In a real engagement each item below is a live pointer: a file-and-line link into the source repository, a reproducible read-only query against the deployed Azure environment, or replayable tool output. Here they lead to newly authored public demonstrations.

  • Example read-only Azure evidence record

    This is cross-reference evidence. A real assessment records the dated read-only query, the relevant property and the evidence limit without exposing credentials or customer data.

    az resource show --ids "<illustrative-resource-id>" \
      --query "properties.exampleControl"
    
    Illustrative output: {"exampleControl":"enabled"}
  • Example source-code evidence reference

    This is cross-reference evidence. A real assessment links a conclusion to the reviewed commit and exact lines so another technical reader can inspect the same enforcement point.

    if not policy.can_access(actor, record):
        raise Forbidden()
  • Example reproducible tool output

    This is cross-reference evidence. A real report retains the command, tool version, safe input boundary and output needed to reproduce the conclusion.

    security-check --target "<illustrative-target>" --format json
    Illustrative output: {"result":"control verified"}

Relationship to the Application Review

The Azure review assesses running configuration, service relationships and observable operational controls using safe, read-only evidence. The application review assesses source code, infrastructure as code, dependencies and delivery artifacts. Areas of overlap are intentionally compared. Agreement between the two evidence streams strengthens confidence, while differences reflect their distinct scopes and evidence boundaries.

Read the companion AI/LLM and application security review.

Public Edition and Disclosure

This purpose-built public edition is intended for external sharing. It contains no client names, tenant or subscription identifiers, resource names, internal URLs, work-item references, source paths, commit identifiers, screenshots, sample data, credentials, or combinations of details that could reconstruct a specific finding.

The severity-labelled material in Sections 4 through 8 consists only of newly authored fictional examples. It does not report, summarize or imply any engagement finding or actual severity rating.

Cross-reference links point only to newly authored demonstration evidence in Section 9. They are not client source links, Azure resource links or engagement tool output.

Limitations

This report explains the assessment scope, methodology, control domains and generalized security lessons. It does not reproduce client-specific findings, actual severity ratings, evidence, remediation status or current production configuration. Severity labels shown in Sections 4 through 8 apply only to newly authored fictional examples and do not describe the reviewed environment. It is not a penetration-test report, certification, assurance opinion or statement that any example weakness was present. Inclusion of a topic means it was assessed, not that a finding existed.

Public References