<?xml version="1.0" encoding="UTF-8" standalone="no"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" version="2.0">

<channel>
	<title>AWS Security Blog</title>
	<atom:link href="https://aws.amazon.com/blogs/security/feed/" rel="self" type="application/rss+xml"/>
	<link>https://aws.amazon.com/blogs/security/</link>
	<description>The latest AWS security, identity, and compliance launches, announcements, and how-to posts.</description>
	<lastBuildDate>Tue, 14 Apr 2026 22:52:51 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>Secure AI agent access patterns to AWS resources using Model Context Protocol</title>
		<link>https://aws.amazon.com/blogs/security/secure-ai-agent-access-patterns-to-aws-resources-using-model-context-protocol/</link>
					
		
		<dc:creator><![CDATA[Riggs Goodman III]]></dc:creator>
		<pubDate>Tue, 14 Apr 2026 22:52:51 +0000</pubDate>
				<category><![CDATA[AWS Identity and Access Management (IAM)]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Security, Identity, & Compliance]]></category>
		<category><![CDATA[IAM]]></category>
		<category><![CDATA[Identity & Compliance]]></category>
		<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">dc678ea0a34271860e12757b3cd6a9b2545ab889</guid>

					<description>AI agents and coding assistants interact with AWS resources through the Model Context Protocol (MCP). Unlike traditional applications with deterministic code paths, agents reason dynamically, choosing different tools or accessing different data depending on context. You must assume an agent can do anything within its granted entitlements, whether OAuth scopes, API keys, or AWS Identity […]</description>
										<content:encoded>&lt;div class="Page-articleBody"&gt; 
 &lt;div class="RichTextArticleBody RichTextBody"&gt; 
  &lt;p&gt;AI agents and coding assistants interact with AWS resources through the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://modelcontextprotocol.io/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Model Context Protocol (MCP)&lt;/a&gt;&lt;/span&gt;. Unlike traditional applications with deterministic code paths, agents reason dynamically, choosing different tools or accessing different data depending on context. You must assume an agent can do anything within its &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/ai/security/agentic-ai-scoping-matrix/" target="_blank" rel="noopener" data-cms-ai="0"&gt;granted entitlements&lt;/a&gt;&lt;/span&gt;, whether OAuth scopes, API keys, or &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Identity and Access Management (IAM)&lt;/a&gt;&lt;/span&gt; permissions, and design your controls accordingly. Agents operate at machine speed, so the impact of misconfigured permissions scales quickly.&lt;/p&gt; 
  &lt;p&gt;This blog post focuses on IAM as the authorization layer for AWS resource access and presents three security principles for building deterministic IAM controls for these non-deterministic AI systems. The principles apply whether you’re using AI coding assistants like &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://kiro.dev/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Kiro&lt;/a&gt;&lt;/span&gt; and Claude Code, or deploying agents on hosting environments like &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/what-is-bedrock-agentcore.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Bedrock AgentCore&lt;/a&gt;&lt;/span&gt;. We cover deployment patterns, then explore each principle with concrete IAM policy examples and implementation guidance.&lt;/p&gt; 
  &lt;p&gt;This post specifically addresses securing the MCP access path, where agents interact with AWS resources through MCP servers. AI coding assistants and agents can also access AWS service APIs directly through general-purpose tools like bash or shell execution, bypassing MCP servers entirely. For this reason, we recommend architecting agents to use MCP servers rather than direct service access where possible. MCP servers provide a layer of abstraction that enables the differentiation controls in principle 3 and creates additional monitoring capabilities through &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/cloudtrail" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS CloudTrail&lt;/a&gt;&lt;/span&gt;. When agents bypass MCP, the differentiation mechanisms in principle 3 don’t apply, and principles 1 and 2 become your primary controls. We discuss this scope boundary in principle 3.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;MCP deployment patterns&lt;/h2&gt; 
  &lt;/div&gt; 
  &lt;p&gt;Your deployment pattern determines which security principles and implementation approaches apply. Three dimensions define this pattern, including where the agent runs, what type of MCP server offers the tools, and your level of control over the agent code. No matter how you connect to it, the MCP server needs AWS credentials to interact with AWS resources.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;&lt;b&gt;Where agents run&lt;/b&gt;&lt;/h3&gt; 
  &lt;/div&gt; 
  &lt;p&gt;Agents access AWS resources from three locations: developer machines (where you control the infrastructure), hosting environments (where you control the infrastructure or significant aspects of it), and third-party agent platforms (where you do not control the infrastructure). This post focuses on the first two patterns. Each has a different credential model and different organizational control options.&lt;/p&gt; 
  &lt;h4&gt;AI coding assistants and local agents&lt;/h4&gt; 
  &lt;p&gt;AI coding assistants (&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://kiro.dev/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Kiro&lt;/a&gt;&lt;/span&gt;, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.anthropic.com/en/docs/claude-code/overview" target="_blank" rel="noopener" data-cms-ai="0"&gt;Claude Code&lt;/a&gt;&lt;/span&gt;) or local agent applications represent the first deployment pattern. These assistants run locally on developer machines and connect to MCP servers or use &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/cli" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Command Line Interface (AWS CLI)&lt;/a&gt;&lt;/span&gt; commands to access AWS resources. In this pattern, credentials come from the developer’s local environment. When a developer configures an MCP server in their &lt;code class="CodeInline" style="color: #000"&gt;mcp.json&lt;/code&gt; file, they specify which AWS credentials to use. Options include a &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;named profile&lt;/a&gt;&lt;/span&gt;, which can use credential helpers and the credential provider chain for short-lived credentials, environment variables, or explicit credential configuration. This means the developer controls which IAM principal the agent uses to access AWS. This creates a governance challenge. Without additional controls, developers often use their developer admin credentials, shared development roles, or even production roles for agent access. Developer credentials often carry broad permissions designed for interactive use, where human judgment serves as a safeguard. When an agent inherits these permissions, it operates without that judgment at machine speed. Principle 1 explores this risk in detail.&lt;/p&gt; 
  &lt;h4&gt;Agents on hosting environments&lt;/h4&gt; 
  &lt;p&gt;Agents deployed on hosting environments represent the second deployment pattern. These agents run on infrastructure you manage, not on developer machines. This changes the credential management model. Using &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/what-is-bedrock-agentcore.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Bedrock AgentCore&lt;/a&gt;&lt;/span&gt; as an example, when an agent runs on &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/agents-tools-runtime.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;AgentCore Runtime&lt;/a&gt;&lt;/span&gt;, it uses an execution IAM role that you configure when creating the runtime. The execution role’s permissions apply to all operations the agent performs and cannot be scoped down per-invocation at the runtime configuration level. For more granular control, agents can call &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/STS/latest/APIReference/welcome.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Security Token Service (AWS STS)&lt;/a&gt;&lt;/span&gt; &lt;code class="CodeInline" style="color: #000"&gt;AssumeRole&lt;/code&gt; or &lt;code class="CodeInline" style="color: #000"&gt;AssumeRoleWithWebIdentity&lt;/code&gt; (collectively referred to as &lt;code class="CodeInline" style="color: #000"&gt;AssumeRole&lt;/code&gt; in this post). This obtains temporary credentials with session policies that further restrict permissions beyond the role’s base permissions. Agents built with frameworks like Strands can also initialize individual MCP clients with different credential sets by calling &lt;code class="CodeInline" style="color: #000"&gt;AssumeRole&lt;/code&gt; and passing the resulting credentials to each client connection. This enables per-tool credential isolation within a single agent process. The same pattern applies to agents deployed on &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/ec2/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Elastic Compute Cloud (Amazon EC2&lt;/a&gt;&lt;/span&gt;) or &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Elastic Kubernetes Service (Amazon EKS)&lt;/a&gt;&lt;/span&gt;.&lt;/p&gt; 
  &lt;p&gt;With this centralized execution model, you can implement organizational controls. You define the available IAM roles through infrastructure configuration instead of relying on developer choice. However, you must design these roles carefully to prevent overly permissive access and implement session policies for tool-specific restrictions.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;&lt;b&gt;What type of MCP server&lt;/b&gt;&lt;/h3&gt; 
  &lt;/div&gt; 
  &lt;p&gt;MCP servers come in two types, provider-managed and self-managed. AWS-managed servers are operated by AWS on your behalf. Self-managed servers are servers that you install and run yourself. The server type affects your operational overhead, available features, and how you implement security controls.&lt;/p&gt; 
  &lt;p&gt;AWS offers fully managed MCP servers, including the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/aws-mcp/latest/userguide/what-is-mcp-server.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS MCP Server&lt;/a&gt;&lt;/span&gt;, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/eks/latest/userguide/eks-mcp-introduction.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon EKS MCP Server&lt;/a&gt;&lt;/span&gt;, and &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-mcp-introduction.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon ECS MCP Server&lt;/a&gt;&lt;/span&gt;. These AWS-managed servers run on AWS infrastructure and require no installation or maintenance on your part. AWS-managed MCP servers automatically add IAM context keys (&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-viaawsmcpservice" target="_blank" rel="noopener" data-cms-ai="0"&gt;aws:ViaAWSMCPService&lt;/a&gt;&lt;/span&gt; and &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-calledviaawsmcp" target="_blank" rel="noopener" data-cms-ai="0"&gt;aws:CalledViaAWSMCP&lt;/a&gt;&lt;/span&gt;) to every downstream AWS service call. You can write IAM policies that check these keys to distinguish between AI-driven actions and human-initiated actions without any additional configuration.&lt;/p&gt; 
  &lt;p&gt;Self-managed MCP servers include AWS-provided servers from the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://github.com/awslabs/mcp" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS MCP GitHub repository&lt;/a&gt;&lt;/span&gt; that you install and run yourself. They also include custom MCP servers that you build from scratch. With self-managed servers, you control the deployment location (local machine, Amazon EC2, Amazon EKS), the configuration, and the maintenance. These servers can be used with either AI coding assistants running locally or agents deployed on hosting environments. The key difference for security controls is that self-managed servers don’t automatically add IAM context keys for differentiation. You must configure the MCP server to add &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="http://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;session tags&lt;/a&gt;&lt;/span&gt; when assuming IAM roles if you require differentiation between AI-driven and human-initiated actions. This requires modifying your MCP server code to call AWS STS &lt;code class="CodeInline" style="color: #000"&gt;AssumeRole&lt;/code&gt; with tags attached. You then write IAM policies that check for these tags using the &lt;code class="CodeInline" style="color: #000"&gt;aws:PrincipalTag&lt;/code&gt; condition key. Self-managed servers can also be extended to implement dynamic authorization flows, such as mapping inbound OAuth tokens to outbound IAM role assumptions, giving you control over the full authorization chain. Additionally, with AWS-managed MCP servers, AWS injects context keys at the service layer, so callers cannot spoof them. With self-managed servers, the entity calling &lt;code class="CodeInline" style="color: #000"&gt;AssumeRole&lt;/code&gt; sets the session tags, so you must trust that your MCP server code hasn’t been modified.&lt;/p&gt; 
  &lt;p&gt;The responsibility model differs between server types. With AWS-managed MCP servers, AWS is responsible for server infrastructure, patching, and context key injection. You’re responsible for IAM policy design and credential configuration. With self-managed MCP servers, you’re additionally responsible for server patching, dependency and library supply chain security, session tag implementation, and verifying server integrity. This connects to the supply chain risk described in principle 1. While self-managed servers require more operational overhead to implement and maintain, they give you flexibility and control.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;&lt;b&gt;Level of client control&lt;/b&gt;&lt;/h3&gt; 
  &lt;/div&gt; 
  &lt;p&gt;A third dimension shapes your security implementation, whether you control the agent and MCP client code (code-controlled) or are limited to configuring pre-built tools without modifying their runtime behavior (configuration-bound). This determines which security mechanisms are available to you at runtime.&lt;/p&gt; 
  &lt;p&gt;In configuration-bound scenarios, you use an AI coding assistant such as Kiro or Claude Code and configure credentials in your &lt;code class="CodeInline" style="color: #000"&gt;mcp.json&lt;/code&gt; file. You select which IAM role or profile the agent uses, but you cannot modify the agent’s runtime behavior. The agent calls AWS APIs using whatever credentials you configured ahead of time, and you cannot inject session policies or tags into those calls programmatically. Your security controls must be in place before the agent runs. You select narrowly scoped roles at configuration time, and your organization enforces guardrails through permission boundaries and service control policies (SCPs). These mechanisms restrict what the agent can do regardless of which role the developer selects.&lt;/p&gt; 
  &lt;p&gt;In code-controlled scenarios, you build or deploy a custom agent on Amazon Bedrock AgentCore, Amazon EC2, Amazon EKS, or your local machine, or you build and run a custom MCP server. Because you control the runtime code, you can implement credential management programmatically. For custom agents, this means calling AssumeRole with session policies scoped to each tool invocation, attaching session tags for differentiation, and obtaining temporary credentials with the minimum permissions each operation requires. For custom MCP servers, you can inject session policies into every AWS API call the server makes, applying a consistent set of restrictions across all operations. Both approaches give you runtime IAM controls that are not available in config-bound scenarios.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;&lt;b&gt;Deployment pattern summary&lt;/b&gt;&lt;/h3&gt; 
  &lt;/div&gt; 
  &lt;p&gt;The following table summarizes how these dimensions combine.&lt;/p&gt; 
  &lt;table style="border-collapse: separate;text-indent: initial;border-spacing: 2px;border-color: gray;width: 100%" border="1px" cellpadding="10px"&gt; 
   &lt;tbody&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;&lt;b&gt;Source type&lt;/b&gt;&lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;&lt;b&gt;MCP server type&lt;/b&gt;&lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;&lt;b&gt;Client control&lt;/b&gt;&lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;&lt;b&gt;Credential source&lt;/b&gt;&lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;&lt;b&gt;Differentiation mechanism&lt;/b&gt;&lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;&lt;b&gt;Example use case&lt;/b&gt;&lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;AI coding assistant&lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;AWS-managed MCP&lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;Config-bound&lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;Local (AWS CLI, env vars, )&lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;Automatic context keys&lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;Kiro calling AWS-managed MCP server&lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;AI coding assistant&lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;Self-managed MCP (local or remote)&lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;Config-bound&lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;Local (AWS CLI, env vars, )&lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;Manual session tags or session policies&lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;Kiro calling local AWS MCP server&lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;Agent on hosting environment&lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;AWS-managed MCP&lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;Code-controlled&lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;Execution role or AssumeRole&lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;Automatic context keys&lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;Amazon Bedrock AgentCore agent calling AWS-managed MCP server&lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;Agent on hosting environment&lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;Self-managed MCP (remote)&lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;Code-controlled&lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;Execution role or AssumeRole&lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;Manual session tags or session policies&lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt;Agent calling AWS MCP server deployed on Amazon Bedrock AgentCore&lt;/td&gt; 
    &lt;/tr&gt; 
   &lt;/tbody&gt; 
  &lt;/table&gt; 
  &lt;p&gt;Your deployment pattern and level of client control determine which of the following security principles apply and how you implement them.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Three security principles for agent access&lt;/h2&gt; 
  &lt;/div&gt; 
  &lt;p&gt;With this understanding of deployment patterns, let’s explore the three security principles that apply across all patterns.&lt;/p&gt; 
  &lt;ul id="rte-6b2a6aa0-29d9-11f1-bf43-9be671b54ca9" class="rte2-style-ul"&gt; 
   &lt;li&gt;&lt;b&gt;Principle 1 – Assume all granted permissions could be used:&lt;/b&gt; Design permissions based on the acceptable scope of impact, not intended functionality alone.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Principle 2 – Provide organizational guidance on role usage:&lt;/b&gt; Enforce permission design through role governance, session policies, permission boundaries, and organizational policies.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Principle 3 – Differentiate AI-driven from human-initiated actions:&lt;/b&gt; Apply different IAM rules based on whether the action comes from an agent or a human.&lt;/li&gt; 
  &lt;/ul&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;&lt;b&gt;Security principle 1: Assume all granted permissions could be used&lt;/b&gt;&lt;/h3&gt; 
  &lt;/div&gt; 
  &lt;p&gt;The first security principle is fundamental. Any permission you grant to an agent can be exercised, regardless of your intended use case. If you give an agent &lt;code class="CodeInline" style="color: #000"&gt;s3:DeleteObject&lt;/code&gt; permission with a tool that can call the API, you must assume it can delete any &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Simple Storage Service (Amazon S3)&lt;/a&gt;&lt;/span&gt; object it has access to. This can happen in ways you cannot predict or fully prevent through code review alone. This non-deterministic behavior requires a shift in your approach to IAM permissions.&lt;/p&gt; 
  &lt;p&gt;Traditional applications follow deterministic code paths. You can review the source code, identify every API call, and grant the permissions needed. AI agents operate differently. They make decisions at runtime based on reasoning, context, and learned patterns. You cannot predict which AWS APIs or tools an agent will call or which resources it will access. Static analysis of agent code tells you what tools are available, but not which tools will be invoked or how they’ll be used.&lt;/p&gt; 
  &lt;p&gt;This creates a challenge when developers configure agents to use AWS credentials. Developers commonly use existing IAM roles, such as the role their traditional application uses or their local admin role for the AWS CLI. These roles were designed assuming predictable behavior and human judgment. Your local admin role has &lt;code class="CodeInline" style="color: #000"&gt;s3:*&lt;/code&gt; permissions because you exercise judgment on what to delete and when. You understand the context, recognize production resources, and can assess the impact of your actions.&lt;/p&gt; 
  &lt;p&gt;An agent with that same role operates at machine speed without human judgment. It can delete production data through hallucination or be directed through prompt injection to perform unintended actions. It can also make a logical error in its reasoning that leads to unintended operations. The speed and scale at which agents operate increases the potential scope of these issues. An agent can make thousands of API calls in seconds, so the impact of misconfigured permissions scales quickly.&lt;/p&gt; 
  &lt;p&gt;Consider the following scenarios with overly permissive access.&lt;/p&gt; 
  &lt;ul id="rte-6b2a6aa1-29d9-11f1-bf43-9be671b54ca9" class="rte2-style-ul"&gt; 
   &lt;li&gt;&lt;b&gt;Hallucination:&lt;/b&gt; The agent misinterprets a user request and performs the wrong action. An agent designed to clean up temporary files might hallucinate that production data is temporary and delete it.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Prompt injection:&lt;/b&gt; An outside party crafts unexpected input that influences the agent’s reasoning. An agent designed to query &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon DynamoDB&lt;/a&gt;&lt;/span&gt; tables could be directed to call &lt;code class="CodeInline" style="color: #000"&gt;dynamodb:PutItem&lt;/code&gt; or &lt;code class="CodeInline" style="color: #000"&gt;dynamodb:DeleteItem&lt;/code&gt; on resources outside its intended scope.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Logic errors:&lt;/b&gt; The agent’s reasoning leads to an incorrect conclusion. An agent analyzing S3 storage costs might conclude that frequently accessed production data is unused and delete it to save costs.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Tool poisoning: &lt;/b&gt;A compromised MCP server or dependency performs unintended operations using the agent’s credentials. An agent with broad S3 and DynamoDB permissions connects to an MCP server whose dependency has been modified to exfiltrate data. The compromised tool reads sensitive objects and writes them to an attacker-controlled location, all within the agent’s granted permissions.&lt;/li&gt; 
  &lt;/ul&gt; 
  &lt;p&gt;This security principle reframes how you approach IAM permissions for agents. Instead of asking &lt;i&gt;what does the agent need to do?&lt;/i&gt;, ask &lt;i&gt;what is the scope of impact if the agent acts outside its intended use case?&lt;/i&gt; Design permissions based on the acceptable scope of access, not only on intended functionality. If an agent needs to read S3 objects, grant &lt;code class="CodeInline" style="color: #000"&gt;s3:GetObject&lt;/code&gt;, not &lt;code class="CodeInline" style="color: #000"&gt;s3:*&lt;/code&gt;. If it needs to write to specific paths, use resource-level conditions to restrict access to those paths. Consider what tools the agent has access to and what API calls those tools can make. Design permissions that limit what the agent is allowed to perform based on organizational policy. This doesn’t mean agents can’t have write or delete permissions. It means you and your organization must consider what resources those permissions apply to and what safeguards are in place.&lt;/p&gt; 
  &lt;p&gt;Beyond IAM policies, consider implementing data perimeters as an additional layer of defense. Data perimeters use VPC endpoint policies, resource control policies (RCPs), resource policies, and service control policies (SCPs) to restrict access based on identity, resource, and network boundaries. For agents, data perimeters help verify that even if IAM permissions are broader than intended, access is limited to trusted resources from expected networks. For more information, see &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/whitepapers/latest/building-a-data-perimeter-on-aws/building-a-data-perimeter-on-aws.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;Building a data perimeter on AWS&lt;/a&gt;&lt;/span&gt;.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Practical implementation guidance:&lt;/b&gt;&lt;/p&gt; 
  &lt;ul id="rte-6b2a6aa2-29d9-11f1-bf43-9be671b54ca9" class="rte2-style-ul"&gt; 
   &lt;li&gt;&lt;b&gt;Apply least privilege rigorously:&lt;/b&gt; If an agent needs read access, grant read permissions. If it needs write access, grant write to specific resources, not all resources of that type.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Use resource-level restrictions:&lt;/b&gt; Employ IAM policy conditions to limit permissions to specific buckets, paths, tables, or other resources. Don’t grant blanket permissions across all resources.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Consider read-only alternatives:&lt;/b&gt; Evaluate whether the agent’s task can be accomplished with read-only access. Many analysis and reporting tasks don’t require write or delete permissions.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Implement comprehensive monitoring:&lt;/b&gt; Set up &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Alarms.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon CloudWatch alarms&lt;/a&gt;&lt;/span&gt; for unexpected agent actions, unusual access patterns, or operations on sensitive resources. Monitor for sensitive operations like deletions or modifications to production resources.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Conduct regular permission audits:&lt;/b&gt; As agents gain new tools and capabilities, developers often add permissions incrementally without removing unused ones. An agent that started with read-only access can gradually accumulate write and delete permissions across multiple services. Review agent IAM roles and policies regularly to identify and remove permissions that are no longer needed.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Verify MCP server integrity:&lt;/b&gt; Verify the provenance and integrity of MCP servers before granting them access to AWS credentials. Maintain an organizational registry of approved MCP servers and their expected behavior, and monitor for unauthorized server deployments that might have assumed execution roles. For more on agentic application risks, see the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/" target="_blank" rel="noopener" data-cms-ai="0"&gt;OWASP Top 10 for Agentic Applications&lt;/a&gt;&lt;/span&gt;.&lt;/li&gt; 
  &lt;/ul&gt; 
  &lt;p&gt;Security principle 1 establishes the foundation. Understand the scope of every permission you grant. The next two security principles build on this foundation.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;&lt;b&gt;Security principle 2: Provide organizational guidance on role usage&lt;/b&gt;&lt;/h3&gt; 
  &lt;/div&gt; 
  &lt;p&gt;The second security principle addresses organizational governance. Principle 1 requires that you design permissions based on acceptable scope of impact. Principle 2 addresses how your organization enforces that design through role governance, session policies, permission boundaries, and organizational policies.&lt;/p&gt; 
  &lt;p&gt;When developers adopt AI coding assistants and configure MCP servers, they choose which credentials to use. Without organizational controls, developers often use existing roles (such as personal admin roles, shared development roles, or production roles) that were designed for human use with far more permissions than agents need. For agents deployed on hosting environments, you configure execution roles, but the same question applies. What permissions should those roles have, and how do you enforce consistency across deployments? The answer depends on your level of client control.&lt;/p&gt; 
  &lt;h4&gt;When you control the agent code&lt;/h4&gt; 
  &lt;p&gt;When you build or deploy custom agents on Amazon Bedrock AgentCore, Amazon EC2, Amazon EKS, or locally, you control the runtime code and can implement dynamic credential management. This is the strongest enforcement model because you can scope permissions per tool invocation at runtime. The same applies if you build or modify a custom MCP server. Because you control the server code, you can inject session policies into every AWS API call the server makes.&lt;/p&gt; 
  &lt;p&gt;The IAM role defines the permission ceiling for the agent across all its tools. Instead of creating a separate role for every tool or MCP server, you use session policies to scope down the role’s permissions per operation. When the agent invokes a specific tool, it calls &lt;code class="CodeInline" style="color: #000"&gt;AssumeRole&lt;/code&gt; with a session policy that restricts permissions to just what that tool requires. The effective permissions are the intersection of the role’s policies and the session policy. Session policies restrict permissions but never expand them. If a role grants broad permissions but you attach the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/aws-managed-policy/latest/reference/ReadOnlyAccess.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;ReadOnlyAccess&lt;/a&gt;&lt;/span&gt; managed policy as a session policy, the agent can only perform read operations. You can also use inline session policies for resource-specific restrictions, such as limiting access to specific S3 buckets or DynamoDB tables.&lt;/p&gt; 
  &lt;p&gt;The following example shows how to implement session policies in agent code.&lt;/p&gt; 
  &lt;div class="Enhancement" data-align-center=""&gt; 
   &lt;div class="Enhancement-item"&gt; 
    &lt;div class="CodeBlockWP hide-language"&gt; 
     &lt;div class="code-toolbar"&gt; 
      &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;import boto3

# Uses the execution IAM role as part of AgentCore Runtime
sts = boto3.client('sts')

# Assume role with ReadOnlyAccess managed policy as session policy
response = sts.assume_role(
    RoleArn='arn:aws:iam::111122223333:role/AgentDataRole',
    RoleSessionName='agent-data-reader',
    PolicyArns=[
        {'arn': 'arn:aws:iam::aws:policy/ReadOnlyAccess'}
    ],
    DurationSeconds=3600
)

# Use the temporary credentials
credentials = response['Credentials']
s3 = boto3.client(
    's3',
    aws_access_key_id=credentials['AccessKeyId'],
    aws_secret_access_key=credentials['SecretAccessKey'],
    aws_session_token=credentials['SessionToken']
)
&lt;/code&gt;&lt;/pre&gt; 
     &lt;/div&gt; 
    &lt;/div&gt; 
   &lt;/div&gt; 
  &lt;/div&gt; 
  &lt;p&gt;For agents on hosting environments like Amazon Bedrock AgentCore, the execution role serves two purposes. It’s the trust anchor that lets the agent call &lt;code class="CodeInline" style="color: #000"&gt;AssumeRole&lt;/code&gt; for tool-specific credentials, and it can supply baseline permissions that all operations need, such as writing logs to CloudWatch. For tool-specific operations that access customer resources, use &lt;code class="CodeInline" style="color: #000"&gt;AssumeRole&lt;/code&gt; with session policies to obtain scoped temporary credentials rather than using the execution role’s permissions directly. This centralized execution model simplifies enforcing consistent session policies across all agent deployments. Agents can also attach tags when assuming roles for differentiation purposes (covered in Security principle 3).&lt;/p&gt; 
  &lt;h4&gt;When you’re configuration bound&lt;/h4&gt; 
  &lt;p&gt;When you use an AI coding assistant like Kiro or Claude Code with off-the-shelf MCP servers, you configure credentials in your &lt;code class="CodeInline" style="color: #000"&gt;mcp.json&lt;/code&gt; file but cannot modify the agent’s runtime behavior. Your security controls must be established before the agent runs.&lt;/p&gt; 
  &lt;p&gt;Your first control is role selection. As described in the preceding deployment patterns section, AI coding assistants use credentials from the developer’s local environment. Create agent-specific IAM roles with narrower permissions than equivalent human roles, and direct developers to use them. For self-managed MCP servers running locally, the developer specifies the role through environment variables in the &lt;code class="CodeInline" style="color: #000"&gt;mcp.json&lt;/code&gt; configuration.&lt;/p&gt; 
  &lt;div class="Enhancement" data-align-center=""&gt; 
   &lt;div class="Enhancement-item"&gt; 
    &lt;div class="CodeBlockWP hide-language"&gt; 
     &lt;div class="code-toolbar"&gt; 
      &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;{
  "mcpServers": {
    "awslabs.aws-pricing-mcp-server": {
      "command": "uvx",
      "args": ["awslabs.aws-pricing-mcp-server@latest"],
      "env": {
        "AWS_PROFILE": "agent-dev-role",
        "AWS_REGION": "us-east-1"
      }
    }
  }
}
&lt;/code&gt;&lt;/pre&gt; 
     &lt;/div&gt; 
    &lt;/div&gt; 
   &lt;/div&gt; 
  &lt;/div&gt; 
  &lt;p&gt;For AWS-managed MCP servers, the developer connects through the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://github.com/aws/mcp-proxy-for-aws" target="_blank" rel="noopener" data-cms-ai="0"&gt;mcp-proxy-for-aws&lt;/a&gt;&lt;/span&gt; proxy and specifies the role through the profile parameter.&lt;/p&gt; 
  &lt;div class="Enhancement" data-align-center=""&gt; 
   &lt;div class="Enhancement-item"&gt; 
    &lt;div class="CodeBlockWP hide-language"&gt; 
     &lt;div class="code-toolbar"&gt; 
      &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;{
  "mcpServers": {
    "aws-mcp": {
      "command": "uvx",
      "args": [
        "mcp-proxy-for-aws@latest",
        "https://aws-mcp.us-east-1.api.aws/mcp",
        "--profile", "agent-dev-role",
        "--metadata", "AWS_REGION=us-east-1"
      ]
    }
  }
}
&lt;/code&gt;&lt;/pre&gt; 
     &lt;/div&gt; 
    &lt;/div&gt; 
   &lt;/div&gt; 
  &lt;/div&gt; 
  &lt;p&gt;Only role selection depends on developer compliance. &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;IAM permission boundaries&lt;/a&gt;&lt;/span&gt; provide organizational enforcement without requiring code changes or developer cooperation. A permission boundary is a managed policy that your security team attaches to an IAM role to set the maximum permissions that role can grant. The effective permissions are the intersection of the role’s identity-based policies and the permission boundary. Permission boundaries are most effective on agent-specific roles that your organization creates for agent use. They ensure those roles cannot exceed their intended permissions even if misconfigured. If a developer configures their existing role in &lt;code class="CodeInline" style="color: #000"&gt;mcp.json&lt;/code&gt; instead, a permission boundary on that role restricts all use of the role, not just agent use. For AWS-managed MCP servers, principle 3’s context keys address this gap. They let you write IAM policies that restrict actions only when they come through an MCP server, leaving the developer’s direct use of the same role unaffected. For self-managed MCP servers, modifying the server code to &lt;code class="CodeInline" style="color: #000"&gt;AssumeRole&lt;/code&gt; into an organization-defined role provides a similar override, and session tags can be attached during that &lt;code class="CodeInline" style="color: #000"&gt;AssumeRole&lt;/code&gt; for differentiation (see principle 3). For multi-account environments, SCPs in &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Organizations&lt;/a&gt;&lt;/span&gt; provide guardrails at the account or organizational unit level. SCPs set the maximum permissions for all principals in an account, giving your central governance team control over agent permissions across your organization.&lt;/p&gt; 
  &lt;h4&gt;Organizational governance at scale&lt;/h4&gt; 
  &lt;p&gt;Whether your agents are config-bound or code-controlled, you need organizational mechanisms to enforce consistent governance across teams and accounts.&lt;/p&gt; 
  &lt;p&gt;Tag IAM roles intended for agent use with a consistent identifier, such as a tag key of &lt;code class="CodeInline" style="color: #000"&gt;Usage&lt;/code&gt; with a value of &lt;code class="CodeInline" style="color: #000"&gt;Agent&lt;/code&gt;. This lets your governance team inventory all agent roles across accounts, identify roles that don’t have permission boundaries, and distinguish agent roles from human roles in audit reports. You can also use tag-based conditions in SCPs to enforce that only properly tagged roles are used for agent operations. For AWS-managed MCP servers, the automatic context keys (principle 3) provide this identification without requiring role tags, but tagging remains useful for role inventory and audit purposes.&lt;/p&gt; 
  &lt;p&gt;Use CloudTrail to monitor all API calls made by agent sessions and set up CloudWatch alarms for sensitive operations like resource deletion or permission changes. Principle 3 covers how to filter and analyze agent activity using context keys (AWS-managed MCP) and session tags (self-managed MCP).&lt;/p&gt; 
  &lt;p&gt;For multi-account environments, combine SCPs with permission boundaries and resource control policies (RCPs) for layered enforcement. SCPs set the maximum permissions for principals within your organization at the account or organizational unit level, while permission boundaries constrain individual roles. RCPs enforce controls at the resource level regardless of the caller’s organizational membership, protecting resources even from cross-account access. Verify that the AWS services you use support MCP context keys in RCP evaluation. This layered approach gives your central governance team control over agent permissions across your organization, even when individual teams manage their own accounts and roles. Conduct quarterly reviews of agent roles and session policies to identify permissions that are no longer needed as agent capabilities evolve.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Practical implementation guidance:&lt;/b&gt;&lt;/p&gt; 
  &lt;ul id="rte-6b2a6aa3-29d9-11f1-bf43-9be671b54ca9" class="rte2-style-ul"&gt; 
   &lt;li&gt;&lt;b&gt;For code controlled agents:&lt;/b&gt; Implement session policies for every tool invocation. Use &lt;code class="CodeInline" style="color: #000"&gt;AssumeRole&lt;/code&gt; with the minimum permissions each operation requires rather than relying on the execution role’s base permissions.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;For config-bound agents:&lt;/b&gt; Create agent-specific IAM roles with narrower permissions than human roles or configure self-managed MCP servers to &lt;code class="CodeInline" style="color: #000"&gt;AssumeRole&lt;/code&gt; into an organization-defined role. Have your security team attach permission boundaries to agent-specific roles to enforce maximum permissions regardless of developer role selection.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;At the organization level:&lt;/b&gt; Tag agent roles consistently, enforce guardrails through SCPs, and monitor agent activity through CloudTrail. Conduct quarterly reviews to remove unused permissions.&lt;/li&gt; 
  &lt;/ul&gt; 
  &lt;p&gt;Security principle 2 gives you organizational control over agent permissions through mechanisms matched to your level of client control. Session policies and dynamic credential scoping enforce permissions at runtime for code-controlled agents. Permission boundaries and SCPs enforce permissions at the organizational level for config-bound agents. The next principle adds a complementary layer of governance at the resource level based on whether a human or agent is performing the action.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;&lt;b&gt;Security principle 3: Differentiate AI-driven from human-initiated actions&lt;/b&gt;&lt;/h3&gt; 
  &lt;/div&gt; 
  &lt;p&gt;The third security principle adds an additional level of control on top of principle 2. Where principle 2 governs what permissions an agent has, this principle governs what the agent can do with those permissions based on whether the action is AI-driven or human-initiated.&lt;/p&gt; 
  &lt;p&gt;This principle is essential for two reasons. For AWS-managed MCP servers, you cannot modify the server code to inject session policies or call AssumeRole with scoped credentials. The developer’s credentials flow through as-is. Context keys are your primary mechanism to restrict agent actions differently from human-initiated actions on the same role. For self-managed MCP servers where principle 2’s session policies are already in place, differentiation adds a second layer of defense at the resource level. Even if the session policy is broader than intended, differentiation policies can deny specific dangerous operations when performed through an agent.&lt;/p&gt; 
  &lt;p&gt;For example, you can allow both humans and agents to read Amazon S3 objects, but deny delete operations when accessed through agents. Without a differentiation mechanism, IAM policies can’t distinguish between AI-driven actions and human-initiated actions. If a developer has &lt;code class="CodeInline" style="color: #000"&gt;s3:DeleteObject&lt;/code&gt; permission and uses an agent with their credentials, the agent also has &lt;code class="CodeInline" style="color: #000"&gt;s3:DeleteObject&lt;/code&gt; permission with no way to restrict it.&lt;/p&gt; 
  &lt;p&gt;Differentiation gives you granular governance. Allow human-initiated actions with broad permissions while restricting agent actions to narrower permissions. Apply different rules based on context and implement progressive restrictions. Allow read operations for everyone, require approval for AI-driven write operations, and deny delete operations for agent actions entirely. Maintain audit trails showing which actions were AI-driven versus human-initiated, essential for compliance and security investigations.&lt;/p&gt; 
  &lt;h4&gt;When agents bypass MCP servers&lt;/h4&gt; 
  &lt;p&gt;Differentiation through condition keys and session tags applies when the agent accesses AWS through an MCP server. AI coding assistants like Kiro and Claude Code have access to general-purpose tools, including bash, shell, and code execution. When an agent uses a bash tool to run an AWS CLI command like &lt;code class="CodeInline" style="color: #000"&gt;aws s3 rm s3://my-bucket/my-object&lt;/code&gt; or executes a Python script that calls boto3 directly, the request goes straight to AWS using the developer’s existing credentials. The request bypasses MCP servers entirely. The &lt;code class="CodeInline" style="color: #000"&gt;aws:ViaAWSMCPService&lt;/code&gt; condition key isn’t set, session tags from MCP server &lt;code class="CodeInline" style="color: #000"&gt;AssumeRole&lt;/code&gt; calls aren’t applied, and IAM policies conditioned on these values don’t evaluate.&lt;/p&gt; 
  &lt;p&gt;This means a deny policy like &lt;code class="CodeInline" style="color: #000"&gt;“Condition": {"Bool": {"aws:ViaAWSMCPService": “true"}}&lt;/code&gt; blocks the agent when it calls Amazon S3 through a managed MCP server, but doesn’t block the same agent when it runs the equivalent AWS CLI command through a bash tool. The agent has two paths to the same AWS API, and differentiation controls govern one path.&lt;/p&gt; 
  &lt;p&gt;The condition keys work as designed, differentiating MCP-mediated access from direct access. This is a scope boundary. Differentiation controls secure the MCP access path. For the direct access path, principles 1 and 2 are your controls. Least privilege on the underlying IAM role (principle 1) and organizational guardrails like permission boundaries and SCPs (principle 2) apply regardless of how the agent reaches AWS. If the role doesn’t have &lt;code class="CodeInline" style="color: #000"&gt;s3:DeleteObject&lt;/code&gt; permission, the agent can’t delete objects through a bash tool or through an MCP server.&lt;/p&gt; 
  &lt;p&gt;Restricting which tools an agent can access is a complementary control outside the scope of IAM. You can use agent frameworks and hosting environments such as Amazon Bedrock AgentCore to limit the set of available tools, removing general-purpose execution capabilities for agents that interact with AWS exclusively through MCP servers. When you combine tool restriction with the IAM controls in this post, you close the gap between the MCP access path and the direct access path.&lt;/p&gt; 
  &lt;h4&gt;AWS-managed MCP servers: Automatic context keys&lt;/h4&gt; 
  &lt;p&gt;AWS-managed MCP servers, including the AWS MCP Server, Amazon EKS MCP Server, and Amazon ECS MCP Server, offer differentiation by default. They automatically add IAM context keys to every downstream AWS service call. These context keys are &lt;code class="CodeInline" style="color: #000"&gt;aws:ViaAWSMCPService&lt;/code&gt;, a boolean set to &lt;code class="CodeInline" style="color: #000"&gt;true&lt;/code&gt; when the request comes through any AWS-managed MCP server. The second key is &lt;code class="CodeInline" style="color: #000"&gt;aws:CalledViaAWSMCP&lt;/code&gt;, a string containing the MCP server name like &lt;code class="CodeInline" style="color: #000"&gt;aws-mcp.amazonaws.com&lt;/code&gt;, &lt;code class="CodeInline" style="color: #000"&gt;eks-mcp.amazonaws.com&lt;/code&gt;, or &lt;code class="CodeInline" style="color: #000"&gt;ecs-mcp.amazonaws.com&lt;/code&gt;. No configuration is required on your part. You only need to write IAM policies that check for these keys to apply different rules for agent actions.&lt;/p&gt; 
  &lt;p&gt;The following IAM policy denies delete operations when accessed through any AWS-managed MCP server.&lt;/p&gt; 
  &lt;div class="Enhancement" data-align-center=""&gt; 
   &lt;div class="Enhancement-item"&gt; 
    &lt;div class="CodeBlockWP hide-language"&gt; 
     &lt;div class="code-toolbar"&gt; 
      &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;{
  "Version": "2012-10-17",
  "Statement": [{
    "Sid": "AllowS3ReadOperations",
    "Effect": "Allow",
    "Action": [
      "s3:GetObject",
      "s3:ListBucket"
    ],
    "Resource": "*"
  }, {
    "Sid": "DenyDeleteWhenAccessedViaMCP",
    "Effect": "Deny",
    "Action": [
      "s3:DeleteObject",
      "s3:DeleteBucket"
    ],
    "Resource": "*",
    "Condition": {
      "Bool": {
        "aws:ViaAWSMCPService": "true"
      }
    }
  }]
}
&lt;/code&gt;&lt;/pre&gt; 
     &lt;/div&gt; 
    &lt;/div&gt; 
   &lt;/div&gt; 
  &lt;/div&gt; 
  &lt;p&gt;When a request doesn’t come through an AWS-managed MCP server, the &lt;code class="CodeInline" style="color: #000"&gt;aws:ViaAWSMCPService&lt;/code&gt; condition key isn’t present in the request context. The &lt;code class="CodeInline" style="color: #000"&gt;Deny&lt;/code&gt; statement only applies when the key is explicitly set to &lt;code class="CodeInline" style="color: #000"&gt;true&lt;/code&gt;, so human-initiated actions are unaffected by this policy.&lt;/p&gt; 
  &lt;p&gt;You can also restrict operations to specific MCP servers. With this policy, you can run EKS operations only when accessed through the EKS MCP server, not through the AWS API MCP server.&lt;/p&gt; 
  &lt;div class="Enhancement" data-align-center=""&gt; 
   &lt;div class="Enhancement-item"&gt; 
    &lt;div class="CodeBlockWP hide-language"&gt; 
     &lt;div class="code-toolbar"&gt; 
      &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;{
  "Version": "2012-10-17",
  "Statement": [{
    "Sid": "AllowEKSOperationsViaEKSMCP",
    "Effect": "Allow",
    "Action": "eks:*",
    "Resource": "*",
    "Condition": {
      "StringEquals": {
        "aws:CalledViaAWSMCP": "eks-mcp.amazonaws.com"
      }
    }
  }, {
    "Sid": "DenyEKSOperationsViaOtherMCP",
    "Effect": "Deny",
    "Action": "eks:*",
    "Resource": "*",
    "Condition": {
      "Bool": {
        "aws:ViaAWSMCPService": "true"
      },
      "StringNotEquals": {
        "aws:CalledViaAWSMCP": "eks-mcp.amazonaws.com"
      }
    }
  }]
}&lt;/code&gt;&lt;/pre&gt; 
     &lt;/div&gt; 
    &lt;/div&gt; 
   &lt;/div&gt; 
  &lt;/div&gt; 
  &lt;h4&gt;Self-managed MCP servers: Manual session tags&lt;/h4&gt; 
  &lt;p&gt;Self-managed MCP servers, whether AWS-provided servers from the AWS MCP GitHub repository or custom servers you build yourself, don’t automatically add IAM context keys. To implement differentiation with self-managed servers, you must configure the MCP server to add session tags when assuming IAM roles. This requires modifying your MCP server to call AWS STS &lt;code class="CodeInline" style="color: #000"&gt;AssumeRole&lt;/code&gt; with tags attached. The tags remain active for the duration of the assumed role session and can be referenced in IAM policies using the &lt;code class="CodeInline" style="color: #000"&gt;aws:PrincipalTag&lt;/code&gt; condition key. This approach gives you flexibility and control over the session tag configuration. To maintain consistency, verify that all MCP server instances add the appropriate tags.&lt;/p&gt; 
  &lt;p&gt;The following example shows how to configure your MCP server to add session tags.&lt;/p&gt; 
  &lt;div class="Enhancement" data-align-center=""&gt; 
   &lt;div class="Enhancement-item"&gt; 
    &lt;div class="CodeBlockWP hide-language"&gt; 
     &lt;div class="code-toolbar"&gt; 
      &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;import boto3

sts = boto3.client('sts')

response = sts.assume_role(
    RoleArn='arn:aws:iam::111122223333:role/MCPServerRole',
    RoleSessionName='mcp-server-session',
    Tags=[
        {'Key': 'AccessType', 'Value': 'AI'},
        {'Key': 'Source', 'Value': 'AgentRuntime'},
        {'Key': 'MCPServer', 'Value': 'org-data-server'}
    ]
)

# Use the temporary credentials from response['Credentials']
credentials = response['Credentials']
&lt;/code&gt;&lt;/pre&gt; 
     &lt;/div&gt; 
    &lt;/div&gt; 
   &lt;/div&gt; 
  &lt;/div&gt; 
  &lt;p&gt;After your MCP server has added session tags, you can write IAM policies that check for these tags to differentiate agent actions.&lt;/p&gt; 
  &lt;div class="Enhancement" data-align-center=""&gt; 
   &lt;div class="Enhancement-item"&gt; 
    &lt;div class="CodeBlockWP hide-language"&gt; 
     &lt;div class="code-toolbar"&gt; 
      &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;{
  "Version": "2012-10-17",
  "Statement": [{
    "Sid": "AllowS3ReadOperations",
    "Effect": "Allow",
    "Action": [
      "s3:GetObject",
      "s3:ListBucket"
    ],
    "Resource": "*"
  }, {
    "Sid": "DenyDeleteWhenAccessedViaAI",
    "Effect": "Deny",
    "Action": [
      "s3:DeleteObject",
      "s3:DeleteBucket"
    ],
    "Resource": "*",
    "Condition": {
      "StringEquals": {
        "aws:PrincipalTag/AccessType": "AI"
      }
    }
  }]
}
&lt;/code&gt;&lt;/pre&gt; 
     &lt;/div&gt; 
    &lt;/div&gt; 
   &lt;/div&gt; 
  &lt;/div&gt; 
  &lt;p&gt;Session tags and session policies are both passed to &lt;code class="CodeInline" style="color: #000"&gt;AssumeRole&lt;/code&gt;, but serve different purposes. Session policies (covered in security principle 2) constrain what permissions the agent has. Session tags (covered here in security principle 3) mark the session as AI-driven, enabling IAM policies to differentiate between agent and human actions. You can use both in the same &lt;code class="CodeInline" style="color: #000"&gt;AssumeRole&lt;/code&gt; call for defense-in-depth. The session policy constrains what the agent can do. The session tags let IAM policies apply different rules based on the actor type.&lt;/p&gt; 
  &lt;p&gt;The following example uses both session policies and session tags together.&lt;/p&gt; 
  &lt;div class="Enhancement" data-align-center=""&gt; 
   &lt;div class="Enhancement-item"&gt; 
    &lt;div class="CodeBlockWP hide-language"&gt; 
     &lt;div class="code-toolbar"&gt; 
      &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;import boto3

sts = boto3.client('sts')

# Assume role with both managed session policy and tags
response = sts.assume_role(
    RoleArn='arn:aws:iam::111122223333:role/AgentDataRole',
    RoleSessionName='agent-data-reader',
    PolicyArns=[                              # Principle 2: Constrains permissions
        {'arn': 'arn:aws:iam::aws:policy/ReadOnlyAccess'}
    ],
    Tags=[                                    # Principle 3: Enables differentiation
        {'Key': 'AccessType', 'Value': 'AI'},
        {'Key': 'Source', 'Value': 'AgentRuntime'},
        {'Key': 'MCPServer', 'Value': 'org-data-server'}
    ],
    DurationSeconds=3600
)
&lt;/code&gt;&lt;/pre&gt; 
     &lt;/div&gt; 
    &lt;/div&gt; 
   &lt;/div&gt; 
  &lt;/div&gt; 
  &lt;h4&gt;CloudTrail logging and audit trails&lt;/h4&gt; 
  &lt;p&gt;Both differentiation mechanisms generate CloudTrail logs for audit trails. For AWS-managed MCP servers, downstream AWS API calls include the MCP service identifier in the &lt;code class="CodeInline" style="color: #000"&gt;invokedBy&lt;/code&gt;, &lt;code class="CodeInline" style="color: #000"&gt;sourceIPAddress&lt;/code&gt;, and &lt;code class="CodeInline" style="color: #000"&gt;userAgent&lt;/code&gt; fields. You can filter on these fields to isolate agent activity. MCP-originated downstream calls are classified as data events, so you must enable data event logging on your CloudTrail trail to capture them.&lt;/p&gt; 
  &lt;div class="Enhancement" data-align-center=""&gt; 
   &lt;div class="Enhancement-item"&gt; 
    &lt;div class="CodeBlockWP hide-language"&gt; 
     &lt;div class="code-toolbar"&gt; 
      &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;{
  "eventVersion": "1.11",
  "userIdentity": {
    "type": "AssumedRole",
    "principalId": "AROAEXAMPLE:developer-session",
    "arn": "arn:aws:sts::111122223333:assumed-role/DeveloperRole/developer-session",
    "accountId": "111122223333",
    "sessionContext": {
      "sessionIssuer": {
        "type": "Role",
        "principalId": "AROAEXAMPLE",
        "arn": "arn:aws:iam::111122223333:role/DeveloperRole",
        "accountId": "111122223333",
        "userName": "DeveloperRole"
      }
    },
    "invokedBy": "aws-mcp.amazonaws.com"
  },
  "eventSource": "s3.amazonaws.com",
  "eventName": "GetObject",
  "sourceIPAddress": "aws-mcp.amazonaws.com",
  "userAgent": "aws-mcp.amazonaws.com",
  "eventType": "AwsApiCall",
  "managementEvent": false,
  "eventCategory": "Data"
}
&lt;/code&gt;&lt;/pre&gt; 
     &lt;/div&gt; 
    &lt;/div&gt; 
   &lt;/div&gt; 
  &lt;/div&gt; 
  &lt;p&gt;For self-managed MCP servers with session tags, the tags appear in the &lt;code class="CodeInline" style="color: #000"&gt;requestParameters.principalTags&lt;/code&gt; field of the &lt;code class="CodeInline" style="color: #000"&gt;AssumeRole&lt;/code&gt; CloudTrail event. You can correlate the session name from the &lt;code class="CodeInline" style="color: #000"&gt;AssumeRole&lt;/code&gt; event to downstream API calls to trace agent activity.&lt;/p&gt; 
  &lt;div class="Enhancement" data-align-center=""&gt; 
   &lt;div class="Enhancement-item"&gt; 
    &lt;div class="CodeBlockWP hide-language"&gt; 
     &lt;div class="code-toolbar"&gt; 
      &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;{
  "eventSource": "sts.amazonaws.com",
  "eventName": "AssumeRole",
  "requestParameters": {
    "roleArn": "arn:aws:iam::111122223333:role/MCPServerRole",
    "roleSessionName": "mcp-server-session",
    "principalTags": {
      "AccessType": "AI",
      "Source": "AgentRuntime",
      "MCPServer": "org-data-server"
    }
  }
}
&lt;/code&gt;&lt;/pre&gt; 
     &lt;/div&gt; 
    &lt;/div&gt; 
   &lt;/div&gt; 
  &lt;/div&gt; 
  &lt;p&gt;With these logs, you can query CloudTrail to find all AI-driven actions and analyze patterns of agent behavior. You can also identify unexpected or unauthorized operations and maintain compliance audit trails. Set up CloudWatch alarms to detect agent actions on sensitive resources or unusual patterns that indicate unintended access or misconfiguration.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Things to consider&lt;/h2&gt; 
  &lt;/div&gt; 
  &lt;p&gt;When deciding between AWS-managed and self-managed MCP servers, consider the trade-offs. AWS-managed MCP servers offer the most straightforward path. Context keys are added automatically with no configuration on your part. Self-managed MCP servers require modifying code to add session tags. However, they give you complete control over the tags and let you implement custom functionality not available in AWS-managed servers. Organizations can use both approaches, AWS-managed servers for standard AWS operations and self-managed servers for specialized use cases.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Practical implementation guidance:&lt;/b&gt;&lt;/p&gt; 
  &lt;ul id="rte-6b2a6aa4-29d9-11f1-bf43-9be671b54ca9" class="rte2-style-ul"&gt; 
   &lt;li&gt;&lt;b&gt;Assess direct access paths:&lt;/b&gt; Evaluate whether your agents have access to general-purpose tools (bash, shell, code execution) that can bypass MCP servers. If they do, rely on principles 1 and 2 for those paths and consider restricting tool availability where possible.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Choose a differentiation mechanism:&lt;/b&gt; Select based on your MCP server type (for managed, use context keys, for self-managed, use session tags).&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;For AWS-managed MCP:&lt;/b&gt; Write IAM policies that check &lt;code class="CodeInline" style="color: #000"&gt;aws:ViaAWSMCPService&lt;/code&gt; and &lt;code class="CodeInline" style="color: #000"&gt;aws:CalledViaAWSMCP&lt;/code&gt; condition keys. No MCP server configuration needed.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;For self managed MCP:&lt;/b&gt; Modify MCP server code to add session tags when assuming roles. Verify consistent tag application across all instances.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Update IAM policies:&lt;/b&gt; Add differentiation conditions to existing policies. Test in non-production first to verify behavior.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Monitor CloudTrail logs:&lt;/b&gt; Verify differentiation is working by checking for context keys or session tags in CloudTrail events.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Set up alerts:&lt;/b&gt; Configure CloudWatch alarms for AI-driven sensitive operations or policy violations.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Perform regular audits:&lt;/b&gt; Review IAM policies quarterly to verify differentiation conditions remain correct as agent capabilities evolve.&lt;/li&gt; 
  &lt;/ul&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Conclusion&lt;/h2&gt; 
  &lt;/div&gt; 
  &lt;p&gt;Securing AI agent access to AWS resources requires building deterministic IAM controls for non-deterministic AI systems. The three security principles give you a defense-in-depth framework that adapts to your deployment pattern and level of client control.&lt;/p&gt; 
  &lt;p&gt;Your implementation path depends on your situation. Start with principle 1. Audit current agent permissions and default to read-only access where possible. Next, implement principle 2. For config-bound scenarios, establish permission boundaries and select agent-specific roles. For code-controlled scenarios, implement dynamic session policies scoped to each tool invocation. Finally, add principle 3 differentiation based on your MCP server type. Use automatic context keys with AWS-managed MCP servers, or configure session tags with self-managed servers.&lt;/p&gt; 
  &lt;p&gt;By applying these three security principles, you can use AI agents while maintaining the governance and compliance controls your organization requires.&lt;/p&gt; 
 &lt;/div&gt; 
&lt;/div&gt; 
&lt;footer&gt; 
 &lt;div class="blog-author-box"&gt; 
  &lt;div class="blog-author-image"&gt;
   &lt;img loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/04/13/riggsgoodman.goriggs-225x300.png" alt="Riggs Goodman III" width="225" height="300" class="alignnone size-medium wp-image-41790"&gt;
  &lt;/div&gt; 
  &lt;h3 class="lb-h4"&gt;Riggs Goodman III&lt;/h3&gt; 
  &lt;p&gt;Riggs is a Principal Solution Architect at AWS. His current focus is on AI security, providing technical guidance, architecture patterns, and leadership for customers and partners to build AI workloads on AWS. Internally, Riggs focuses on driving overall technical strategy and innovation across AWS service teams to address customer and partner challenges. &lt;/p&gt;
 &lt;/div&gt; 
&lt;/footer&gt;</content:encoded>
					
					
			
		
		
			</item>
		<item>
		<title>A framework for securely collecting forensic artifacts into S3 buckets</title>
		<link>https://aws.amazon.com/blogs/security/a-framework-for-securely-collecting-forensic-artifacts-into-s3-buckets/</link>
					
		
		<dc:creator><![CDATA[Jason Garman]]></dc:creator>
		<pubDate>Wed, 08 Apr 2026 18:19:00 +0000</pubDate>
				<category><![CDATA[Advanced (300)]]></category>
		<category><![CDATA[Amazon Simple Storage Service (S3)]]></category>
		<category><![CDATA[Security, Identity, & Compliance]]></category>
		<category><![CDATA[Technical How-to]]></category>
		<category><![CDATA[Digital forensics]]></category>
		<category><![CDATA[Incident response]]></category>
		<guid isPermaLink="false">eeafc9578dac0d81053e915ef2e3c03ff794d480</guid>

					<description>When customers experience a security incident, they need to acquire forensic artifacts to identify root cause, extract indicators of compromise (IoCs), and validate remediation efforts. NIST 800-86, Guide to Integrating Forensic Techniques into Incident Response, defines digital forensics as a process comprised of four basic phases: collection, examination, analysis, and reporting. This blog post focuses […]</description>
										<content:encoded>&lt;div class="Page-articleBody"&gt; 
 &lt;div class="RichTextArticleBody RichTextBody"&gt; 
  &lt;p&gt;When customers experience a security incident, they need to acquire forensic artifacts to identify root cause, extract indicators of compromise (IoCs), and validate remediation efforts. &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-86.pdf" target="_blank" rel="noopener" data-cms-ai="0"&gt;NIST 800-86&lt;/a&gt;&lt;/span&gt;, Guide to Integrating Forensic Techniques into Incident Response, defines digital forensics as a process comprised of four basic phases: collection, examination, analysis, and reporting. This blog post focuses on the first phase—collection—and provides best practices for implementing least privilege during the forensic evidence collection processes that collect evidence and store the artifacts in &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/s3" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Simple Storage Service (Amazon S3)&lt;/a&gt;&lt;/span&gt; buckets. The architecture presented in this post can be used to collect forensic evidence from both &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Web Services (AWS)&lt;/a&gt;&lt;/span&gt; and non-AWS compute resources.&lt;/p&gt; 
  &lt;p&gt;It’s important to consider the security of the forensic artifact collection process because it involves communicating with potentially compromised resources. The collection methodology itself should be designed to avoid adding additional risks to infrastructure or other forensic investigation processes. At the same time, the collection of forensic artifacts requires the use of specialized tools that are difficult to change or adapt to new security requirements.&lt;/p&gt; 
  &lt;p&gt;This post outlines factors that you should consider when creating an evidence collection capability and introduces an architecture that implements the best practices for least privilege and integrating with (instead of changing or adapting) existing forensic tools that support uploading artifacts to S3 buckets by using AWS security credentials.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Solution architecture&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;The architecture presented in this post demonstrates the following AWS best practices:&lt;/p&gt; 
  &lt;ol class="rte2-style-ol" id="rte-23cb98a3-1da9-11f1-b916-37589b0936a3" start="1"&gt; 
   &lt;li&gt;&lt;b&gt;Least privilege&lt;/b&gt; – Use &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/iam" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Identity and Access Management (IAM)&lt;/a&gt;&lt;/span&gt; policies to provide least privilege access to upload forensic artifacts to an S3 location dedicated to a specific forensic collection task. The locked down credentials cannot be used to view or modify any other forensic collections.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Time-limited credentials&lt;/b&gt; – Use &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/iam/#sts" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Security Token Service (AWS STS)&lt;/a&gt;&lt;/span&gt; to provide time limited credentials, reducing the potential for an unauthorized user to abuse credentials while they’re visible on the target machine during the artifact collection process.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Compatibility with third-party tools&lt;/b&gt; – Forensic tools are specialized and changing a forensic collection process to adapt to different collection methods might not be possible. To avoid the risk of needing to change tools, maximize compatibility with any third-party tools that support uploading to S3 buckets. The method introduced in this post to generate time-limited, scoped down credentials can be used with most third-party forensic tools that support uploading to S3 buckets.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Credential vending&lt;/b&gt; – Use time-limited tokens, which can be vended on demand through an automated process, eliminating the need for forensic investigators to use the AWS Management Console, understand least privilege, or have any access to the AWS control plane. Forensic investigators can focus on the process of collecting and analyzing evidence.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Process automation&lt;/b&gt; – Deploy the process as infrastructure as code (IaC) and automate it through AWS services, reducing the burden on security teams to manually perform runbook steps during an active security incident.&lt;/li&gt; 
  &lt;/ol&gt; 
  &lt;p&gt;This post starts with an overview of the digital forensic process, provides best practices for using Amazon S3 to store forensic artifacts, details how you can create time-limited, least privilege tokens to provide secure access to upload forensic artifacts to S3 buckets, and introduces a sample architecture that automates the end-to-end process.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;The digital forensic process&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Organizations need to have practices and resources in place to support a digital forensic investigation environment before an incident occurs. AWS has published several resources, including &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/blogs/security/forensic-investigation-environment-strategies-in-the-aws-cloud/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Forensic investigation environment strategies in the AWS Cloud&lt;/a&gt;&lt;/span&gt; and &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/prescriptive-guidance/latest/security-reference-architecture/cyber-forensics.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS prescriptive guidance: Security Reference Architecture, Cyber forensics&lt;/a&gt;&lt;/span&gt;, to provide best practices for organizing your AWS accounts using &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/organizations" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Organizations&lt;/a&gt;&lt;/span&gt; to support forensic clean-room environments. Creating segregated AWS accounts and resources for your security teams is critical to provide your incident responders a location to store and analyze any digital forensic evidence collected during an investigation.&lt;/p&gt; 
  &lt;p&gt;After you’ve established a landing zone for performing digital forensics, you’re ready to collect and process digital forensic evidence. AWS supports the collection of digital forensics through extensive logging of control plane events in &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/cloudtrail" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS CloudTrail&lt;/a&gt;&lt;/span&gt;, and metrics and application logs that can be stored in &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/cloudwatch" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon CloudWatch&lt;/a&gt;&lt;/span&gt;. In addition, AWS core compute services, such as &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/ec2" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Elastic Compute Cloud (Amazon EC2)&lt;/a&gt;&lt;/span&gt;, support forensics operations through snapshots of the underlying &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/ebs" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Elastic Block Storage (Amazon EBS)&lt;/a&gt;&lt;/span&gt; volume. An example architecture to demonstrate how to automate the collection of EBS volume snapshots for forensic investigations can be found in &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/blogs/security/how-to-automate-forensic-disk-collection-in-aws/" target="_blank" rel="noopener" data-cms-ai="0"&gt;How to automate forensic disk collection in AWS&lt;/a&gt;&lt;/span&gt;.&lt;/p&gt; 
  &lt;p&gt;You might want to use the same AWS infrastructure to collect, examine, analyze, and report on forensic incidents that occur on other resources, such as corporate laptops. You can use existing forensic tooling to perform &lt;i&gt;live response&lt;/i&gt;, collecting specific artifacts such as Windows NT File System (NTFS) Master File Table (MFT), logs from Linux machines, volatile memory images, or other artifacts that are specified as part of your organization’s incident response plan. These tools can be provided by third parties or built in-house, and many support uploading to S3 buckets using AWS security credentials.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Using Amazon S3 for forensic artifact collection&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Amazon S3 provides the foundational requirements for collecting and storing forensic artifacts. Digital forensics requires highly available, durable, and secure storage of artifacts collected from potentially compromised systems. Amazon S3 is designed for 11 nines of durability and can be configured to provide protection against modification, deletion, and unauthorized access to sensitive forensic artifacts. You can also use S3 to store forensic artifacts of almost any size—from one byte to 5 TB—in an S3 object.&lt;/p&gt; 
  &lt;p&gt;S3 buckets used to store forensic artifacts require custom configuration to provide additional security. You should configure the S3 bucket that you use to store forensic artifacts to enable the following security and governance features:&lt;/p&gt; 
  &lt;ol class="rte2-style-ul" id="rte-0c0b3102-1da7-11f1-b916-37589b0936a3"&gt; 
   &lt;li&gt;&lt;b&gt;Encryption in transit&lt;/b&gt;. You can &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/blogs/storage/enforcing-encryption-in-transit-with-tls1-2-or-higher-with-amazon-s3/" target="_blank" rel="noopener" data-cms-ai="0"&gt;require the use of encryption in transit&lt;/a&gt;&lt;/span&gt; and specify acceptable TLS versions using the &lt;code class="CodeInline" style="color: #000"&gt;aws:SecureTransport&lt;/code&gt; and &lt;code class="CodeInline" style="color: #000"&gt;s3:TlsVersion&lt;/code&gt; condition keys on the S3 bucket policy.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Encryption at rest using a customer managed key&lt;/b&gt;. You can automatically encrypt all objects uploaded to the bucket using a specified &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys" target="_blank" rel="noopener" data-cms-ai="0"&gt;customer managed key&lt;/a&gt;&lt;/span&gt; by specifying a &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-encryption.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;default server-side encryption key&lt;/a&gt;&lt;/span&gt; in the bucket’s configuration. For this post, we encourage you to use a customer managed key rather than relying upon an AWS managed key, so you can control the associated key policy. 
    &lt;ol class="rte2-style-ul" id="rte-23cbbfbc-1da9-11f1-b916-37589b0936a3"&gt; 
     &lt;li&gt;Encryption at rest provides an additional layer of protection, because only entities that have both the permission to read from the bucket and permission to use the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/kms" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Key Management Service (AWS KMS)&lt;/a&gt;&lt;/span&gt; key for decryption can download the forensic artifact from the S3 bucket.&lt;/li&gt; 
     &lt;li&gt;You &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-key.html#bucket-key-changes" target="_blank" rel="noopener" data-cms-ai="0"&gt;need to adjust&lt;/a&gt;&lt;/span&gt; the example KMS policies in this post if the evidence collection S3 bucket uses the &lt;i&gt;S3 Bucket Key&lt;/i&gt; feature.&lt;/li&gt; 
    &lt;/ol&gt; &lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Audit logs of all S3 data event activity&lt;/b&gt;. You can turn on &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-cloudtrail-logging-for-s3.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;CloudTrail data events&lt;/a&gt;&lt;/span&gt; for any S3 buckets that contain forensic artifacts to provide a comprehensive audit trail of S3 object-level API activity. This helps provide a chain of custody of any artifacts stored in your forensic buckets.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Fine-grained access control using IAM permissions&lt;/b&gt;. You can define the set of entities (both human and machine) that have access to the artifacts in the S3 bucket. This post includes how to create time-limited, least privilege access using &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/security-iam.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;IAM permissions&lt;/a&gt;&lt;/span&gt; for uploading files into an S3 bucket. The permissions are fine-grained enough to scope down access to specific object names or object prefixes in an S3 bucket. Additionally, access to read the artifacts can be controlled through IAM permissions and access to the encryption-at-rest KMS key.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Protections against data modification and deletion&lt;/b&gt;. S3 provides features, such as &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;S3 object versioning&lt;/a&gt;&lt;/span&gt;, to provide assurances that data hasn’t been modified or removed after it’s been collected. This is an additional layer of protection beyond the fine-grained access permissions, so even if an authorized entity attempts to overwrite or delete an object in the S3 bucket, the previous version of the object is still available.&lt;/li&gt; 
   &lt;li&gt;There are &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/data-protection.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;additional options&lt;/a&gt;&lt;/span&gt; that you can configure on the S3 bucket to protect your data against modification and deletion, including &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;S3 Object Lock&lt;/a&gt;&lt;/span&gt; and &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/MultiFactorAuthenticationDelete.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;multi-factor authentication (MFA) delete&lt;/a&gt;&lt;/span&gt;.&lt;/li&gt; 
  &lt;/ol&gt; 
  &lt;p&gt;In addition to the preceding configuration, consider how to organize forensic artifacts in the S3 bucket. This post introduces a folder structure using &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;S3 object prefixes&lt;/a&gt;&lt;/span&gt; to segregate each forensic artifact collection task into its own S3 object namespace. An example S3 namespace structure for an S3 bucket is shown in Figure 1.&lt;/p&gt; 
  &lt;div id="attachment_41561" style="width: 522px" class="wp-caption aligncenter"&gt;
   &lt;img aria-describedby="caption-attachment-41561" loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/03/12/Figure-1-S3-namespace.png" alt="Figure 1 – S3 namespace structure for an S3 forensics artifact bucket using object prefixes" width="512" height="259" class="size-full wp-image-41561"&gt;
   &lt;p id="caption-attachment-41561" class="wp-caption-text"&gt;Figure 1: S3 namespace structure for an S3 forensics artifact bucket using object prefixes&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;By separating each forensic collection task by its own prefix, you can use fine-grained IAM permissions to permit object uploads only into the active collection task. For example, scoped down credentials can be generated to only allow uploads into buckets with the CASE-0001 prefix using an IAM permission as shown in the following code example. Temporary security credentials can be generated using these limited permissions and the key is then used by the forensic acquisition tool to upload the artifacts into the S3 bucket.&lt;/p&gt; 
  &lt;div class="Enhancement" data-align-center=""&gt; 
   &lt;div class="Enhancement-item"&gt; 
    &lt;div class="CodeBlockWP hide-language"&gt; 
     &lt;div class="code-toolbar"&gt; 
      &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;{
	"Sid": "UploadToCase0001",
	"Effect": "Allow",
	"Action": [
		"s3:PutObject",
		"s3:AbortMultipartUpload"
	],
"	Resource": "arn:aws:s3:::mycompany-forensics-collection/CASE-0001/*"
}&lt;/code&gt;&lt;/pre&gt; 
      &lt;p&gt;&lt;/p&gt;
     &lt;/div&gt; 
     &lt;p&gt;&lt;/p&gt;
    &lt;/div&gt; 
    &lt;p&gt;&lt;/p&gt;
   &lt;/div&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Manually creating temporary IAM credentials for each forensic collection activity can be error-prone and time-consuming. Therefore, this post demonstrates how to use AWS tooling to automate the process of generating time-limited, scoped-down credentials.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Adapt existing forensic tools for AWS best security practices&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Existing forensic tools typically use IAM access keys to perform S3 operations. Using a static IAM user secret access key isn’t a best practice. Even if the static key is associated with an IAM user that has been scoped down to only have access to the forensic collection S3 bucket as described previously, that means anyone with access to that key can potentially upload objects into that bucket. Therefore, the best practice is to create a time-limited temporary security credential unique to each collection activity, scoped down to only allow uploading files to a specific prefix in the target S3 bucket.&lt;/p&gt; 
  &lt;p&gt;The examples in this post use the following resource names. Because these names will change based on your deployment, substitute your resource names in place of the names in the example code.&lt;/p&gt; 
  &lt;ol class="rte2-style-ul" id="rte-23cbe6c8-1da9-11f1-b916-37589b0936a3"&gt; 
   &lt;li&gt;The evidence S3 bucket is named &lt;b&gt;mycompany-forensics-collection&lt;/b&gt;&lt;/li&gt; 
   &lt;li&gt;The forensics AWS account number is &lt;b&gt;112233445566&lt;/b&gt;. For the purposes of this example, all resources will live within this account.&lt;/li&gt; 
   &lt;li&gt;The customer managed key used to encrypt the forensic artifacts at rest is &lt;b&gt;ForensicsEvidenceKey&lt;/b&gt;&lt;/li&gt; 
   &lt;li&gt;The IAM role that incident responders will assume when signing in to their AWS account is &lt;b&gt;ForensicsUserRole&lt;/b&gt;&lt;/li&gt; 
   &lt;li&gt;The IAM role that incident responders will use for generating S3 file upload temporary credentials is &lt;b&gt;ForensicsUploadRole&lt;/b&gt;&lt;/li&gt; 
   &lt;li&gt;The example uses the &lt;b&gt;us-east-1&lt;/b&gt; AWS Region&lt;/li&gt; 
  &lt;/ol&gt; 
  &lt;p&gt;The following steps show you how to configure the IAM policies associated with the customer managed key &lt;b&gt;ForensicsEvidenceKey&lt;/b&gt; and the IAM role &lt;b&gt;ForensicsUploadRole&lt;/b&gt;.&lt;br&gt; Before you begin, create the evidence S3 bucket configured as described in &lt;b&gt;Using S3 for artifact collection&lt;/b&gt; and a customer managed key to encrypt the forensic artifacts at rest. Configure the evidence S3 bucket to use the KMS key by opening the S3 bucket’s properties tab in the Amazon S3 console and setting the new KMS key as the default encryption key for the bucket.&lt;/p&gt; 
  &lt;p&gt;Next, create an IAM role that incident responders will assume through the AWS STS &lt;code class="CodeInline" style="color: #000"&gt;AssumeRole&lt;/code&gt; API to generate the temporary credentials. This role will define the maximum set of permissions allowed to upload artifacts to your evidence S3 bucket. This role, &lt;b&gt;ForensicsUploadRole&lt;/b&gt;, created using the following example code, defines the maximum allowable permissions: the ability to upload objects into the evidence S3 bucket and to use the KMS key to encrypt those uploads. The effective permissions available to the forensic tool will be scoped down even further to the specific object prefix when the AWS STS temporary security credential is generated.&lt;/p&gt; 
  &lt;p&gt;Note that the policy allows the forensics upload role &lt;code class="CodeInline" style="color: #000"&gt;Decrypt&lt;/code&gt; permission in addition to &lt;code class="CodeInline" style="color: #000"&gt;Encrypt&lt;/code&gt;; this is required when &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;uploading files larger than 5 GB using the multi-part S3 file upload feature&lt;/a&gt;&lt;/span&gt;.&lt;/p&gt; 
  &lt;div class="Enhancement" data-align-center=""&gt; 
   &lt;div class="Enhancement-item"&gt; 
    &lt;div class="CodeBlockWP hide-language"&gt; 
     &lt;div class="code-toolbar"&gt; 
      &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;{
	"Version": "2012-10-17",
	"Statement": [
			{
				"Sid": "BasePermissionsForS3Upload",
				"Effect": "Allow",
				"Action": [
					"s3:PutObject",
					"s3:AbortMultipartUpload"
				],
				"Resource": "arn:aws:s3:::mycompany-forensics-collection/*"
		},
		{
			"Sid": "KeyAccessToS3Upload",
			"Effect": "Allow",
			"Action": [
				"kms:GenerateDataKey",
				"kms:Encrypt",
				"kms:Decrypt"
			],
			"Resource": "arn:aws:kms:us-east-1:112233445566:alias/ForensicsEvidenceKey",
			"Condition": {
				"StringLike": {
					"kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::mycompany-forensics-collection/*"
				}
			}
		}
	]
}&lt;/code&gt;&lt;/pre&gt; 
      &lt;p&gt;&lt;/p&gt;
     &lt;/div&gt; 
     &lt;p&gt;&lt;/p&gt;
    &lt;/div&gt; 
    &lt;p&gt;&lt;/p&gt;
   &lt;/div&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Next, you need to provide an ability to assume this role and generate AWS STS tokens using the role’s permissions. This is accomplished by creating a trust relationship associated with the IAM role you just created. The trust relationship shown in the following code sample describes which AWS principals are allowed to assume the role—in this case, you will allow any user who has federated into the &lt;b&gt;ForensicsUserRole &lt;/b&gt;IAM role to be able to generate AWS STS tokens for forensic artifact collection.&lt;/p&gt; 
  &lt;div class="Enhancement" data-align-center=""&gt; 
   &lt;div class="Enhancement-item"&gt; 
    &lt;div class="CodeBlockWP hide-language"&gt; 
     &lt;div class="code-toolbar"&gt; 
      &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;{
	"Version": "2012-10-17",
	"Statement": [
		{
			"Sid": "Statement1",
			"Effect": "Allow",
			"Principal": {
				"AWS": "arn:aws:iam::112233445566:role/ForensicsUserRole"
			},
			"Action": "sts:AssumeRole"
		}
	]
}&lt;/code&gt;&lt;/pre&gt; 
      &lt;p&gt;&lt;/p&gt;
     &lt;/div&gt; 
     &lt;p&gt;&lt;/p&gt;
    &lt;/div&gt; 
    &lt;p&gt;&lt;/p&gt;
   &lt;/div&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;After the role is established and access to the encryption key is granted, you can use the AWS STS &lt;code class="CodeInline" style="color: #000"&gt;AssumeRole&lt;/code&gt; API to create temporary credentials using this role. You can call this API using the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/cli" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Command Line Interface (AWS CLI)&lt;/a&gt;&lt;/span&gt; or programmatically from a script. To scope down the token’s access to only provide permission to upload to the specific evidence object prefix, you must include a &lt;i&gt;session policy&lt;/i&gt; as part of your &lt;code class="CodeInline" style="color: #000"&gt;AssumeRole&lt;/code&gt; API request to AWS STS. The following is an example session policy to restrict access to only upload objects into the &lt;code class="CodeInline" style="color: #000"&gt;CASE-0001&lt;/code&gt; prefix.&lt;/p&gt; 
  &lt;div class="Enhancement" data-align-center=""&gt; 
   &lt;div class="Enhancement-item"&gt; 
    &lt;div class="CodeBlockWP hide-language"&gt; 
     &lt;div class="code-toolbar"&gt; 
      &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;[
	{
		"Effect": "Allow",
		"Action": [
			"s3:PutObject", 
			"s3:AbortMultipartUpload"
		],
		"Resource": "arn:aws:s3:::mycompany-forensics-collection/CASE-0001/*"
	},
	{
		"Effect": "Allow",
		"Action": [
			"kms:GenerateDataKey", 
			"kms:Encrypt", 
			"kms:Decrypt"
		],
		"Resource": "*",
		"Condition": {
			"StringLike": {
				"kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::mycompany-forensics-collection/CASE-0001/*"
			}
		}
	}
]&lt;/code&gt;&lt;/pre&gt; 
      &lt;p&gt;&lt;/p&gt;
     &lt;/div&gt; 
     &lt;p&gt;&lt;/p&gt;
    &lt;/div&gt; 
    &lt;p&gt;&lt;/p&gt;
   &lt;/div&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;The effective permissions available to the session role will be the intersection of permissions available in the role policy (&lt;b&gt;ForensicsUploadRole&lt;/b&gt;), the resource policy (in this case, mandating TLS-encrypted connections to the bucket), and the session policy that’s created on demand for every forensic collection (only allowing access to upload objects into the CASE-0001 prefix, as shown in the preceding example). Pictorially, this looks like the Venn diagram shown in Figure 2.&lt;/p&gt; 
  &lt;div id="attachment_41560" style="width: 1550px" class="wp-caption aligncenter"&gt;
   &lt;img aria-describedby="caption-attachment-41560" loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/03/12/Figure-2-Intersection-of-IAM-policies.png" alt="Figure 2 – Intersection of IAM policies determine the effective permissions for the restricted forensic session role." width="1540" height="904" class="size-full wp-image-41560"&gt;
   &lt;p id="caption-attachment-41560" class="wp-caption-text"&gt;Figure 2: Intersection of IAM policies determine the effective permissions for the restricted forensic session role.&lt;/p&gt;
  &lt;/div&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Test the temporary credentials&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Now that the bucket has been created and the AWS KMS key and roles configured, you can use AWS STS to create a temporary security credential for a collection on CASE-0001. You can use the AWS CLI to do this manually or you can write a script to automate this process using the AWS API. The IAM access key, secret access key, and session token returned by this call can then be used by any tool that can use AWS access keys to upload files into the specified S3 bucket.&lt;/p&gt; 
  &lt;p&gt;The following example shows an AWS CLI call to &lt;code class="CodeInline" style="color: #000"&gt;AssumeRole&lt;/code&gt; using the example &lt;code class="CodeInline" style="color: #000"&gt;ForensicsUploadRole&lt;/code&gt; and a case named &lt;code class="CodeInline" style="color: #000"&gt;CASE-0001&lt;/code&gt;. The &lt;code class="CodeInline" style="color: #000"&gt;--duration-seconds&lt;/code&gt; parameter defines the period, in seconds, that the temporary credentials are valid; the default of 3600 seconds will provide temporary credentials that are valid for one hour.&lt;/p&gt; 
  &lt;div class="Enhancement" data-align-center=""&gt; 
   &lt;div class="Enhancement-item"&gt; 
    &lt;div class="CodeBlockWP hide-language"&gt; 
     &lt;div class="code-toolbar"&gt; 
      &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;$ aws sts assume-role \
	--role-arn arn:aws:iam::112233445566:role/ForensicsUploadRole \
	--role-session-name CASE-0001 \
	--duration-seconds 3600 \
	--policy '{"Version": "2012-10-17", "Statement": [{"Effect": "Allow", "Action": ["s3:PutObject", "s3:AbortMultipartUpload"], "Resource": "arn:aws:s3:::mycompany-forensics-collection/CASE-0001/*"}, {"Sid": "BasePermissionsForS3Upload", "Effect": "Allow", "Action": ["kms:GenerateDataKey", "kms:Encrypt", "kms:Decrypt"], "Resource": "*"}]}'

{
	"Credentials": {
		"AccessKeyId": "ASIAXXXX",
		"SecretAccessKey": "XXXX",
		"SessionToken": "XXXX",
		"Expiration": "2025-04-10T17:16:13+00:00"
	},
	"AssumedRoleUser": {
		"AssumedRoleId": "AROXXXX:CASE-0001",
		"Arn": "arn:aws:sts::112233445566:assumed-role/ForensicsUploadRole/CASE-0001"
	},
	"PackedPolicySize": 39
}&lt;/code&gt;&lt;/pre&gt; 
      &lt;p&gt;&lt;/p&gt;
     &lt;/div&gt; 
     &lt;p&gt;&lt;/p&gt;
    &lt;/div&gt; 
    &lt;p&gt;&lt;/p&gt;
   &lt;/div&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Now that you have obtained temporary credentials from AWS STS, you can use those credentials to upload a file into Amazon S3:&lt;/p&gt; 
  &lt;div class="Enhancement" data-align-center=""&gt; 
   &lt;div class="Enhancement-item"&gt; 
    &lt;div class="CodeBlockWP hide-language"&gt; 
     &lt;div class="code-toolbar"&gt; 
      &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;$ AWS_ACCESS_KEY_ID=ASIAXXXX \
	AWS_SECRET_ACCESS_KEY=XXXX \
	AWS_SESSION_TOKEN=XXXX \
	aws s3 cp evidence.zip s3://mycompany-forensics-collection/CASE-0001/evidence.zip

upload: evidence.zip to s3://mycompany-forensics-collection/CASE-0001/evidence.zip&lt;/code&gt;&lt;/pre&gt; 
      &lt;p&gt;&lt;/p&gt;
     &lt;/div&gt; 
     &lt;p&gt;&lt;/p&gt;
    &lt;/div&gt; 
    &lt;p&gt;&lt;/p&gt;
   &lt;/div&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;You can also verify that you can’t use those credentials to upload a file into any other object prefixes or S3 buckets. For example, if you change &lt;code class="CodeInline" style="color: #000"&gt;CASE-0001&lt;/code&gt; to &lt;code class="CodeInline" style="color: #000"&gt;CASE-0004&lt;/code&gt; in the Amazon S3 upload command, you will receive an &lt;code class="CodeInline" style="color: #000"&gt;AccessDenied&lt;/code&gt; error because you’re trying to upload an object outside of the allowed key prefix.&lt;/p&gt; 
  &lt;div class="Enhancement" data-align-center=""&gt; 
   &lt;div class="Enhancement-item"&gt; 
    &lt;div class="CodeBlockWP hide-language"&gt; 
     &lt;div class="code-toolbar"&gt; 
      &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;$ AWS_ACCESS_KEY_ID=ASIAXXXX \
	AWS_SECRET_ACCESS_KEY=XXXX \
	AWS_SESSION_TOKEN=XXXX \
	aws s3 cp evidence.zip s3://mycompany-forensics-collection/CASE-0004/evidence.zip

upload failed: evidence.zip to s3://mycompany-forensics-collection/cases/CASE-0004/evidence.zip
An error occurred (AccessDenied) when calling the PutObject operation: User: arn:aws:sts::112233445566:assumed-role/ForensicsUploadRole/CASE-0001 is not authorized to perform: s3:PutObject on resource: "arn:aws:s3:::mycompany-forensics-collection/CASE-0004/evidence.zip" because no session policy allows the s3:PutObject action&lt;/code&gt;&lt;/pre&gt; 
      &lt;p&gt;&lt;/p&gt;
     &lt;/div&gt; 
     &lt;p&gt;&lt;/p&gt;
    &lt;/div&gt; 
    &lt;p&gt;&lt;/p&gt;
   &lt;/div&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Additionally, if you wait more than the lifetime of the token (1 hour in this case), attempting to upload a file into the bucket will fail, because the token will no longer be valid:&lt;/p&gt; 
  &lt;div class="Enhancement" data-align-center=""&gt; 
   &lt;div class="Enhancement-item"&gt; 
    &lt;div class="CodeBlockWP hide-language"&gt; 
     &lt;div class="code-toolbar"&gt; 
      &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;$ AWS_ACCESS_KEY_ID=ASIAXXXX \
	AWS_SECRET_ACCESS_KEY=XXXX \
	AWS_SESSION_TOKEN=XXXX \
	aws s3 cp evidence.zip s3://mycompany-forensics-collection/CASE-0001/evidence.zip

upload failed: evidence.zip to s3://mycompany-forensics-collection/CASE-0001/evidence.zip

An error occurred (ExpiredToken) when calling the PutObject operation: The provided token has expired.&lt;/code&gt;&lt;/pre&gt; 
      &lt;p&gt;&lt;/p&gt;
     &lt;/div&gt; 
     &lt;p&gt;&lt;/p&gt;
    &lt;/div&gt; 
    &lt;p&gt;&lt;/p&gt;
   &lt;/div&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Create an automated process to vend temporary credentials on demand&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;After you’ve verified the security benefits of creating temporary credentials for S3 uploads and validated that the credentials work with your forensic software of choice, you can now use them as part of an automated process.&lt;/p&gt; 
  &lt;p&gt;A sample automated architecture is shown in Figure 3.&lt;/p&gt; 
  &lt;div id="attachment_41718" style="width: 968px" class="wp-caption aligncenter"&gt;
   &lt;img aria-describedby="caption-attachment-41718" loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/03/31/Figure_3.png" alt="Figure 3: Architecture to automate S3 credential vending and forensic artifact collection." width="958" height="620" class="size-full wp-image-41718"&gt;
   &lt;p id="caption-attachment-41718" class="wp-caption-text"&gt;Figure 3: Architecture to automate S3 credential vending and forensic artifact collection.&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;The workflow depicted in Figure 3 includes the following steps:&lt;/p&gt; 
  &lt;ol class="rte2-style-ol" id="rte-23cc8300-1da9-11f1-b916-37589b0936a3" start="1"&gt; 
   &lt;li&gt;The workflow is triggered by an alert from a detection source or a manual trigger from an incident responder.&lt;/li&gt; 
   &lt;li&gt;The workflow input is added to an &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/sqs" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Simple Queue Service (Amazon SQS)&lt;/a&gt;&lt;/span&gt; queue.&lt;/li&gt; 
   &lt;li&gt;The Amazon SQS queue invokes an &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/lambda" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Lambda&lt;/a&gt;&lt;/span&gt; function which in turn executes a Step Functions state machine to orchestrate the workflow.&lt;/li&gt; 
   &lt;li&gt;First, the Step Functions workflow determines whether the target system is managed by &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/systems-manager" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Systems Manager&lt;/a&gt;&lt;/span&gt;. 
    &lt;ol class="rte2-style-ul" id="rte-23cc8304-1da9-11f1-b916-37589b0936a3"&gt; 
     &lt;li&gt;If the target system isn’t managed by Systems Manager, an error is noted, and the execution is abandoned.&lt;/li&gt; 
     &lt;li&gt;If the target system is managed by Systems Manager, the Step Functions workflow determines the operating system (OS) of the target system and proceeds with the flow of execution.&lt;/li&gt; 
    &lt;/ol&gt; &lt;/li&gt; 
   &lt;li&gt;The workflow then continues by executing the Systems Manager documents that implement the forensic collection process:&lt;/li&gt; 
   &lt;ol class="rte2-style-ul" id="rte-23cc8304-1da9-11f1-b916-37589b0936a3"&gt; 
    &lt;li&gt;Downloads tooling: 
     &lt;ol class="rte2-style-ul" id="rte-23cc8305-1da9-11f1-b916-37589b0936a3"&gt; 
      &lt;li&gt;Generates dynamically scoped IAM temporary credentials that provide access to download the OS-specific tooling to be executed on the target system from the tooling S3 bucket. These credentials are tightly scoped to only allow downloads from the S3 prefix that corresponds to the tooling for the target system’s OS.&lt;/li&gt; 
      &lt;li&gt;Executes a Systems Manager command on the target system that uses the credentials generated from the previous step to download the OS tooling on the target system.&lt;/li&gt; 
     &lt;/ol&gt; &lt;/li&gt; 
    &lt;li&gt;Runs forensic tools:&lt;/li&gt; 
    &lt;ul class="rte2-style-ul" id="rte-23cc8305-1da9-11f1-b916-37589b0936a3"&gt; 
     &lt;li&gt;Executes a Systems Manager command on the target system to execute the OS tooling on the target system.&lt;/li&gt; 
    &lt;/ul&gt; 
   &lt;/ol&gt; 
   &lt;li&gt;The Systems Manager commands run on the target system, which in this case is an EC2 instance.&lt;/li&gt; 
   &lt;li&gt;Results are uploaded to the evidence S3 bucket:&lt;/li&gt; 
   &lt;ol class="rte2-style-ul" id="rte-23cc8304-1da9-11f1-b916-37589b0936a3"&gt; 
    &lt;li&gt;Generates dynamically scoped IAM temporary credentials (as described previously) that provide access to upload the output of the previously executed tooling to the evidence S3 bucket. These credentials are tightly scoped to only allow uploads to a particular S3 prefix corresponding to the alert prefix.&lt;/li&gt; 
    &lt;li&gt;Executes a Systems Manager command on the target system to upload the output of the previously executed tooling to the evidence S3 bucket. After the upload is complete, it cleans up both the output and the evidence tooling from the target system.&lt;/li&gt; 
    &lt;li&gt;The evidence S3 bucket is tightly locked down to a subset of identities within the AWS security account. Access attempts from identities that aren’t allow listed trigger an &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/eventbridge" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon EventBridge&lt;/a&gt;&lt;/span&gt; rule to alert the security team through an &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/sns" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Simple Notification Service (Amazon SNS)&lt;/a&gt;&lt;/span&gt; topic.&lt;/li&gt; 
   &lt;/ol&gt; 
   &lt;li&gt;When the workflow is complete, related details and metrics are recorded in an &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/dynamodb" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon DynamoDB&lt;/a&gt;&lt;/span&gt; table.&lt;/li&gt; 
   &lt;li&gt;The forensic analysis can be performed on a separate EC2 instance that has access to read from the evidence S3 bucket.&lt;/li&gt; 
  &lt;/ol&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Deploying the example solution&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;You can use the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/cdk" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Cloud Development Kit (AWS CDK)&lt;/a&gt;&lt;/span&gt; repository to &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://github.com/aws-samples/sample-collect-forensic-artifacts-s3" target="_blank" rel="noopener" data-cms-ai="0"&gt;implement the architecture&lt;/a&gt;&lt;/span&gt; shown in Figure 3.&lt;/p&gt; 
  &lt;p&gt;The AWS CDK solution is split into three stacks:&lt;/p&gt; 
  &lt;ol class="rte2-style-ul" id="rte-23cc830b-1da9-11f1-b916-37589b0936a3"&gt; 
   &lt;li&gt;&lt;b&gt;SecurityStack&lt;/b&gt;: This stack contains the basic forensic artifact workflow orchestration infrastructure described in this post, including the Step Functions workflow, Lambda functions, AWS SQS queues, IAM roles, and S3 buckets.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;AlertStack&lt;/b&gt;: This stack contains the EventBridge workflow to notify administrators of anomalous activity in the evidence S3 bucket.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;CustomerStack&lt;/b&gt;: This stack contains the SSM documents that are executed for the forensic artifact workflow and an IAM role assumed by the SecurityStack when the workflow is invoked. It’s deployed into each child AWS account containing EC2 instances from which the security account is authorized to collect forensic artifacts.&lt;/li&gt; 
  &lt;/ol&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;Configuration&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Before deploying the solution, there are several variables in the &lt;code class="CodeInline" style="color: #000"&gt;config.ts&lt;/code&gt; file that must be modified for the environment:&lt;/p&gt; 
  &lt;ol class="rte2-style-ul" id="rte-23ccaa10-1da9-11f1-b916-37589b0936a3"&gt; 
   &lt;li&gt;&lt;code class="CodeInline" style="color: #000"&gt;SECURITY_ACCOUNT&lt;/code&gt;: Security Tooling AWS account ID.&lt;/li&gt; 
   &lt;li&gt;&lt;code class="CodeInline" style="color: #000"&gt;CUSTOMER_ACCOUNTS&lt;/code&gt;: Target AWS account IDs (the &lt;i&gt;Child AWS account&lt;/i&gt; in the architecture diagram).&lt;/li&gt; 
   &lt;li&gt;&lt;code class="CodeInline" style="color: #000"&gt;ALERT_EMAIL_RECIPIENTS&lt;/code&gt;: List of email addresses that receive alerts when there is unexpected access to the evidence S3 bucket.&lt;/li&gt; 
   &lt;li&gt;&lt;code class="CodeInline" style="color: #000"&gt;ALLOW_LISTED_ROLE_NAMES&lt;/code&gt;: Roles allowed to access the evidence S3 bucket. Any other identities accessing the evidence S3 bucket will result in an alarm.&lt;/li&gt; 
  &lt;/ol&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;Deployment&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;After you’ve updated the &lt;code class="CodeInline" style="color: #000"&gt;config.ts&lt;/code&gt; file to reflect the account numbers, email recipients, and role names, the stacks can be deployed into your AWS infrastructure.&lt;/p&gt; 
  &lt;ol class="rte2-style-ol" id="rte-23ccaa11-1da9-11f1-b916-37589b0936a3" start="1"&gt; 
   &lt;li&gt;Set Up AWS credentials using the AWS CLI:&lt;br&gt;&lt;code class="CodeInline" style="color: #000"&gt;aws configure&lt;/code&gt;&lt;/li&gt; 
   &lt;li&gt;Install dependencies and configure constants: 
    &lt;ol class="rte2-style-ol" id="rte-cb4d3b20-1dad-11f1-8ec2-0bc59fb193c2" start="1"&gt; 
     &lt;li&gt;Clone the repository.&lt;/li&gt; 
     &lt;li&gt;Navigate to the project directory.&lt;/li&gt; 
     &lt;li&gt;Install project dependencies:&lt;br&gt;&lt;code class="CodeInline" style="color: #000"&gt;npm install&lt;/code&gt;&lt;/li&gt; 
     &lt;li&gt;Configure constants in &lt;code class="CodeInline" style="color: #000"&gt;constants/config.ts&lt;/code&gt; with the required information: 
      &lt;div class="Enhancement" data-align-center=""&gt; 
       &lt;div class="Enhancement-item"&gt; 
        &lt;div class="CodeBlockWP hide-language"&gt; 
         &lt;div class="code-toolbar"&gt; 
          &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;export const SECURITY_ACCOUNT = "123456789012"; // Your security tooling account ID 
export const CUSTOMER_ACCOUNTS = ["234567890123", "345678901234"]; // Target account IDs 
export const ALLOW_LISTED_ROLE_NAMES = ["SecurityAnalystRole"];// Roles allowed to access evidence S3 bucket 
export const ALERT_EMAIL_RECIPIENTS = ["soc_team@company.com"];// Email addresses for alerts&lt;/code&gt;&lt;/pre&gt; 
          &lt;p&gt;&lt;/p&gt;
         &lt;/div&gt; 
         &lt;p&gt;&lt;/p&gt;
        &lt;/div&gt; 
        &lt;p&gt;&lt;/p&gt;
       &lt;/div&gt; 
       &lt;p&gt;&lt;/p&gt;
      &lt;/div&gt; &lt;/li&gt; 
    &lt;/ol&gt; &lt;/li&gt; 
   &lt;li&gt;Bootstrap AWS CDK in your accounts (if it hasn’t been done already): 
    &lt;ol class="rte2-style-ol" id="rte-cb4d3b21-1dad-11f1-8ec2-0bc59fb193c2" start="1"&gt; 
     &lt;li&gt;Example: &lt;code class="CodeInline" style="color: #000"&gt;cdk bootstrap aws://456789012345/us-east-1&lt;/code&gt; (example security AWS account).&lt;/li&gt; 
     &lt;li&gt;Then bootstrap if necessary in any &lt;i&gt;target&lt;/i&gt; AWS accounts.&lt;/li&gt; 
    &lt;/ol&gt; &lt;/li&gt; 
   &lt;li&gt;Deploy the AWS CDK Stacks: 
    &lt;ol class="rte2-style-ol" id="rte-cb4d3b22-1dad-11f1-8ec2-0bc59fb193c2" start="1"&gt; 
     &lt;li&gt;Synthesize the CloudFormation template:&lt;br&gt;&lt;code class="CodeInline" style="color: #000"&gt;cdk synth&lt;/code&gt;&lt;/li&gt; 
     &lt;li&gt;Deploy the security and alert stacks in your security account:&lt;br&gt;&lt;code class="CodeInline" style="color: #000"&gt;cdk deploy SecurityStack AlertStack&lt;/code&gt;&lt;/li&gt; 
     &lt;li&gt;Deploy the customer stacks in your workload accounts:&lt;br&gt;&lt;code class="CodeInline" style="color: #000"&gt;cdk deploy CustomerStack-ACCOUNT_ID&lt;/code&gt;&lt;/li&gt; 
    &lt;/ol&gt; &lt;/li&gt; 
   &lt;li&gt;Set up your email alerts: 
    &lt;ol class="rte2-style-ol" id="rte-cb4d3b23-1dad-11f1-8ec2-0bc59fb193c2" start="1"&gt; 
     &lt;li&gt;After the &lt;code class="CodeInline" style="color: #000"&gt;AlertStack&lt;/code&gt; is deployed, it will email all addresses listed in &lt;code class="CodeInline" style="color: #000"&gt;ALERT_EMAIL_RECIPIENTS&lt;/code&gt;. Choose the embedded link to accept the AWS SNS topic in each of those accounts.&lt;/li&gt; 
    &lt;/ol&gt; &lt;/li&gt; 
  &lt;/ol&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;Testing&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;With deployment complete, it’s time to test the solution.&lt;/p&gt; 
  &lt;ol class="rte2-style-ol" id="rte-23ccd126-1da9-11f1-b916-37589b0936a3" start="1"&gt; 
   &lt;li&gt;Trigger an analysis 
    &lt;ol class="rte2-style-ol" id="rte-cb4d3b24-1dad-11f1-8ec2-0bc59fb193c2" start="1"&gt; 
     &lt;li&gt;Make sure you have a Linux EC2 instance running in one of your customer accounts and in the AWS Region where you deployed the preceding customer stack.&lt;/li&gt; 
     &lt;li&gt;Because this example uses Systems Manager to orchestrate the collection script, make sure that the EC2 instance is visible in Systems Manager either by checking the Systems Manager console, or by using the AWS CLI: 
      &lt;ol class="rte2-style-ol" id="rte-cb4d3b25-1dad-11f1-8ec2-0bc59fb193c2" start="1"&gt; 
       &lt;li&gt;Console: In the AWS Systems Manager console, choose &lt;b&gt;Managed instances&lt;/b&gt; in the left navigation pane and verify your instance appears in the list. For more information, see &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/systems-manager/latest/userguide/managed_instances.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;Managed Instances&lt;/a&gt;&lt;/span&gt; in the AWS Systems Manager User Guide.&lt;/li&gt; 
       &lt;li&gt;AWS CLI: Run the following command to verify the instance is managed:&lt;br&gt;&lt;code class="CodeInline" style="color: #000"&gt;aws ssm describe-instance-information --filters “Key=InstanceIds,Values=&amp;lt;instance-id&amp;gt;&lt;/code&gt;&lt;br&gt; If the command returns instance information with &lt;code class="CodeInline" style="color: #000"&gt;PingStatus: Online&lt;/code&gt;, the instance is properly connected to Systems Manager.&lt;/li&gt; 
      &lt;/ol&gt; &lt;/li&gt; 
     &lt;li&gt;Post a message in your security account to the Amazon SQS queue to start the Step Functions workflow. Note that the values in angle brackets (for example &lt;code class="CodeInline" style="color: #000"&gt;&amp;lt;accountID&amp;gt;&lt;/code&gt;) are placeholders that you must update with relevant AWS account ID, tracking ticket ID, AWS Region, and EC2 instance ID values:&lt;br&gt;&lt;code class="CodeInline" style="color: #000"&gt;aws sqs send-message --queue-url --message-body ‘{ “account”: “”, “ticket_id”: “”, “region”: “&amp;gt;”, “instance_id”: “” }’&lt;/code&gt;&lt;/li&gt; 
    &lt;/ol&gt; &lt;/li&gt; 
   &lt;li&gt;Go to the Step Functions console to view the successful execution of the workflow:&lt;br&gt;
    &lt;div id="attachment_41558" style="width: 500px" class="wp-caption aligncenter"&gt;
     &lt;img aria-describedby="caption-attachment-41558" loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/03/12/Figure-4-Workflow-as-shown.png" alt="Figure 4 – Workflow as shown in the Step Functions console" width="490" height="630" class="size-full wp-image-41558"&gt;
     &lt;p id="caption-attachment-41558" class="wp-caption-text"&gt;Figure 4: Workflow as shown in the Step Functions console&lt;/p&gt;
    &lt;/div&gt;&lt;/li&gt; 
   &lt;li&gt;View the DynamoDB table to see the metadata for the results.&lt;/li&gt; 
   &lt;li&gt;Check the evidence S3 bucket to see the uploaded files from the forensic collection.&lt;/li&gt; 
  &lt;/ol&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Conclusion&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Collecting forensic artifacts securely is a critical component of any digital forensics investigation. This post demonstrated how to implement least privilege access controls and time-limited credentials for forensic evidence collection workflows that use Amazon S3 for artifact storage. By combining IAM session policies with AWS STS temporary credentials, you can provide forensic tools with secure, scoped-down access to upload artifacts without exposing long-lived credentials or granting overly permissive access.&lt;/p&gt; 
  &lt;p&gt;The architecture presented in this post automates the process of generating temporary credentials, collecting forensic artifacts from both AWS and non-AWS resources, and securely storing them in S3 buckets with appropriate encryption, access controls, and audit logging. With this approach, your security teams can focus on analyzing evidence instead of managing credentials and permissions during active security incidents.To get started with this solution, deploy the example AWS CDK stacks provided in the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://github.com/aws-samples/sample-collect-forensic-artifacts-s3" target="_blank" rel="noopener" data-cms-ai="0"&gt;collect forensic artifacts repository&lt;/a&gt;&lt;/span&gt; and customize them for your organization’s forensic investigation requirements. For more information about related AWS forensic investigation architectures, review the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/solutions/implementations/automated-forensics-orchestrator-for-amazon-ec2/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Automated Forensics Orchestrator for EC2&lt;/a&gt;&lt;/span&gt; and &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/blogs/security/how-to-automatically-build-forensic-kernel-modules-for-amazon-linux-ec2-instances/" target="_blank" rel="noopener" data-cms-ai="0"&gt;How to build forensic kernel modules for Linux EC2 instances&lt;/a&gt;&lt;/span&gt; resources.&lt;/p&gt; 
  &lt;p&gt;If you have feedback about this post, submit comments in the Comments section below. If you have questions about this post, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://console.aws.amazon.com/support/home" target="_blank" rel="noopener" data-cms-ai="0"&gt;contact AWS Support&lt;/a&gt;&lt;/span&gt;.&lt;/p&gt; 
  &lt;footer&gt; 
   &lt;div class="blog-author-box"&gt; 
    &lt;div class="blog-author-image"&gt; 
     &lt;img loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/03/12/Jason-Garman-author.jpg" alt="Jason Garman" width="120" height="160" class="aligncenter size-full wp-image-39143"&gt; 
    &lt;/div&gt; 
    &lt;h3 class="lb-h4"&gt;Jason Garman&lt;/h3&gt; 
    &lt;p&gt;Jason is a principal security specialist solutions architect at AWS. He has 30 years of cybersecurity experience including incident response, reverse engineering, identity, and data protection. At AWS, he helps large organizations adopt the latest cloud and AI technologies while maintaining a high bar for data governance, security, and safety.&lt;/p&gt; 
    &lt;p&gt;&lt;/p&gt;
   &lt;/div&gt; 
  &lt;/footer&gt; 
  &lt;footer&gt; 
   &lt;div class="blog-author-box"&gt; 
    &lt;div class="blog-author-image"&gt; 
     &lt;img loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/03/12/Vaishnav-Murthy-Author.jpg" alt="Vaishnav Murthy" width="120" height="160" class="aligncenter size-full wp-image-39142"&gt; 
    &lt;/div&gt; 
    &lt;h3 class="lb-h4"&gt;Vaishnav Murthy&lt;/h3&gt; 
    &lt;p&gt;Vaishnav is a Senior Security Engineer with AWS CloudResponse. He has an extensive background in incident response and security automation and enjoys building automated solutions that help AWS customers investigate and respond to security incidents at scale.&lt;/p&gt; 
    &lt;p&gt;&lt;/p&gt;
   &lt;/div&gt; 
  &lt;/footer&gt;
 &lt;/div&gt; 
&lt;/div&gt;</content:encoded>
					
					
			
		
		
			</item>
		<item>
		<title>Building AI defenses at scale: Before the threats emerge</title>
		<link>https://aws.amazon.com/blogs/security/building-ai-defenses-at-scale-before-the-threats-emerge/</link>
					
		
		<dc:creator><![CDATA[Amy Herzog]]></dc:creator>
		<pubDate>Tue, 07 Apr 2026 18:02:00 +0000</pubDate>
				<category><![CDATA[Amazon Bedrock]]></category>
		<category><![CDATA[Amazon Bedrock Guardrails]]></category>
		<category><![CDATA[Amazon Machine Learning]]></category>
		<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Generative AI]]></category>
		<category><![CDATA[Launch]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Security & Governance]]></category>
		<category><![CDATA[Thought Leadership]]></category>
		<category><![CDATA[artificial intelligence]]></category>
		<category><![CDATA[Machine learning]]></category>
		<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">2ccf80f155fe4b1d30aeaa6620f15522a777a7a5</guid>

					<description>At AWS, we’ve spent decades developing processes and tools that enable us to defend millions of customers simultaneously, wherever they operate around the world. AI has been an extremely helpful addition to the automation our security and threat intelligence teams do every day, and we’re still early in this journey. Our AI-powered log analysis system […]</description>
										<content:encoded>&lt;div class="Page-articleBody"&gt; 
 &lt;div class="RichTextArticleBody RichTextBody"&gt; 
  &lt;p&gt;At AWS, we’ve spent decades developing processes and tools that enable us to defend millions of customers simultaneously, wherever they operate around the world. AI has been an extremely helpful addition to the automation our security and threat intelligence teams do every day, and we’re still early in this journey. Our AI-powered log analysis system has reduced the time SecOps engineers spend analyzing security logs from an average of six hours to just seven minutes, a 50x productivity increase that lets us detect and respond to threats faster than ever. Across AWS, we analyze over 400 trillion network flows per day to detect patterns that signal emerging threats. In 2025 alone, we blocked over 300 million attempts to maliciously encrypt customer files hosted on Amazon S3. At this scale, every improvement in our operations helps protect all customers. AI is already helping us make our defenses stronger for everyone, and I’m excited to see that improvement continue.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;&lt;b&gt;A new class of AI for cybersecurity&lt;/b&gt;&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Today, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://anthropic.com/glasswing" target="_blank" rel="noopener" data-cms-ai="0"&gt;Anthropic announced Project Glasswing&lt;/a&gt;&lt;/span&gt;, a cybersecurity initiative designed to secure the world’s most critical software and advance the cybersecurity practices the industry will need as AI grows more capable. Organizations that build or maintain critical digital infrastructure are getting early access to Claude Mythos Preview, a new class of AI model, to find and patch vulnerabilities in the systems the world depends on. Given our role in securing some of the world’s most essential infrastructure, AWS is playing an integral part in advancing this work.&lt;/p&gt; 
  &lt;p&gt;As part of Project Glasswing, we’ve already applied Claude Mythos Preview to critical AWS codebases that undergo continuous AI-powered security reviews, and even in those well-tested environments, it’s helped us identify additional opportunities to strengthen our code. In our internal testing, Claude Mythos Preview has proven more productive than previous models at surfacing security findings, requiring less manual guidance from our engineers to deliver actionable results. We’ve also given early access to a select group of AWS customers, who are deploying Claude Mythos Preview in their own security workflows and helping shape how the model evolves.&lt;/p&gt; 
  &lt;p&gt;As AI tools grow more powerful in their ability to identify security issues, so must our ability to use them defensively. To that end, we’ve been working closely with Anthropic to help ensure Claude Mythos Preview is ready for enterprise use. AWS is Anthropic’s primary cloud provider for mission-critical workloads, safety research, and foundation model development. More broadly, AWS provides the foundational infrastructure that the world’s leading AI companies rely on to build, train, and deploy their most advanced models. We’re bringing decades of security experience to this partnership, helping to ensure Claude Mythos Preview is ready for even more organizations to build upon and operate securely at scale.&lt;/p&gt; 
  &lt;p&gt;Claude Mythos Preview signals an upcoming wave of models that can find vulnerabilities and build working exploits at a scale and speed we haven’t seen before. Anthropic and AWS are taking a deliberately cautious approach to release. Access begins with a small number of organizations, prioritizing internet-critical companies and open-source maintainers whose software and digital services impact hundreds of millions of users. The goal: find and fix vulnerabilities in the world’s most critical software. Claude Mythos Preview is available in gated research preview through &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/bedrock/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Bedrock&lt;/a&gt;&lt;/span&gt; with enterprise-grade security controls, including customer-managed encryption, VPC isolation, and detailed logging, so your team can explore Claude Mythos Preview’s capabilities without exposing production assets to unnecessary risk.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;&lt;b&gt;AWS architects services with security at the core&lt;/b&gt;&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Our work with Project Glasswing is grounded in a philosophy we’ve developed over two decades of securing mission-critical workloads: you can’t wait for threats to materialize before building your defenses. You have to look around corners, adopt new technologies, build protections first, deploy them in your own operations at scale, and refine them based on what you learn.&lt;/p&gt; 
  &lt;p&gt;That’s exactly what we’ve done at AWS with AI and security. Our approach spans the full spectrum: proactive defense through threat hunting and vulnerability research, dynamic response to active campaigns, and third-party certifications that verify our security practices meet the highest industry standards. This operational experience has taught us where AI accelerates security work and where human judgment remains essential. And it’s reinforced that security innovation must be pragmatic: proven in production before we ask you to rely on it.&lt;/p&gt; 
  &lt;p&gt;That’s also why we help define what secure AI looks like. We became the first major cloud provider to achieve ISO 42001 certification for AI services. We’re active participants in OWASP, the Coalition for Secure AI, and the Frontier Model Forum. And we co-founded the Open Cybersecurity Schema Framework (OCSF) to enable better threat intelligence sharing across the ecosystem. The &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/ec2/nitro/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Nitro System&lt;/a&gt;&lt;/span&gt; provides mathematically proven isolation for workloads. Systems and services like KMS, Nitro, EKS, and Lambda are designed with zero-operator access architectures, meaning AWS personnel can’t access your data. These aren’t aspirational goals. They’re how we operate today, at scale, every day.&lt;/p&gt; 
  &lt;p&gt;Amazon Bedrock is where these principles come to life for AI. Bedrock provides policy-enforced access controls, built-in evaluation tools to measure how effectively models identify and validate vulnerabilities, and the ability to run workloads inside your own virtual private cloud. AWS is also the first cloud provider to achieve FedRAMP High and Department of Defense Security Requirements Guide Impact Level 4 and 5 authorizations for generally available Claude foundation models. Amazon Bedrock is already where the most security-sensitive organizations trust Anthropic’s technology, and it makes perfect sense for Claude Mythos Preview.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;&lt;b&gt;How to get started today&lt;/b&gt;&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;The same principles that guide our work at AWS scale apply regardless of which AI tools you’re using: comprehensive observability, defense in depth, automation where it adds value, and human judgment where it’s essential. Here’s how to put them into practice.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Prepare for the next generation of AI security. &lt;/b&gt;Claude Mythos Preview signals an upcoming wave of AI models that will transform cybersecurity. Start strengthening your security posture now so your organization is ready as these capabilities become more broadly available. Claude Mythos Preview is available in gated preview through Amazon Bedrock, and access is limited to an initial allow-list of organizations. If your organization has been allow-listed, your AWS account team will reach out directly.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Run on-demand penetration testing with AWS Security Agent. &lt;/b&gt;Now generally available,&lt;b&gt; &lt;/b&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/blogs/security/aws-security-agent-on-demand-penetration-testing-now-generally-available/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Security Agent&lt;/a&gt;&lt;/span&gt; delivers autonomous penetration testing that operates 24/7 at a fraction of the cost of manual penetration tests. It transforms penetration testing from a periodic bottleneck into an on-demand capability that scales with your development velocity across AWS, Azure, GCP, other cloud providers, and on-premises. AWS Security Agent represents a new class of frontier agents: autonomous systems that work independently to achieve goals, scale to tackle concurrent tasks, and run persistently without constant human oversight. It deploys specialized AI agents to discover, validate, and report security vulnerabilities through sophisticated multi-step scenarios. Unlike traditional scanners that generate findings without validation, AWS Security Agent identifies potential vulnerabilities, then attempts to exploit them with targeted payloads and attack chains to confirm they are legitimate security risks. Each finding includes CVSS risk scores, application-specific severity ratings, detailed reproduction steps, and remediation suggestions. The result: penetration testing that once took weeks now completes in hours, scales across your entire application portfolio, and helps you get started with remediation instead of leaving you with a report. New customers can explore AWS Security Agent with a 2-month free trial.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Build AI applications you can trust with Amazon Bedrock. &lt;/b&gt;For teams building with generative AI, the challenge isn’t just making AI work, it’s making AI work safely. Amazon Bedrock provides the security and safety controls you need to deploy AI responsibly. Its &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/blogs/aws/minimize-ai-hallucinations-and-deliver-up-to-99-verification-accuracy-with-automated-reasoning-checks-now-available/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Automated Reasoning&lt;/a&gt;&lt;/span&gt; capability is the first and only AI safeguard to use formal logic to help prevent factual errors from hallucinations, providing verifiable explanations with 99% accuracy, a capability we’ve refined over more than a decade of applying formal methods across AWS storage, identity, and networking. Amazon Bedrock also provides customizable guardrails that block harmful content and enforce your content policies, along with comprehensive observability to track AI behavior and detect anomalies across your workloads.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;&lt;b&gt;The threat landscape isn’t waiting&lt;/b&gt;&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;The threat landscape isn’t waiting for us to catch up. Nation-state actors, ransomware operators, and supply chain attackers are already using AI to scale their operations. Our job is to stay ahead by building defenses first, deploying them at scale, and sharing what we learn so the entire community benefits.&lt;/p&gt; 
  &lt;p&gt;That’s what we do every day at AWS. We build in security from the start, ensuring it works and scales before we ask customers to rely on it. We set standards rather than follow them. And we look around corners to address tomorrow’s challenges today.&lt;/p&gt; 
  &lt;p&gt;As AI capabilities continue to evolve, this approach won’t change. We’ll keep building defenses first, refining them at scale, and working with partners like Anthropic to ensure the next generation of AI security tools meets the real-world needs of enterprises defending at this scale.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;&lt;b&gt;Learn More&lt;/b&gt;&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;ul class="rte2-style-ul" id="rte-d20c8362-31f5-11f1-b45e-9dd3cee87742"&gt; 
   &lt;li&gt;Get started with &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/security-agent/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Security Agent&lt;/a&gt;&lt;/span&gt;&lt;/li&gt; 
   &lt;li&gt;Explore &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/bedrock/guardrails/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Bedrock Guardrails&lt;/a&gt;&lt;/span&gt; for AI content safety&lt;/li&gt; 
   &lt;li&gt;See how we’re &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/ai/security" target="_blank" rel="noopener" data-cms-ai="0"&gt;Securing AI at AWS&lt;/a&gt;&lt;/span&gt;&lt;/li&gt; 
   &lt;li&gt;Learn about &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/ai/responsible-ai/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Responsible AI&lt;/a&gt;&lt;/span&gt;&lt;/li&gt; 
   &lt;li&gt;Read about &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/ai/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS AI Compliance&lt;/a&gt;&lt;/span&gt;&lt;/li&gt; 
   &lt;li&gt;Review our &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/security/security-bulletins/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Security Bulletins&lt;/a&gt;&lt;/span&gt; on emerging threats&lt;/li&gt; 
  &lt;/ul&gt;
 &lt;/div&gt; 
&lt;/div&gt; 
&lt;p&gt;If you have feedback about this post, submit comments in the &lt;strong&gt;Comments&lt;/strong&gt; section below.&lt;/p&gt; 
&lt;footer&gt; 
 &lt;div class="blog-author-box"&gt; 
  &lt;div class="blog-author-image"&gt;
   &lt;img loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/04/06/Amy-Herzog-Headshot-e1775513682742-225x300.jpg" alt="" width="225" height="300" class="alignnone size-medium wp-image-41751"&gt;
  &lt;/div&gt; 
  &lt;h3 class="lb-h4"&gt;Amy Herzog&lt;/h3&gt; 
  &lt;p&gt;Amy Herzog is Vice President and Chief Information Security Officer (CISO) at Amazon Web Services (AWS) where she leads a global organization of cloud security professionals in a company in which security is the top priority. Prior to joining AWS, Amy served as CISO for Amazon’s Devices and Services, Media and Entertainment, and Advertising businesses, overseeing the security of consumer technology offerings such as Alexa+ and Ring, and playing a key role in the secure development of Project Kuiper, Amazon’s initiative to provide fast, reliable broadband to customers and communities around the world through low earth orbit satellites. &lt;/p&gt;
 &lt;/div&gt; 
&lt;/footer&gt;</content:encoded>
					
					
			
		
		
			</item>
		<item>
		<title>Introducing the Landing Zone Accelerator on AWS Universal Configuration and LZA Compliance Workbook</title>
		<link>https://aws.amazon.com/blogs/security/introducing-the-landing-zone-accelerator-on-aws-universal-configuration-and-lza-compliance-workbook/</link>
					
		
		<dc:creator><![CDATA[Kevin Donohue]]></dc:creator>
		<pubDate>Sat, 04 Apr 2026 21:35:00 +0000</pubDate>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Compliance]]></category>
		<category><![CDATA[Intermediate (200)]]></category>
		<category><![CDATA[Public Sector]]></category>
		<category><![CDATA[Security, Identity, & Compliance]]></category>
		<category><![CDATA[AWS Shared Responsibility Model]]></category>
		<category><![CDATA[C5]]></category>
		<category><![CDATA[HIPAA]]></category>
		<category><![CDATA[ISO]]></category>
		<category><![CDATA[NIST]]></category>
		<category><![CDATA[risk]]></category>
		<category><![CDATA[Security Blog]]></category>
		<guid isPermaLink="false">aa6fa4572155d6b82578564b9e0e552e60c2fdc8</guid>

					<description>November 20, 2025: Original publication date of this post. This post has been updated to reference the most recent version of the LZA Compliance Workbook published to AWS Artifact in March 2026. We’re pleased to announce the availability of the latest sample security baseline from Landing Zone Accelerator on AWS (LZA)—the Universal Configuration. Developed from […]</description>
										<content:encoded>&lt;blockquote&gt;
 &lt;p&gt;&lt;b&gt;November 20, 2025:&lt;/b&gt; Original publication date of this post. This post has been updated to reference the most recent version of the LZA Compliance Workbook published to AWS Artifact in March 2026.&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;hr&gt; 
&lt;div class="Page-articleBody"&gt; 
 &lt;div class="RichTextArticleBody RichTextBody"&gt; 
  &lt;p&gt;We’re pleased to announce the availability of the latest sample security baseline from &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/solutions/implementations/landing-zone-accelerator-on-aws/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Landing Zone Accelerator on AWS (LZA)&lt;/a&gt;&lt;/span&gt;—the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://github.com/aws/lza-universal-configuration" target="_blank" rel="noopener" data-cms-ai="0"&gt;Universal Configuration&lt;/a&gt;&lt;/span&gt;. Developed from years of field experience with highly regulated customers including governments across the world, and in consultation with AWS Partners and industry experts, the Universal Configuration was built to help you implement security and compliance at scale for on your regulated workloads. By setting a high bar with the latest AWS security best practices, the Universal Configuration can help address technical control requirements from compliance frameworks across different geographic regions and industry verticals. &lt;span class="LinkEnhancement"&gt;&lt;span class="Link"&gt;The Universal&lt;/span&gt;&lt;/span&gt; Configuration’s multi-account security architecture provides a foundation to host your diverse workload requirements today along with providing the ability to explore the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/ai/generative-ai/" target="_blank" rel="noopener" data-cms-ai="0"&gt;generative AI&lt;/a&gt;&lt;/span&gt; and &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/ai/agentic-ai/" target="_blank" rel="noopener" data-cms-ai="0"&gt;agentic AI&lt;/a&gt;&lt;/span&gt; solutions that will shape your organization in the future. It can also replace months of complex planning and design by deploying a comprehensive security and compliance-driven environment based on &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/architecture/well-architected/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Well-Architected&lt;/a&gt;&lt;/span&gt; principles in a matter of hours.&lt;/p&gt; 
  &lt;p&gt;As organizations grow, they typically pursue or must adhere to new security compliance certifications. LZA and the Universal Configuration help organizations of all sizes and phases in their security and compliance journey. The speed of deployment, step-by-step documentation, and compliance resources can reduce traditional assessment and authorization timelines by months and result in more predictable and successful audit outcomes. This enables more freedom to invest resources to grow the business instead of choosing between security and compliance tradeoffs.&lt;/p&gt; 
  &lt;p&gt;The Universal Configuration helps organizations:&lt;/p&gt; 
  &lt;ul id="rte-492fe480-306d-11f1-9eb3-1b4c3c382a11" class="rte2-style-ul"&gt; 
   &lt;li&gt;&lt;b&gt;Automate the deployment of a secure multi-account AWS environment&lt;/b&gt; 
    &lt;ul id="rte-492fe481-306d-11f1-9eb3-1b4c3c382a11"&gt; 
     &lt;li&gt;Foundational security controls based on AWS Well-Architected best practices&lt;/li&gt; 
     &lt;li&gt;Apply consistent and predictable security controls post-deployment&lt;/li&gt; 
     &lt;li&gt;Enable and integrate with native AWS security, identity, and compliance services&lt;/li&gt; 
    &lt;/ul&gt; &lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Implement controls across system layers&lt;/b&gt; 
    &lt;ul id="rte-492fe482-306d-11f1-9eb3-1b4c3c382a11"&gt; 
     &lt;li&gt;Organization-wide security architecture&lt;/li&gt; 
     &lt;li&gt;Perimeter and resource-specific preventative, proactive, and detective controls&lt;/li&gt; 
     &lt;li&gt;Support for multi-AWS Region resilience, disaster recovery, and active failover&lt;/li&gt; 
    &lt;/ul&gt; &lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Establish a foundation for security and compliance readiness&lt;/b&gt; 
    &lt;ul id="rte-492fe483-306d-11f1-9eb3-1b4c3c382a11"&gt; 
     &lt;li&gt;Built-in AWS security best practices and technical implementation statements&lt;/li&gt; 
     &lt;li&gt;Map LZA capabilities across global and industry-specific compliance frameworks&lt;/li&gt; 
     &lt;li&gt;Deploy hundreds of controls hours instead of months&lt;/li&gt; 
    &lt;/ul&gt; &lt;/li&gt; 
  &lt;/ul&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;The LZA Compliance Workbook&lt;/h2&gt; 
  &lt;/div&gt; 
  &lt;p&gt;The LZA engine has been a trusted tool for quickly deploying secure multi-account AWS environments for over 4 years. It is also cost effective because you pay only for the AWS services used to operate your environment. The Universal Configuration is the first sample configuration accompanied by the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://us-east-1.console.aws.amazon.com/artifact/v2/reports/details/report-2qxiJVQcB8Y6i4h4" target="_blank" rel="noopener" data-cms-ai="0"&gt;LZA Compliance Workbook&lt;/a&gt;&lt;/span&gt; available on &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/artifact/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Artifact&lt;/a&gt;&lt;/span&gt;. It is a first-of-its-kind resource with detailed control mappings showing how the Universal Configuration can &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/solutions/latest/landing-zone-accelerator-on-aws/support-for-regions-and-industries.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;support different industries and regions&lt;/a&gt;&lt;/span&gt;, helping you address requirements from frameworks listed below.&lt;/p&gt; 
  &lt;div class="Page-articleBody"&gt; 
   &lt;div class="RichTextArticleBody RichTextBody"&gt; 
    &lt;table style="border-collapse: separate;text-indent: initial;border-spacing: 2px;border-color: gray;width: 100%" border="1px" cellpadding="5px"&gt; 
     &lt;tbody&gt; 
      &lt;tr style="vertical-align: middle"&gt; 
       &lt;td style="padding: 5px;border: 1px solid #dddddd"&gt; 
        &lt;ul id="rte-82062740-3452-11f1-9224-7b56a7ae80c8" class="rte2-style-ul"&gt; 
         &lt;li&gt;NIST 800-53 Rev5&lt;/li&gt; 
        &lt;/ul&gt; &lt;/td&gt; 
       &lt;td style="padding: 5px;border: 1px solid #dddddd"&gt; 
        &lt;ul id="rte-82062741-3452-11f1-9224-7b56a7ae80c8" class="rte2-style-ul"&gt; 
         &lt;li&gt;C5: 2020 (Germany)&lt;/li&gt; 
        &lt;/ul&gt; &lt;/td&gt; 
       &lt;td style="padding: 5px;border: 1px solid #dddddd"&gt; 
        &lt;ul id="rte-82062742-3452-11f1-9224-7b56a7ae80c8" class="rte2-style-ul"&gt; 
         &lt;li&gt;HIPAA&lt;/li&gt; 
        &lt;/ul&gt; &lt;/td&gt; 
       &lt;td style="padding: 5px;border: 1px solid #dddddd"&gt; 
        &lt;ul id="rte-82062743-3452-11f1-9224-7b56a7ae80c8" class="rte2-style-ul"&gt; 
         &lt;li&gt;SOC 2&lt;/li&gt; 
        &lt;/ul&gt; &lt;/td&gt; 
      &lt;/tr&gt; 
      &lt;tr&gt; 
       &lt;td style="padding: 5px;border: 1px solid #dddddd"&gt; 
        &lt;ul id="rte-82062744-3452-11f1-9224-7b56a7ae80c8" class="rte2-style-ul"&gt; 
         &lt;li&gt;CMMC Level 2&lt;/li&gt; 
        &lt;/ul&gt; &lt;/td&gt; 
       &lt;td style="padding: 5px;border: 1px solid #dddddd"&gt; 
        &lt;ul id="rte-82062745-3452-11f1-9224-7b56a7ae80c8" class="rte2-style-ul"&gt; 
         &lt;li&gt;ISO/IEC 27001 Annex A&lt;/li&gt; 
        &lt;/ul&gt; &lt;/td&gt; 
       &lt;td style="padding: 5px;border: 1px solid #dddddd"&gt; 
        &lt;ul id="rte-82062746-3452-11f1-9224-7b56a7ae80c8" class="rte2-style-ul"&gt; 
         &lt;li&gt;US Dept of War CCI&lt;/li&gt; 
        &lt;/ul&gt; &lt;/td&gt; 
       &lt;td style="padding: 5px;border: 1px solid #dddddd"&gt; 
        &lt;ul id="rte-82062747-3452-11f1-9224-7b56a7ae80c8" class="rte2-style-ul"&gt; 
         &lt;li&gt;NERC-CIP&lt;/li&gt; 
        &lt;/ul&gt; &lt;/td&gt; 
      &lt;/tr&gt; 
      &lt;tr&gt; 
       &lt;td style="padding: 5px;border: 1px solid #dddddd"&gt; 
        &lt;ul id="rte-82062748-3452-11f1-9224-7b56a7ae80c8" class="rte2-style-ul"&gt; 
         &lt;li&gt;NIST 800-171&lt;/li&gt; 
        &lt;/ul&gt; &lt;/td&gt; 
       &lt;td style="padding: 5px;border: 1px solid #dddddd"&gt; 
        &lt;ul id="rte-82062749-3452-11f1-9224-7b56a7ae80c8" class="rte2-style-ul"&gt; 
         &lt;li&gt;NATO D-32 Appendix B&lt;/li&gt; 
        &lt;/ul&gt; &lt;/td&gt; 
       &lt;td style="padding: 5px;border: 1px solid #dddddd"&gt; 
        &lt;ul id="rte-8206274a-3452-11f1-9224-7b56a7ae80c8" class="rte2-style-ul"&gt; 
         &lt;li&gt;NIST CSF 2.0&lt;/li&gt; 
        &lt;/ul&gt; &lt;/td&gt; 
       &lt;td style="padding: 5px;border: 1px solid #dddddd"&gt; 
        &lt;ul id="rte-8206274b-3452-11f1-9224-7b56a7ae80c8" class="rte2-style-ul"&gt; 
         &lt;li&gt;CIS Critical Controls v8&lt;/li&gt; 
        &lt;/ul&gt; &lt;/td&gt; 
      &lt;/tr&gt; 
     &lt;/tbody&gt; 
    &lt;/table&gt; 
   &lt;/div&gt; 
  &lt;/div&gt; 
  &lt;p&gt;The LZA Compliance Workbook is regularly maintained to reflect the latest Universal Configuration baseline and will include additional compliance mappings in future releases. The workbook contains detailed security configuration descriptions based on the Universal Configuration deployment files, along with control requirement mappings and implementation statements that translate its security capabilities into a compliance-friendly format. By combining AWS security best practices with global compliance expertise, &lt;span class="LinkEnhancement"&gt;&lt;span class="Link"&gt;the Universal&lt;/span&gt;&lt;/span&gt; Configuration delivers predicable security outcomes while also helping you meet regional and industry requirements.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Getting started&lt;/h2&gt; 
  &lt;/div&gt; 
  &lt;p&gt;To get started with the Landing Zone Accelerator on AWS Universal Configuration, the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/solutions/latest/landing-zone-accelerator-on-aws/solution-overview.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;LZA Implementation Guide&lt;/a&gt;&lt;/span&gt; walks you through the steps, use cases, and considerations when deploying with LZA. You can download the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://us-east-1.console.aws.amazon.com/artifact/v2/reports/details/report-2qxiJVQcB8Y6i4h4" target="_blank" rel="noopener" data-cms-ai="0"&gt;LZA Compliance Workbook&lt;/a&gt;&lt;/span&gt; from AWS Artifact today and &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/artifact/latest/ug/managing-notifications.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;configure notifications&lt;/a&gt;&lt;/span&gt; to receive emails when future versions are released. You can view the deployment files and additional technical implementation guidance on the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://github.com/aws/lza-universal-configuration" target="_blank" rel="noopener" data-cms-ai="0"&gt;GitHub Universal Configuration sample and documentation page&lt;/a&gt;&lt;/span&gt;. Additionally, visit the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/partners/success/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Partner Network (APN)&lt;/a&gt;&lt;/span&gt; for help with audit and advisory initiatives, cloud migrations, deploying the LZA Universal Configuration, and other services. You can visit the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://partners.amazonaws.com/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Partner Finder tool&lt;/a&gt;&lt;/span&gt; and search by solution for &lt;i&gt;Landing Zone Accelerator&lt;/i&gt; for the latest LZA Partner offerings.&lt;/p&gt; 
 &lt;/div&gt; 
&lt;/div&gt; 
&lt;p&gt;If you have feedback about this post, submit comments in the &lt;strong&gt;Comments&lt;/strong&gt; section below.&lt;/p&gt; 
&lt;footer&gt; 
 &lt;div class="blog-author-box"&gt; 
  &lt;div class="blog-author-image"&gt;
   &lt;img loading="lazy" class="aligncenter size-full wp-image-29953" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2023/06/22/Kevin-Donohue.jpg" alt="Kevin Donohue" width="120" height="160"&gt;
  &lt;/div&gt; 
  &lt;h3 class="lb-h4"&gt;Kevin Donohue&lt;/h3&gt; 
  &lt;p&gt;Kevin is a Senior Security Compliance Engineer at AWS, where he builds solutions and resources to help AWS customers achieve their security and compliance goals. Prior to joining the Landing Zone Accelerator team in AWS Professional Services in 2024, Kevin began his tenure with AWS Security in 2019 specializing in FedRAMP compliance and the shared responsibility model.&lt;/p&gt; 
 &lt;/div&gt; 
&lt;/footer&gt; 
&lt;footer&gt; 
 &lt;div class="blog-author-box"&gt; 
  &lt;div class="blog-author-image"&gt;
   &lt;img loading="lazy" class="aligncenter size-full wp-image-40748" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2025/11/20/Christine-Screnci.jpg" alt="Christine Screnci" width="120" height="160"&gt;
  &lt;/div&gt; 
  &lt;h3 class="lb-h4"&gt;Christine Screnci&lt;/h3&gt; 
  &lt;p&gt;Christine is a Principal Technical Product Manager at AWS, where she specializes in developing and scaling enterprise-level solutions. Christine began her tenure with AWS in 2016 working with Worldwide Public Sector customers to improve the migration and modernization journey through globally scaled solutions. She is passionate about hypothesis-driven development and experimentation to improve customer experiences with AWS technologies.&lt;/p&gt; 
 &lt;/div&gt; 
&lt;/footer&gt; 
&lt;footer&gt; 
 &lt;div class="blog-author-box"&gt; 
  &lt;div class="blog-author-image"&gt;
   &lt;img loading="lazy" class="aligncenter size-full wp-image-40736" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2025/11/20/Bhavish-Khatri.jpg" alt="" width="120" height="160"&gt;
  &lt;/div&gt; 
  &lt;h3 class="lb-h4"&gt;Bhavish Khatri&lt;/h3&gt; 
  &lt;p&gt;Bhavish is a Senior Delivery Engineer at AWS, where he builds enterprise-scale solutions to help large organizations achieve their compliance goals. Bhavish started at AWS in 2018, specializing in multi-account AWS deployments and focusing on LZA and the Universal Configuration solution. He helps organizations build secure, scalable cloud environments that align with global compliance frameworks and regulatory requirements across diverse sectors.&lt;/p&gt; 
 &lt;/div&gt; 
&lt;/footer&gt;</content:encoded>
					
					
			
		
		
			</item>
		<item>
		<title>How AWS KMS and AWS Encryption SDK overcome symmetric encryption bounds</title>
		<link>https://aws.amazon.com/blogs/security/how-aws-kms-and-aws-encryption-sdk-overcome-symmetric-encryption-bounds/</link>
					
		
		<dc:creator><![CDATA[Panos Kampanakis]]></dc:creator>
		<pubDate>Fri, 03 Apr 2026 15:44:48 +0000</pubDate>
				<category><![CDATA[Security, Identity, & Compliance]]></category>
		<category><![CDATA[Technical How-to]]></category>
		<guid isPermaLink="false">335c05616c480ed0142060a9261ba3bb2010c0a2</guid>

					<description>If you run high-scale applications that encrypt large volumes of data, you might be concerned about tracking encryption limits and rotating keys. This post explains how AWS Key Management Service (AWS KMS) and the AWS Encryption SDK handle Advanced Encryption Standard in Galois Counter Mode’s (AES-GCM) encryption limits or bounds automatically by using derived key […]</description>
										<content:encoded>&lt;div class="Page-articleBody"&gt; 
 &lt;div class="RichTextArticleBody RichTextBody"&gt; 
  &lt;p&gt;If you run high-scale applications that encrypt large volumes of data, you might be concerned about tracking encryption limits and rotating keys. This post explains how &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/kms" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Key Management Service (AWS KMS)&lt;/a&gt;&lt;/span&gt; and the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/introduction.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Encryption SDK&lt;/a&gt;&lt;/span&gt; handle Advanced Encryption Standard in Galois Counter Mode’s (AES-GCM) &lt;i&gt;encryption limits&lt;/i&gt; or &lt;i&gt;bounds&lt;/i&gt; automatically by using derived key methods so you don’t have to. These methods generate a new derived key &lt;code class="CodeInline" style="color: #000"&gt;K&lt;sub&gt;d&lt;/sub&gt; &lt;/code&gt; from the main key &lt;code class="CodeInline" style="color: #000"&gt;K&lt;/code&gt; by using a random nonce. That way, encryption is done with a unique key each time, and &lt;code class="CodeInline" style="color: #000"&gt;K&lt;/code&gt; can be used for much longer. Similar derived key modes have been proposed in various schemes recently like &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://link.springer.com/chapter/10.1007/978-3-032-10536-3_8" target="_blank" rel="noopener" data-cms-ai="0"&gt;&lt;u&gt;(KC-)XAES&lt;/u&gt;&lt;/a&gt;&lt;/span&gt;, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://eprint.iacr.org/2025/785.pdf" target="_blank" rel="noopener" data-cms-ai="0"&gt;&lt;u&gt;DNDK v2&lt;/u&gt;&lt;/a&gt;&lt;/span&gt;, and &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://ia.cr/2020/1153" target="_blank" rel="noopener" data-cms-ai="0"&gt;&lt;u&gt;ia.cr/2020/1153&lt;/u&gt;&lt;/a&gt;&lt;/span&gt;.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;&lt;/h3&gt; 
  &lt;/div&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Symmetric encryption bounds&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Symmetric encryption algorithms encrypt large amounts of data in transit and at rest. Modern ciphers also authenticate data using an authentication tag — these are called Authenticated Encryption with Additional Data (AEAD) ciphers. Examples of AEAD ciphers include AES-GCM and ChaCha20/Poly1305.&lt;/p&gt; 
  &lt;p&gt;AES-GCM is the most widely used encryption algorithm and was standardized by NIST in &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://csrc.nist.gov/pubs/sp/800/38/d/final" target="_blank" rel="noopener" data-cms-ai="0"&gt;&lt;u&gt;SP 800-38D&lt;/u&gt;&lt;/a&gt;&lt;/span&gt;. AES-GCM uses a 128- or 256-bit key &lt;code class="CodeInline" style="color: #000"&gt;K&lt;/code&gt; and a (usually 96-bit) initialization vector (&lt;code class="CodeInline" style="color: #000"&gt;IV&lt;/code&gt;) to encrypt and authenticate a plaintext &lt;code class="CodeInline" style="color: #000"&gt;P&lt;/code&gt;. It also authenticates additional authenticated data (&lt;code class="CodeInline" style="color: #000"&gt;AAD&lt;/code&gt;). The output is a ciphertext &lt;code class="CodeInline" style="color: #000"&gt;C&lt;/code&gt; and an authentication tag &lt;code class="CodeInline" style="color: #000"&gt;T&lt;/code&gt;: &lt;br&gt;&lt;code class="CodeInline" style="color: #000"&gt;(C, T) = AES-GCM(K, IV, AAD, P&lt;/code&gt;)&lt;/p&gt; 
  &lt;p&gt;At decryption, the recipient decrypts &lt;code class="CodeInline" style="color: #000"&gt;C&lt;/code&gt; and verifies the tag &lt;code class="CodeInline" style="color: #000"&gt;T&lt;/code&gt; by using &lt;code class="CodeInline" style="color: #000"&gt;K&lt;/code&gt;, &lt;code class="CodeInline" style="color: #000"&gt;IV&lt;/code&gt; and &lt;code class="CodeInline" style="color: #000"&gt;AAD&lt;/code&gt; and produces the original plaintext &lt;code class="CodeInline" style="color: #000"&gt;P&lt;/code&gt; (assuming the tag was authenticated successfully).&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;&lt;b&gt;Encryption invocation limits&lt;/b&gt;&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;When encrypting data, it’s critical that the &lt;code class="CodeInline" style="color: #000"&gt;K, IV&lt;/code&gt; tuple does not repeat for the life of the key &lt;code class="CodeInline" style="color: #000"&gt;K&lt;/code&gt;. Otherwise, the security properties of AES-GCM are lost. &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://csrc.nist.gov/pubs/sp/800/38/d/final" target="_blank" rel="noopener" data-cms-ai="0"&gt;&lt;u&gt;SP 800-38D&lt;/u&gt;&lt;/a&gt;&lt;/span&gt; requires an implementation to have a probability of key and &lt;code class="CodeInline" style="color: #000"&gt;IV&lt;/code&gt; reuse less than one in 4.29 billion (&amp;lt;2&lt;sup&gt;-32&lt;/sup&gt;). This can be achieved by using a deterministic &lt;code class="CodeInline" style="color: #000"&gt;IV&lt;/code&gt; that doesn’t repeat or a random &lt;code class="CodeInline" style="color: #000"&gt;IV&lt;/code&gt;. If a random &lt;code class="CodeInline" style="color: #000"&gt;IV&lt;/code&gt; is used, then it is necessary to rekey after 2&lt;sup&gt;32&lt;/sup&gt; encryptions. For example, common protocols like TLS or IKEv2/IPsec prevent (&lt;code class="CodeInline" style="color: #000"&gt;K, IV&lt;/code&gt;) collisions by using deterministic (that is, starting from a random value and incrementing) &lt;code class="CodeInline" style="color: #000"&gt;IV&lt;/code&gt;s per connection.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;&lt;b&gt;Data bounds&lt;/b&gt;&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Assuming the probability of an (&lt;code class="CodeInline" style="color: #000"&gt;K, IV&lt;/code&gt;) collision is statistically insignificant (&amp;lt;2&lt;sup&gt;-32&lt;/sup&gt;), there are still data bounds when encrypting large amounts of plaintexts with the same key &lt;code class="CodeInline" style="color: #000"&gt;K&lt;/code&gt;. The block counter in AES-GCM is 32-bits, which leads to a limit of 2&lt;sup&gt;32&lt;/sup&gt;-2 blocks (68.72 GB) per encryption operation (per (&lt;code class="CodeInline" style="color: #000"&gt;K, IV&lt;/code&gt;) pair). Additionally, a failure to restrict the total amount of data reduces the security guarantees an adversary can distinguish between two different plaintexts, that is knowing which of two messages are encrypted in the ciphertext. The higher protection of indistinguishability, the lower the total number of bytes you can encrypt. NIST’s specification, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://csrc.nist.gov/pubs/sp/800/38/d/final" target="_blank" rel="noopener" data-cms-ai="0"&gt;SP 800-38D&lt;/a&gt;&lt;/span&gt;, suggests a limit of 2&lt;sup&gt;68&lt;/sup&gt; bytes protected under a single key &lt;code class="CodeInline" style="color: #000"&gt;K&lt;/code&gt; which provides an indistinguishability probability of 50%. More conservative security margins are sometimes used, based on different analyses (&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="http://ia.cr/2024/051" target="_blank" rel="noopener" data-cms-ai="0"&gt;ia.cr/2024/051&lt;/a&gt;&lt;/span&gt;, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://dl.acm.org/doi/10.1145/3243734.3243816" target="_blank" rel="noopener" data-cms-ai="0"&gt;10.1145/3243734.3243816&lt;/a&gt;&lt;/span&gt;). AWS sets a more conservative margin too, enforcing a negligible indistinguishability probability (&amp;lt;2&lt;sup&gt;-32&lt;/sup&gt;) by default.&lt;/p&gt; 
  &lt;p&gt;Once you reach the AES-GCM data bounds for a given security margin, you need to rotate the symmetric key. Such limits (for example, 2&lt;sup&gt;32&lt;/sup&gt; encryptions per key with random &lt;code class="CodeInline" style="color: #000"&gt;IV&lt;/code&gt;s, or encrypting the maximum total data per key) could be reached in modern, high-scale encryption use cases. Tracking these limits across distributed systems with many concurrent sessions adds operational complexity. We have shared these challenges with using AES-GCM at the scale of AWS in a &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://csrc.nist.gov/csrc/media/Events/2023/third-workshop-on-block-cipher-modes-of-operation/documents/accepted-papers/Practical%20Challenges%20with%20AES-GCM.pdf" target="_blank" rel="noopener" data-cms-ai="0"&gt;&lt;u&gt;writeup&lt;/u&gt;&lt;/a&gt;&lt;/span&gt; and a &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://csrc.nist.gov/csrc/media/Presentations/2023/practical-challenges-with-aes-gcm/images-media/sess-4-kampanakis-bcm-workshop-2023.pdf" target="_blank" rel="noopener" data-cms-ai="0"&gt;&lt;u&gt;presentation&lt;/u&gt;&lt;/a&gt;&lt;/span&gt; in &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://csrc.nist.gov/Events/2023/third-workshop-on-block-cipher-modes-of-operation" target="_blank" rel="noopener" data-cms-ai="0"&gt;&lt;u&gt;NIST’s third NIST Workshop on Block Cipher Modes of Operation in 2023&lt;/u&gt;&lt;/a&gt;&lt;/span&gt;.&lt;/p&gt; 
  &lt;p class="cms-textAlign-left"&gt;&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;How AWS KMS uses derived keys&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/kms/latest/developerguide/overview.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;&lt;u&gt;AWS KMS&lt;/u&gt;&lt;/a&gt;&lt;/span&gt; is a managed service that you can use to create and control the keys used to encrypt and sign data. The AWS &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;&lt;u&gt;KMS Encrypt API&lt;/u&gt;&lt;/a&gt;&lt;/span&gt; supports symmetric and asymmetric encryption. For symmetric key encryption, AWS KMS uses AES-GCM with 256-bit keys to encrypt a plaintext up to 4 KB in size. The AWS KMS request includes the plaintext, and the symmetric key identifier (&lt;code class="CodeInline" style="color: #000"&gt;KeyId&lt;/code&gt;) of the symmetric customer managed key (CMK) stored in KMS.&lt;/p&gt; 
  &lt;p&gt;A symmetric key Encrypt API call to AWS KMS uses the CMK to derive a symmetric encryption key before encrypting the plaintext. AWS KMS generates a random 128-bit nonce &lt;code class="CodeInline" style="color: #000"&gt;N&lt;/code&gt; and produces a 256-bit symmetric key from the main key &lt;code class="CodeInline" style="color: #000"&gt;K&lt;/code&gt; specified in the &lt;code class="CodeInline" style="color: #000"&gt;KeyId&lt;/code&gt; by using a key derivation function (KDF). A KDF takes in a key, a label and context, an invocation-specific nonce &lt;code class="CodeInline" style="color: #000"&gt;N&lt;/code&gt;, and an output length &lt;code class="CodeInline" style="color: #000"&gt;L&lt;sub&gt;Km&lt;/sub&gt;&lt;/code&gt; in bytes, and produces key material of that length as &lt;code class="CodeInline" style="color: #000"&gt;K&lt;sub&gt;mat&lt;/sub&gt; = KDF(K, &amp;lt;label&amp;gt;, &amp;lt;context&amp;gt;, N, L&lt;sub&gt;Km&lt;/sub&gt;)&lt;/code&gt;. &lt;code class="CodeInline" style="color: #000"&gt;&amp;lt;label&amp;gt;&lt;/code&gt; is usually an application- or invocation-specific value. &lt;code class="CodeInline" style="color: #000"&gt;&amp;lt;context&amp;gt;&lt;/code&gt; includes invocation-specific input. For AWS KMS, the KDF function is a NIST &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://csrc.nist.gov/pubs/sp/800/108/r1/upd1/final" target="_blank" rel="noopener" data-cms-ai="0"&gt;&lt;u&gt;SP 800-108r1&lt;/u&gt;&lt;/a&gt;&lt;/span&gt; Counter Mode KDF producing 256 bits of keying material with HMAC-SHA256 as the pseudorandom function. &lt;code class="CodeInline" style="color: #000"&gt;K&lt;sub&gt;d&lt;/sub&gt;&lt;/code&gt; is essentially produced with one call to HMAC-SHA256 with key &lt;code class="CodeInline" style="color: #000"&gt;K&lt;/code&gt; as: &lt;br&gt;&lt;code class="CodeInline" style="color: #000"&gt;K&lt;sub&gt;d&lt;/sub&gt; = HMAC-SHA256(K, &amp;lt;ctx&amp;gt;)&lt;/code&gt;,&lt;br&gt; where &lt;code class="CodeInline" style="color: #000"&gt;&amp;lt;ctx&amp;gt;&lt;/code&gt; consists of a counter value concatenated with constants and &lt;code class="CodeInline" style="color: #000"&gt;N&lt;/code&gt;.&lt;/p&gt; 
  &lt;p&gt;Subsequently, AWS KMS generates a 96-bit random &lt;code class="CodeInline" style="color: #000"&gt;IV&lt;/code&gt; and encrypts the input plaintext input &lt;code class="CodeInline" style="color: #000"&gt;P&lt;/code&gt; with AES-GCM as &lt;code class="CodeInline" style="color: #000"&gt;(C, T) = AES-GCM(K&lt;sub&gt;d&lt;/sub&gt;, IV, AAD, P)&lt;/code&gt;.&lt;/p&gt; 
  &lt;p&gt;AWS KMS returns a &lt;code class="CodeInline" style="color: #000"&gt;CiphertextBlob&lt;/code&gt; that includes the &lt;code class="CodeInline" style="color: #000"&gt;IV&lt;/code&gt;, nonce &lt;code class="CodeInline" style="color: #000"&gt;N&lt;/code&gt;, ciphertext and tag (&lt;code class="CodeInline" style="color: #000"&gt;C,T&lt;/code&gt;) so that the &lt;code class="CodeInline" style="color: #000"&gt;CiphertextBlob&lt;/code&gt; can be decrypted on subsequent calls to the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;&lt;u&gt;Decrypt API&lt;/u&gt;&lt;/a&gt;&lt;/span&gt;.&lt;/p&gt; 
  &lt;p&gt;Intuitively, the 128-bit random nonce used to derive a per encryption key under a CMK ensures that a caller can go way over the 2&lt;sup&gt;32&lt;/sup&gt; limit on the number of encryptions they can make under the CMK. Furthermore, the limit of 4 KB on the payload size for an AWS Encrypt call ensures the total amount of data encrypted under an encryption key stays well below NIST or other more conservative total encryption bounds. For more details and the mathematics of the security underpinnings of this scheme, see &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://www.mdpi.com/2410-387X/3/3/23" target="_blank" rel="noopener" data-cms-ai="0"&gt;&lt;u&gt;Key Management Systems at the Cloud Scale&lt;/u&gt;&lt;/a&gt;&lt;/span&gt;.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;&lt;/h3&gt; 
  &lt;/div&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;How AWS Encryption SDK applies derived key modes per invocation&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;The AWS Encryption SDK is a client-side encryption library used for encrypting and decrypting data. It can be configured to use data key caching to reduce API calls when encrypting multiple payloads. Using a nonce-based derived key for each AES-GCM encryption invocation eliminates the need for customers to keep track of the total amount of data they encrypt under a single data key.&lt;/p&gt; 
  &lt;p&gt;Although the AWS Encryption SDK provides a lot of flexibility to accommodate many encryption scenarios, the default configuration handles key derivation and frame sizing automatically, so you don’t need to tune these settings for most use cases. To derive a different key per invocation, like AWS KMS, it uses a randomly generated value, &lt;code class="CodeInline" style="color: #000"&gt;N&lt;/code&gt;, the main key &lt;code class="CodeInline" style="color: #000"&gt;K&lt;/code&gt;, and some invocation-specific context in the KDF. &lt;code class="CodeInline" style="color: #000"&gt;N&lt;/code&gt; is 256 bits in the default configuration. The underlying KDF is the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://datatracker.ietf.org/doc/html/rfc5869" target="_blank" rel="noopener" data-cms-ai="0"&gt;&lt;u&gt;HMAC-based Extract-and-Expand Key Derivation Function (HKDF)&lt;/u&gt;&lt;/a&gt;&lt;/span&gt; with SHA512 as the default hash. &lt;code class="CodeInline" style="color: #000"&gt;K&lt;sub&gt;d&lt;/sub&gt;&lt;/code&gt; is essentially produced with one HKDF call with key &lt;code class="CodeInline" style="color: #000"&gt;K&lt;/code&gt; as:&lt;br&gt;&lt;code class="CodeInline" style="color: #000"&gt;K&lt;sub&gt;d&lt;/sub&gt; = HKDF(K, salt=&amp;lt;lbl&amp;gt;, info=&amp;lt;ctx&amp;gt;, 32)&lt;/code&gt;,&lt;br&gt; where &lt;code class="CodeInline" style="color: #000"&gt;&amp;lt;lbl&amp;gt;&lt;/code&gt; is a constant and &lt;code class="CodeInline" style="color: #000"&gt;&amp;lt;ctx&amp;gt;&lt;/code&gt; consists of constants concatenated with a random 256-bit value in the default configuration.&lt;/p&gt; 
  &lt;p&gt;Subsequently, the AWS Encryption SDK uses the derived key &lt;code class="CodeInline" style="color: #000"&gt;K&lt;sub&gt;d&lt;/sub&gt;&lt;/code&gt; to encrypt user content, broken into 4-KB frames by default. Each frame plaintext &lt;code class="CodeInline" style="color: #000"&gt;Pf&lt;/code&gt; is encrypted with AES-GCM with a deterministic &lt;code class="CodeInline" style="color: #000"&gt;IV&lt;/code&gt; as &lt;code class="CodeInline" style="color: #000"&gt;(C, T) = AES-GCM(Kd, IV, AAD, Pf)&lt;/code&gt;.&lt;/p&gt; 
  &lt;p&gt;The 96-bit deterministic IV consists of the frame counter &lt;code class="CodeInline" style="color: #000"&gt;frameID&lt;/code&gt;, where &lt;code class="CodeInline" style="color: #000"&gt;frameID&lt;/code&gt;&amp;lt;2&lt;sup&gt;32&lt;/sup&gt;. The additional authenticated data AAD is &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/body-aad-reference.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;&lt;u&gt;specific to the Encryption SDK data frame&lt;/u&gt;&lt;/a&gt;&lt;/span&gt;. At decryption, the recipient derives &lt;code class="CodeInline" style="color: #000"&gt;K&lt;sub&gt;d&lt;/sub&gt;&lt;/code&gt; from &lt;code class="CodeInline" style="color: #000"&gt;K&lt;/code&gt; in the same way and decrypts the ciphertext &lt;code class="CodeInline" style="color: #000"&gt;C&lt;/code&gt; to produce the frame plaintext &lt;code class="CodeInline" style="color: #000"&gt;Pf&lt;/code&gt; and validates the authentication tag &lt;code class="CodeInline" style="color: #000"&gt;T&lt;/code&gt;.&lt;/p&gt; 
  &lt;p&gt;The 4 KB frame size ensures that by default no more than 2&lt;sup&gt;44&lt;/sup&gt; bytes (2&lt;sup&gt;32&lt;/sup&gt; frames of 4 K bytes each) of data can be encrypted under a single encryption key. This is well below the NIST suggested bound (2&lt;sup&gt;68&lt;/sup&gt;), even with data key caching. It is also well below our conservative requirement of &amp;lt;2&lt;sup&gt;-32&lt;/sup&gt; indistinguishability probability. The limit of invocations per key, even with data key caching, exceeds the encryption counts in most high-scale applications.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; While the AWS Encryption SDK makes conservative choices in its default configuration, if you’re using &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/about-versions.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;&lt;u&gt;legacy version 1.0&lt;/u&gt;&lt;/a&gt;&lt;/span&gt; or making configuration changes, you might have lower security guarantees. For example, a custom maximized frame size of 2&lt;sup&gt;32&lt;/sup&gt;-1 bytes would lead to larger total plaintext size which is still below the 2&lt;sup&gt;68&lt;/sup&gt; NIST suggested limit, but not below other conservative bounds.&lt;/p&gt; 
  &lt;p&gt;Note that the default AWS Encryption SDK configuration also provides lesser-known security properties, like &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://eprint.iacr.org/2020/1153.pdf" target="_blank" rel="noopener" data-cms-ai="0"&gt;&lt;u&gt;key commitment&lt;/u&gt;&lt;/a&gt;&lt;/span&gt;. The &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://github.com/awslabs/aws-encryption-sdk-specification/blob/280a894019cd1b4efc6b16cfb233bf1ec21bc508/framework/transitive-requirements.md?plain=1#L64" target="_blank" rel="noopener" data-cms-ai="0"&gt;&lt;u&gt;commitment string&lt;/u&gt;&lt;/a&gt;&lt;/span&gt; is produced similarly to the derived key, by using &lt;code class="CodeInline" style="color: #000"&gt;K&lt;/code&gt; and HKDF.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;&lt;/h3&gt; 
  &lt;/div&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Conclusion&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;By deriving a unique key per encryption call, AWS KMS and the AWS Encryption SDK eliminate the need to manually track AES-GCM limits.&lt;/p&gt; 
  &lt;p&gt;For the academic basis for AES-GCM’s bounds, see &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://csrc.nist.gov/pubs/sp/800/38/d/final" target="_blank" rel="noopener" data-cms-ai="0"&gt;SP 800-38D&lt;/a&gt;&lt;/span&gt; and &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-aead-limits" target="_blank" rel="noopener" data-cms-ai="0"&gt;draft-irtf-cfrg-aead-limits&lt;/a&gt;&lt;/span&gt;. To read more on the cryptographic analysis of the key derivation scheme used in KMS, see &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://www.mdpi.com/2410-387X/3/3/23" target="_blank" rel="noopener" data-cms-ai="0"&gt;&lt;u&gt;Key Management Systems at the Cloud Scale&lt;/u&gt;&lt;/a&gt;&lt;/span&gt;. For more details on the Encryption SDK AES-GCM key derivation, see the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/algorithms-reference.html#:~:text=Per%20the%20RFC%2C%20the%20salt,keyring%20or%20master%20key%20provider" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Encryption SDK algorithms reference&lt;/a&gt;&lt;/span&gt;.&lt;/p&gt; 
  &lt;p&gt;If you have feedback about this post, submit comments in the Comments section below. If you have questions about this post, start a new thread on the &lt;a href="https://repost.aws/topics/TAEEfW2o7QS4SOLeZqACq9jA/security-identity-compliance%3Fsc_ichannel=ha&amp;amp;sc_ilang=en&amp;amp;sc_isite=repost&amp;amp;sc_iplace=hp&amp;amp;sc_icontent=TAEEfW2o7QS4SOLeZqACq9jA&amp;amp;sc_ipos=0" rel="noopener" target="_blank"&gt;AWS Security, Identity, &amp;amp; Compliance re:Post&lt;/a&gt; or &lt;a href="https://console.aws.amazon.com/support/home" rel="noopener" target="_blank"&gt;contact AWS Support&lt;/a&gt;. &lt;br&gt;&amp;nbsp;&lt;/p&gt; 
  &lt;footer&gt; 
   &lt;div class="blog-author-box"&gt; 
    &lt;img loading="lazy" class="alignleft size-full wp-image-33350" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2022/07/21/Panos-Profile-pic.jpg" alt="Panos Kampanakis" style="margin-left: 9px;margin-right:24px;margin-top: 12px;margin-bottom: 6px;width:93.750px;height: 125px"&gt;
    &lt;span class="lb-h4" style="line-height: 2.25em"&gt;Panos Kampanakis&lt;/span&gt;
    &lt;br&gt;Panos is a Principal Security Engineer at AWS. He has experience with cybersecurity, applied cryptography, security automation, and vulnerability management. He has coauthored publications on cybersecurity and participated in various security standards bodies to provide common interoperable protocols and languages for security information sharing, cryptography, and public-key infrastructure. Currently, he works with engineers and industry partners to provide cryptographically secure tools, protocols, and standards.
   &lt;/div&gt; 
   &lt;div class="blog-author-box"&gt; 
    &lt;img loading="lazy" class="alignleft size-full wp-image-33350" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2024/12/05/Matt_Campagna-120x150.jpg" alt="Matt Campagna" style="margin-left: 9px;margin-right:24px;margin-top: 12px;margin-bottom: 6px;width:93.750px;height: 125px"&gt;
    &lt;span class="lb-h4" style="line-height: 2.25em"&gt;Matt Campagna&lt;/span&gt;
    &lt;br&gt;Matthew is a Cryptographer and Sr. Principal Engineer at Amazon Web Services. He manages the design and review of cryptographic solutions across the company and leads the migration to post-quantum cryptography. In his spare time, he searches Seattle for the perfect Korean Fried Chicken.
   &lt;/div&gt; 
   &lt;div class="blog-author-box"&gt; 
    &lt;img loading="lazy" class="alignleft size-full wp-image-33350" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2019/01/21/patrick-palmer-author-bio.jpg" alt="Patrick Palmer" style="margin-left: 9px;margin-right:24px;margin-top: 12px;margin-bottom: 6px;width:93.750px;height: 125px"&gt;
    &lt;span class="lb-h4" style="line-height: 2.25em"&gt;Patrick Palmer&lt;/span&gt;
    &lt;br&gt;Patrick is a Principal Security Specialist Solutions Architect at AWS. He helps customers around the world use AWS services in a secure manner and specializes in cryptography. When not working, he enjoys spending time with his growing family and playing video games.
   &lt;/div&gt; 
  &lt;/footer&gt; 
 &lt;/div&gt; 
&lt;/div&gt;</content:encoded>
					
					
			
		
		
			</item>
		<item>
		<title>Four security principles for agentic AI systems</title>
		<link>https://aws.amazon.com/blogs/security/four-security-principles-for-agentic-ai-systems/</link>
					
		
		<dc:creator><![CDATA[Mark Ryland]]></dc:creator>
		<pubDate>Thu, 02 Apr 2026 20:45:09 +0000</pubDate>
				<category><![CDATA[Security, Identity, & Compliance]]></category>
		<category><![CDATA[Thought Leadership]]></category>
		<category><![CDATA[Security Blog]]></category>
		<guid isPermaLink="false">3b470c6f6d8e1dc505c2d7aeca9af3816357cc55</guid>

					<description>Agentic AI represents a qualitative shift in how software operates. Traditional software executes deterministic instructions. Generative AI responds to human prompts with output that humans review and use at their discretion. Agentic AI differs from both. Agents connect to software tools and APIs and uses large language models (LLMs) as reasoning engines to plan and […]</description>
										<content:encoded>&lt;div class="Page-articleBody"&gt; 
 &lt;div class="RichTextArticleBody RichTextBody"&gt; 
  &lt;p&gt;Agentic AI represents a qualitative shift in how software operates. Traditional software executes deterministic instructions. Generative AI responds to human prompts with output that humans review and use at their discretion. Agentic AI differs from both. Agents connect to software tools and APIs and uses large language models (LLMs) as reasoning engines to plan and execute sequences of actions autonomously—at machine speed—with real-world consequences. This shift raises new questions for information security. In January 2026, NIST’s &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://www.nist.gov/news-events/news/2026/01/caisi-issues-request-information-about-securing-ai-agent-systems" target="_blank" rel="noopener" data-cms-ai="0"&gt;Center for AI Standards and Innovation (CAISI)&lt;/a&gt;&lt;/span&gt; issued a Request for Information (RFI) seeking industry input on how to secure these systems. AWS &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://d1.awsstatic.com/onedam/marketing-channels/website/aws/en_US/security/Amazon-Response-to-CAISI-RFI.pdf" target="_blank" rel="noopener" data-cms-ai="0"&gt;submitted a response&lt;/a&gt;&lt;/span&gt; grounded in our experience building and operating agentic AI services. This post summarizes the four security principles at the heart of that response and the architectural building blocks that implement them.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;The NIST agentic AI RFI&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;CAISI asked developers, deployers, and security researchers to weigh in on how the industry should secure AI systems that act autonomously. The &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://regulations.justia.com/regulations/fedreg/2026/01/08/2026-00206.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;RFI&lt;/a&gt;&lt;/span&gt; posed questions across five areas. What unique security considerations do agentic systems introduce, and how do those considerations change as systems gain more autonomy? What practices improve security during development and deployment? How do organizations assess the security of their agentic systems? How can deployment environments be constrained and monitored? And where should the industry focus future research?&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Why this matters&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Even a conservative risk/benefit analysis will conclude that the benefits of agentic AI clearly outweigh the risks in many domains. The rapid adoption of agentic technology across business and government confirms this. But agents are valuable precisely because of their autonomy and adaptability, and these same characteristics create the security challenge. An agentic system that carries out an unintended action can do so at machine speed, before a human can intervene. Unlike human actors who pause or escalate when something seems unusual, agents might not inherently recognize ambiguities that are evident to humans, nor intuitively grasp unstated policy boundaries.&lt;/p&gt; 
  &lt;p&gt;The good news, however, is that the security response to agentic AI doesn’t need to start from scratch. Existing security frameworks, including the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://www.nist.gov/cyberframework" target="_blank" rel="noopener" data-cms-ai="0"&gt;NIST Cybersecurity Framework&lt;/a&gt;&lt;/span&gt;, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://www.nist.gov/itl/ai-risk-management-framework" target="_blank" rel="noopener" data-cms-ai="0"&gt;NIST AI Risk Management Framework&lt;/a&gt;&lt;/span&gt;, and the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://csrc.nist.gov/Projects/ssdf" target="_blank" rel="noopener" data-cms-ai="0"&gt;Secure Software Development Framework&lt;/a&gt;&lt;/span&gt;, remain relevant and should be extended for agent-specific considerations rather than replaced. The most important extension is architectural. Our response to NIST identified four foundational security principles that address how to make that extension.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Four security principles for agentic AI&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;These principles build on the premise that agentic AI doesn’t require a new security paradigm, but it does require existing practices to evolve. The first two principles address what carries forward; the second two address what is genuinely new.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Principle 1: Secure development lifecycle practices apply across system components.&lt;/b&gt; Agentic AI systems combine traditional software components (APIs, databases, orchestration logic) with AI elements such as foundation models, prompt templates, and retrieval pipelines. A secure development lifecycle must cover both sets of components. For traditional components, established practices such as code review, static analysis, dependency scanning, and threat modeling remain essential, keeping in mind that those practices are also in the process of being enhanced with AI-based tooling. For AI components, the challenge is different. Foundation models are probabilistic, which means traditional regression testing is necessary but not sufficient. Organizations must supplement it with behavioral testing, adversarial evaluation, and continuous monitoring to validate that AI components operate within expected parameters.&lt;/p&gt; 
  &lt;p&gt;Regular re-evaluation is equally important for addressing behavioral drift. Models receive updates that can alter behavior. Prompt templates evolve as teams refine agent capabilities. New tools and data sources expand the agent’s operational surface. Each change can introduce new failure modes or potential security issues. Organizations must treat evaluation as an ongoing operational practice, not a one-time gate. This includes automated testing after model updates, red team exercises against deployed agents, and monitoring that detects behavioral drift over time.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Principle 2: Traditional security controls remain fully applicable.&lt;/b&gt; Agentic AI introduces new considerations, but it doesn’t render existing security risks obsolete. The full complement of traditional security controls still applies. An agentic AI system combines traditional software with the new LLM-plus-tools processing loop. Organizations must secure existing software, tools, and configurations against well-known risks to provide a sound foundation for the agentic elements.&lt;/p&gt; 
  &lt;p&gt;Privilege escalation, confused deputy issues, session hijacking, code injection, and supply chain risks extend directly into agentic systems. Some of these risks increase in agentic contexts. Agents operate at greater scale and speed than human actors, which means excessive privileges carry more potential for unintended consequences. That means that applying principles of least privilege to access management in an agentic context is as important—if not more so—than in traditional systems. The supply chain surface is also broader. Agentic systems consume not only third-party code dependencies but also foundation models, plugins, tool servers, and data retrieval sources. Agents that invoke APIs, query databases, or generate code create new potential injection surfaces at tool boundaries. AI-specific controls must be additions to this foundational security, not replacements for it.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Principle 3: Deterministic external controls are the starting point for agentic security.&lt;/b&gt; This is the most important architectural principle for agentic AI security. Organizations should enforce security through deterministic, infrastructure-level controls external to the agent’s reasoning loop, not through the agent’s own reasoning, internal guardrails, or prompt-based instructions. The logic is straightforward. LLMs are probabilistic reasoning engines, not security enforcement mechanisms. Developers can instruct an LLM to refuse certain requests, but prompt injection techniques can override those instructions. An LLM can be told to respect access boundaries, but it has no reliable mechanism to enforce them. Attempting to constrain agent behavior only through prompting or alignment runs against the fundamental value proposition of agents, which is their ability to adapt dynamically to novel situations.&lt;/p&gt; 
  &lt;p&gt;Effective security places fully specified, deterministic controls outside the agent that govern which tools it can access, what operations it can perform, and what data it can reach. Model manipulation cannot bypass these controls. We describe this as the &lt;i&gt;security box&lt;/i&gt;. It’s external to the agent, deterministic in its enforcement, and comprehensive in its coverage. Every interaction between the agent and the outside world passes through it. The &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/blogs/security/the-agentic-ai-security-scoping-matrix-a-framework-for-securing-autonomous-ai-systems/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Agentic AI Security Scoping Matrix&lt;/a&gt;&lt;/span&gt; helps organizations calibrate the rigor of these controls based on their system’s autonomy level. Scopes range from systems that require explicit human approval before every action to fully autonomous systems that initiate their own activities based on external events.&lt;/p&gt; 
  &lt;p&gt;The security box isn’t a limitation on the agent’s value. It’s the precondition for achieving that value responsibly. As agentic technology matures, the box itself will likely evolve to include agentic elements. Specialized AI agents designed to control the scope of other agents might replace some deterministic constraints over time, using new information and context to make more appropriate automated decisions than could be achieved by humans managing complex deterministic controls.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Principle 4: Greater autonomy should be earned through ongoing evaluation.&lt;/b&gt; Organizations should expand agent autonomy progressively based on demonstrated performance, not grant it by default. The starting point is human decision-making for high-consequence operations. When an agent encounters an action that could modify high-value production data, initiate financial transactions, or communicate sensitive information externally, a human makes the final decision. The agent recommends, and a human approves or rejects.&lt;/p&gt; 
  &lt;p&gt;This approach carries a well-known risk. If every agent action requires human approval, the volume of decisions might overwhelm reviewers. Approval becomes reflexive rather than deliberate, shifting liability to humans who have been placed in a position to fail. Organizations must scope human oversight to genuinely high-consequence operations and resist the temptation to require human-in-the-loop designs for routine actions that carry low risk.&lt;/p&gt; 
  &lt;p&gt;The path from human oversight to expanded autonomy runs through evaluation. As organizations systematically record what the agent recommended, what the human decided, and what actually happened, they build the evidence base for expanding autonomy. When data shows sustained alignment, organizations can shift from prior approval to after-the-fact review, and eventually to full autonomy for specific operation types. This progression should happen at the operation or workflow level, not across a broad range of unrelated tasks.&lt;/p&gt; 
  &lt;p&gt;This progression isn’t one-way. Organizations should be prepared to reintroduce human oversight when evidence warrants it. Some deterministic boundaries likely remain permanent for the foreseeable future. These boundaries exist not because the agent hasn’t earned trust, but because the consequences of certain actions are unacceptable under a reasonable risk analysis. The overall model is one of earned autonomy through demonstrated competence, governed by evaluation, bounded by permanent constraints, and subject to continuous review. There might come a time with specialized &lt;i&gt;boundary agents&lt;/i&gt; can provide better outcomes than purely deterministic controls, but that option can only emerge over time from experience and evaluation.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;From principles to practice&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;The four principles define the goals. Achieving them requires specific architectural building blocks that compose the security box and the broader security architecture. Our response to NIST described these building blocks in greater detail. Here we provide a summary. AWS has implemented them in &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/bedrock/agentcore/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Bedrock AgentCore&lt;/a&gt;&lt;/span&gt;, a framework for building, deploying, and operating agentic AI systems with security built in from the ground up.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Compute isolation.&lt;/b&gt; Agent compute environments must isolate execution, prevent cross-agent data leakage, and contain agents within defined boundaries. Amazon Bedrock AgentCore runs agents on &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://firecracker-microvm.github.io/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Firecracker&lt;/a&gt;&lt;/span&gt;, an open source virtual machine manager written in Rust. Firecracker provides lightweight micro-VMs backed by Linux KVM and hardware-based virtualization, delivering the speed of containers with the isolation properties of full virtual machines. Key security-critical elements of Firecracker have been formally verified by AWS teams, adding assurance beyond the memory safety that Rust provides.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Identity and access management.&lt;/b&gt; Agents require their own identities, secure credential storage, and least-privilege authorization enforced at the infrastructure level. &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/blogs/machine-learning/introducing-amazon-bedrock-agentcore-identity-securing-agentic-ai-at-scale" target="_blank" rel="noopener" data-cms-ai="0"&gt;AgentCore Identity&lt;/a&gt;&lt;/span&gt; provides machine identities for agents, manages OAuth and secure credential flows, and integrates with &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/iam" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Identity and Access Management (IAM)&lt;/a&gt;&lt;/span&gt; for fine-grained access control. It supports attribute-based access control and maintains traceable delegation chains so that the relationship between agent actions and the invoking user remains auditable.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Tool access and policy enforcement.&lt;/b&gt; Every tool an agent can access expands both its usefulness and its potential risk. Managing tool access individually across agents creates an unmanageable combinatorial explosion. AgentCore Gateway acts as a centralized intermediary between agents and tools, enforcing authentication and authorization at a single control point. It can inspect tool calls down to individual parameters, not just at the API level. &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/policy.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;AgentCore Policy&lt;/a&gt;&lt;/span&gt;, built on the open source &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://www.cedarpolicy.com/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Cedar&lt;/a&gt;&lt;/span&gt; authorization language, adds formally verified policy enforcement. Teams can author Cedar policies in natural language and then review them, combining the flexibility of LLMs with the rigor of formal methods.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Observability.&lt;/b&gt; Observability infrastructure must capture sufficient context for real-time monitoring and investigation, and it must be protected from the agents it monitors. Organizations wouldn’t allow employees to edit their own audit logs, and the same principle applies to agents. AgentCore provides observability through the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/gateway.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;AgentCore Gateway&lt;/a&gt;&lt;/span&gt;, session-level telemetry, and detailed traces that record internal state changes. These capabilities can extend to agents running outside of AgentCore as well.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Model execution environment.&lt;/b&gt; The security of the model execution environment matters as much as the security of the agent itself. &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/bedrock/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Bedrock&lt;/a&gt;&lt;/span&gt; runs models in isolated network environments where neither AWS nor model providers access customer prompts and responses. When customers enable logging, those logs are encrypted at rest and protected by customer-managed encryption keys. This architectural isolation is a key reason government and enterprise customers have adopted Amazon Bedrock.&lt;/p&gt; 
  &lt;p&gt;Deterministic external controls are complemented by controls within the AI processing loop. &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/bedrock/guardrails" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Bedrock Guardrails&lt;/a&gt;&lt;/span&gt; inspects prompts and responses using small AI models called &lt;i&gt;classifiers&lt;/i&gt; that address challenges such as prompt injection. Automated Reasoning checks go further, so that developers can create a formal model of a knowledge domain and verify that LLM output conforms to it, producing results that are deterministic and provably correct.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Looking ahead&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Agentic AI changes how software operates, but the security response builds on decades of established practice. Existing frameworks provide the right foundation. The task is to extend existing frameworks for agent-specific considerations. Organizations should apply secure development lifecycle practices to AI components and maintain traditional security controls. They should enforce security through deterministic controls external to the agent and earn greater autonomy through systematic evaluation.&lt;/p&gt; 
  &lt;p&gt;These principles aren’t theoretical. They reflect the operational experience AWS has gained building and operating agentic AI services. They’re embedded in how we design our infrastructure. As NIST develops guidance based on industry input, we will continue to invest in helping customers build and operate agentic AI systems with confidence.&lt;/p&gt; 
  &lt;p&gt;To learn more about how AWS helps customers secure their AI workloads, visit the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/ai/security/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS AI Security&lt;/a&gt;&lt;/span&gt; or read the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://d1.awsstatic.com/onedam/marketing-channels/website/aws/en_US/security/Amazon-Response-to-CAISI-RFI.pdf" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon response to the CAISI Request for Information regarding Security Considerations for Artificial Intelligence Agents&lt;/a&gt;&lt;/span&gt;.&lt;/p&gt; 
  &lt;p&gt;&lt;/p&gt;
 &lt;/div&gt; 
&lt;/div&gt; 
&lt;footer&gt; 
 &lt;div class="blog-author-box"&gt; 
  &lt;div class="blog-author-image"&gt; 
   &lt;img src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2019/06/21/Mark_Ryland_bio_photo-2.jpg" alt="Mark Ryland" width="125"&gt; 
  &lt;/div&gt; 
  &lt;h3 class="lb-h4"&gt;Mark Ryland&lt;/h3&gt; 
  &lt;p&gt;Mark is a director of the Office of the CISO for AWS. He has more than 30 years of experience in the technology industry and has served in leadership roles in cybersecurity, software engineering, distributed systems, technology standardization, and public policy. Prior to his current role, he served as the Director of Solution Architecture and Professional Services for the AWS World Public Sector team.&lt;/p&gt; 
 &lt;/div&gt; 
 &lt;div class="blog-author-box"&gt;
  &lt;img class="alignleft size-full" style="width: 93.750px;height: 125px;margin: 12px 18px 6px 12px" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/02/24/goriggs_headshot_4-3.png" alt="Riggs Goodman III"&gt;
  &lt;span class="lb-h4" style="line-height: 2.1em;padding-top: 12px;margin-top: 24px"&gt;Riggs Goodman III&lt;/span&gt;
  &lt;br&gt; Riggs is a Principal Solution Architect at AWS. His current focus is on AI security, providing technical guidance, architecture patterns, and leadership for customers and partners to build AI workloads on AWS. Internally, Riggs focuses on driving overall technical strategy and innovation across AWS service teams to address customer and partner challenges.
 &lt;/div&gt; 
 &lt;div class="blog-author-box"&gt;
  &lt;img class="alignleft size-full" style="width: 93.750px;height: 125px;margin: 12px 18px 6px 12px" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/04/02/Todd-macdermid-author.jpg" alt="Todd MacDermid"&gt;
  &lt;span class="lb-h4" style="line-height: 2.1em;padding-top: 12px;margin-top: 24px"&gt;Todd MacDermid&lt;/span&gt;
  &lt;br&gt; Todd is a Principal Security Engineer in the Amazon AI Security Group. He has spent over 15 years at Amazon primarily working in AWS Security, and prior to Amazon spent 10 years working in red-team consulting and application and network security.
 &lt;/div&gt; 
&lt;/footer&gt;</content:encoded>
					
					
			
		
		
			</item>
		<item>
		<title>New compliance guide available: ISO/IEC 27001:2022 on AWS</title>
		<link>https://aws.amazon.com/blogs/security/new-compliance-guide-available-iso-iec-270012022-on-aws-compliance-guide/</link>
					
		
		<dc:creator><![CDATA[Ted Tanner]]></dc:creator>
		<pubDate>Tue, 31 Mar 2026 20:36:56 +0000</pubDate>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Security, Identity, & Compliance]]></category>
		<category><![CDATA[AWS Compliance]]></category>
		<category><![CDATA[Security Blog]]></category>
		<category><![CDATA[Whitepaper]]></category>
		<guid isPermaLink="false">811f1f96c5075671eaeb1d1917b5d076af3c5ccf</guid>

					<description>We’re excited to announce the release of our latest compliance guide, ISO/IEC 27001:2022 on AWS, which provides practical guidance for organizations designing and operating an Information Security Management System (ISMS) using AWS services. As organizations migrate critical workloads to the cloud, aligning with globally recognized standards such as ISO/IEC 27001:2022 becomes an important step toward […]</description>
										<content:encoded>&lt;div class="Page-articleBody"&gt; 
 &lt;div class="RichTextArticleBody RichTextBody"&gt; 
  &lt;p&gt;We’re excited to announce the release of our latest compliance guide, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://d1.awsstatic.com/onedam/marketing-channels/website/aws/en_US/whitepapers/compliance/ISO27001-2022_on_AWS_Compliance_Guide.pdf" target="_blank" rel="noopener" data-cms-ai="0"&gt;&lt;b&gt;ISO/IEC 27001:2022 on AWS&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;, which provides practical guidance for organizations designing and operating an Information Security Management System (ISMS) using AWS services.&lt;/p&gt; 
  &lt;p&gt;As organizations migrate critical workloads to the cloud, aligning with globally recognized standards such as ISO/IEC 27001:2022 becomes an important step toward strengthening governance, risk management, and information security practices. This guide helps cloud architects, security teams, compliance leaders, and DevOps practitioners understand how to implement and operate ISO 27001-aligned controls using AWS services while applying the AWS Shared Responsibility Model.&lt;/p&gt; 
  &lt;p&gt;The guide explains how organizations can integrate AWS services into their ISMS to support the requirements defined in ISO 27001:2022 clauses 4–10 and selected Annex A controls. It also highlights how AWS security, monitoring, and automation capabilities can help customers maintain visibility, improve operational consistency, and prepare audit-ready evidence.&lt;/p&gt; 
  &lt;p&gt;While AWS provides a secure and compliant cloud infrastructure, customers remain responsible for defining their ISMS scope, implementing controls, and demonstrating conformity during certification audits.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Inside the guide:&lt;/b&gt;&lt;/p&gt; 
  &lt;ul class="rte2-style-ul" id="rte-424d5f11-2c87-11f1-9c31-cfe81f8abde8"&gt; 
   &lt;li&gt;Overview of the ISO/IEC 27001:2022 framework, including ISMS clauses 4–10 and the Annex A control&lt;/li&gt; 
   &lt;li&gt;Mapping of selected ISO 27001:2022 Annex A controls to AWS services and architectural capabilities&lt;/li&gt; 
   &lt;li&gt;Guidance for implementing complementary customer controls within AWS environments&lt;/li&gt; 
   &lt;li&gt;Recommendations for evidence collection, documentation, and audit readiness using AWS native tooling&lt;/li&gt; 
   &lt;li&gt;Governance and risk management considerations for organizations establishing an ISMS on AWS&lt;/li&gt; 
   &lt;li&gt;Best practices for operationalizing compliance activities through automation and infrastructure-as-code.&lt;/li&gt; 
  &lt;/ul&gt; 
  &lt;p&gt;By combining ISO 27001 best practices with AWS security services, organizations can build scalable environments that support continuous security improvement, operational visibility, and certification readiness.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Download: &lt;/b&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://d1.awsstatic.com/onedam/marketing-channels/website/aws/en_US/whitepapers/compliance/ISO27001-2022_on_AWS_Compliance_Guide.pdf" target="_blank" rel="noopener" data-cms-ai="0"&gt;&lt;b&gt;ISO/IEC 27001:2022 on AWS Compliance Guide&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;br&gt; For further assistance, contact &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://pages.awscloud.com/GLOBAL-aware-LN-AWS-Security-Assurance-Services-2020-reg" target="_blank" rel="noopener" data-cms-ai="0"&gt;&lt;b&gt;AWS Security Assurance Services&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; 
  &lt;p&gt;If you have feedback about this post, please submit comments in the &lt;b&gt;Comments&lt;/b&gt; section below.&lt;/p&gt; 
  &lt;p&gt;&lt;/p&gt;
 &lt;/div&gt; 
&lt;/div&gt; 
&lt;footer&gt; 
 &lt;div class="blog-author-box"&gt; 
  &lt;div class="blog-author-image"&gt; 
   &lt;img loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/03/30/ted-tanner-author.jpg" alt="Ted Tanner" width="120" height="160" class="aligncenter size-full wp-image-29603"&gt; 
  &lt;/div&gt; 
  &lt;h3 class="lb-h4"&gt;Ted Tanner&lt;/h3&gt; 
  &lt;p&gt;Ted is a Principal Assurance Consultant and PCI DSS QSA with AWS Security Assurance Services. He has more than 25 years of IT, security, and compliance experience, which he uses to advise customers on building and optimizing their cloud compliance programs. He is co-author of several PCI DSS–related publications at AWS.&lt;/p&gt; 
 &lt;/div&gt; 
 &lt;div class="blog-author-box"&gt; 
  &lt;div class="blog-author-image"&gt; 
   &lt;img loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/03/30/satish-uppalapati-author.jpg" alt="Satish Uppalapati" width="120" height="160" class="aligncenter size-full wp-image-31057"&gt; 
  &lt;/div&gt; 
  &lt;h3 class="lb-h4"&gt;Satish Uppalapati&lt;/h3&gt; 
  &lt;p&gt;Satish is an Associate Assurance Consultant with AWS Security Assurance Services and has more than 8 years of experience in IT risk, governance, and regulatory assurance. He works with AWS customers to help align cloud environments with frameworks such as ISO 27001, SOC 2, and FFIEC. Satish also focuses on advancing governance for AI systems, including emerging standards such as ISO/IEC 42001.&lt;/p&gt; 
 &lt;/div&gt; 
 &lt;div class="blog-author-box"&gt; 
  &lt;div class="blog-author-image"&gt; 
   &lt;img loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/03/30/viktor-author.jpg" alt="Viktor Mu" width="120" height="160" class="aligncenter size-full wp-image-31058"&gt; 
  &lt;/div&gt; 
  &lt;h3 class="lb-h4"&gt;Viktor Mu&lt;/h3&gt; 
  &lt;p&gt;Viktor is a Senior Assurance Consultant with AWS Security Assurance Services and has more than a decade of experience specializing in security and compliance assessments. Viktor holds several industry-recognized audit and security certifications, including PCI QSA, and CISA. Viktor works with partners and customers handling security and compliance frameworks like SOC 2 in key market verticals and regulated industries.&lt;/p&gt; 
 &lt;/div&gt; 
 &lt;div class="blog-author-box"&gt; 
  &lt;div class="blog-author-image"&gt; 
   &lt;img loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/03/30/Lola-Quadri-author.jpg" alt="Lola Quadri" width="120" height="160" class="aligncenter size-full wp-image-31058"&gt; 
  &lt;/div&gt; 
  &lt;h3 class="lb-h4"&gt;Lola Quadri&lt;/h3&gt; 
  &lt;p&gt;With more than ten years of experience across Big 4 consulting, financial services, and technology, Lola is a trusted security consultant specializing in risk and compliance. She leverages deep expertise across leading compliance frameworks to guide AWS customers toward sustainable, audit-ready compliance postures. Lola is a CISA, CISM, and AWS Certified Solutions Architect.&lt;/p&gt; 
 &lt;/div&gt; 
&lt;/footer&gt;</content:encoded>
					
					
			
		
		
			</item>
		<item>
		<title>AWS Security Agent on-demand penetration testing now generally available</title>
		<link>https://aws.amazon.com/blogs/security/aws-security-agent-on-demand-penetration-testing-now-generally-available/</link>
					
		
		<dc:creator><![CDATA[Ayush Singh]]></dc:creator>
		<pubDate>Tue, 31 Mar 2026 16:13:55 +0000</pubDate>
				<category><![CDATA[Security, Identity, & Compliance]]></category>
		<guid isPermaLink="false">b73a643a20e54728dcf24e3aa1af52df5848d273</guid>

					<description>AWS Security Agent on-demand penetration testing is now generally available, enabling you to run comprehensive security tests across all your applications, not only your most critical ones. This milestone transforms penetration testing from a periodic bottleneck into an on-demand capability that scales with your development velocity across AWS, Azure, GCP, other cloud-providers, and on-premises. With […]</description>
										<content:encoded>&lt;div class="Page-articleBody"&gt; 
 &lt;div class="RichTextArticleBody RichTextBody"&gt; 
  &lt;p&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/security-agent" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Security Agent&lt;/a&gt;&lt;/span&gt; on-demand penetration testing is now generally available, enabling you to run comprehensive security tests across all your applications, not only your most critical ones. This milestone transforms penetration testing from a periodic bottleneck into an on-demand capability that scales with your development velocity across AWS, Azure, GCP, other cloud-providers, and on-premises. With multicloud support, AWS Security Agent allows you to consolidate penetration testing across your entire infrastructure.&lt;/p&gt; 
  &lt;p&gt;AWS Security Agent delivers autonomous penetration testing that operates 24/7 at a fraction of the cost than manual penetration tests. Most organizations limit manual penetration testing to their most critical applications and conduct these tests periodically due to time and cost limitations. This approach can leave the majority of their application portfolio exposed to vulnerabilities in the periods between tests. Security Agent allows you to increase the penetration testing speed, frequency, and coverage across all applications, not just your top critical applications. The Security Agent approach compresses the penetration testing timeline from weeks to days, dramatically reducing your exposure window while maintaining development velocity.&lt;/p&gt; 
  &lt;p&gt;In preview, HENNGE K.K. shared, “AWS Security Agent delivered valuable insights that enhance the robustness of HENNGE’s products and services—insights we hadn’t discovered through manual testing. The contextually aware agentic AI approach provides different insights than traditional methods, while surfacing valuable application improvements beyond pure security findings. This allows us to rapidly accelerate our security lifecycle, reducing the typical testing duration by more than 90%.”&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;How on-demand penetration testing works&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;AWS Security Agent represents a new class of frontier agents – autonomous systems that work independently to achieve goals, scale massively to tackle concurrent tasks, and run persistently without constant human oversight. It deploys specialized AI agents to help discover, validate, and report security vulnerabilities through sophisticated multi-step attack scenarios. Unlike traditional scanners that generate findings without validation, AWS Security Agent operates penetration tester, helping to identify potential vulnerabilities, then attempting to exploit them with targeted payloads and attack chains to confirm they are legitimate security risks.&lt;/p&gt; 
  &lt;p&gt;Consider the example of deploying a new payment processing feature. With traditional penetration testing, you would either delay the release until the next scheduled assessment, which could be weeks or months away, or you would deploy with uncertainty. With AWS Security Agent, you initiate a penetration test in minutes and receive validated findings within hours, as shown in the following figure, which you can use to help identify and remediate critical vulnerabilities before they reach production and deploy more confidently.&lt;/p&gt; 
  &lt;div id="attachment_41716" style="width: 898px" class="wp-caption aligncenter"&gt;
   &lt;img aria-describedby="caption-attachment-41716" loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/03/31/Image-1.png" alt="Figure 1: Initiate a pen test in minutes and receive validated findings within hours." width="888" height="500" class="size-full wp-image-41716"&gt;
   &lt;p id="caption-attachment-41716" class="wp-caption-text"&gt;Figure 1: Initiate a pen test in minutes and receive validated findings within hours.&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;This validation approach helps minimize false positives and provides visibility into the agent’s reasoning. The agent shows how it plans attacks, what payloads it uses, the tools it builds to execute exploits, and how it verifies successful exploitation, providing transparency. Each finding includes Common Vulnerability Scoring System (CVSS) risk scores, application-specific severity ratings, and detailed reproduction steps, as shown in the following figure, so your team can focus on confirmed vulnerabilities rather than investigating scanner noise.&lt;/p&gt; 
  &lt;div id="attachment_41722" style="width: 1810px" class="wp-caption aligncenter"&gt;
   &lt;img aria-describedby="caption-attachment-41722" loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/03/31/TestFindings.png" alt="Figure 2: Each finding includes Common Vulnerability Scoring System (CVSS) risk scores, application-specific severity ratings, and detailed reproduction steps" width="1800" height="1080" class="size-full wp-image-41722"&gt;
   &lt;p id="caption-attachment-41722" class="wp-caption-text"&gt;Figure 2: Each finding includes Common Vulnerability Scoring System (CVSS) risk scores, application-specific severity ratings, and detailed reproduction steps.&lt;/p&gt;
  &lt;/div&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;How AWS Security Agent delivers proactive, context-aware application security&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;AWS Security Agent combines static application security testing (SAST), dynamic application security testing (DAST), and penetration testing into a single context-aware agent. The agent ingests design documents, architecture diagrams, infrastructure-as-code, source code, user stories, and threat models to understand how you designed, built, and deployed your application. It then identifies how individual vulnerabilities connect into higher-severity attack chains. Richer context produces higher-quality findings and more actionable remediation recommendations.&lt;b&gt; &lt;/b&gt;&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;&lt;b&gt;Consider three findings detected by AWS Security Agent&lt;/b&gt;&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;These might have been discovered by other tools, but if they were detected, they might not have been properly prioritized in isolation because those tools lack contextual awareness of how the application was designed, built, and used, and how each finding is being used as part of an attack chain. These findings exist in custom code written by the customer, so there might not be a Common Vulnerabilities and Exposures (CVE) vulnerability to detect in all cases, making these zero-day vulnerability discoveries.&lt;/p&gt; 
  &lt;ul class="rte2-style-ul" id="rte-abbb0e30-293e-11f1-af00-4b7eefae8e7e"&gt; 
   &lt;li&gt;&lt;b&gt;Finding1 – Stored cross-site scripting (XSS) (CVSS 6.1, Medium)&lt;/b&gt;: A threat actor could inject a script into a comment field that captures an admin’s session cookie inside standard HTTPS traffic. SAST and DAST might flag this as an isolated, medium-severity input validation issue competing with hundreds of other findings in a backlog. Without application context, these tools struggle to recognize it as the entry point to a critical chain.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Finding 2 – Session hijack through admin access (unscored)&lt;/b&gt;:&lt;b&gt; &lt;/b&gt;A threat actor could use a hijacked admin session to reach restricted endpoints. This step goes undetected by every tool category, SAST analyzes code not runtime sessions, DAST crawls as a standard user, Endpoint Detection and Response (EDR) and Extended Detection and Response (XDR) see a valid HTTPS session hidden among other valid traffic. No finding is generated and no alerts are fired.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Finding 3 – Database credential exfiltration through admin config endpoint (CVSS 9.8, Critical — never discovered)&lt;/b&gt;:The admin panel exposes an &lt;code class="CodeInline" style="color: #000"&gt;/admin/config&lt;/code&gt; endpoint returning environment variables, including the production database connection string with credentials in plaintext. A threat actor could use a hijacked admin session to call this endpoint, extract credentials, connect directly to the production database containing customer personally identifiable information (PII), and exfiltrate the full customer dataset. SAST doesn’t flag this because the code functions as designed. DAST never reaches the admin panel. EDR and XDR see a legitimate authenticated API call.&lt;/li&gt; 
  &lt;/ul&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;&lt;b&gt;AWS Security Agent connects the dots &lt;/b&gt;&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;By ingesting the source code and documentation, AWS Security Agent identifies that the &lt;code class="CodeInline" style="color: #000"&gt;/admin/config&lt;/code&gt; endpoint exposes database credentials, something SAST, DAST, or a Software Composition Analysis (SCA) scanner would struggle to identify. SAST and DAST might flag Finding 1 as isolated and medium severity without recognizing it as the entry point to a critical chain. Finding 2 goes undetected, because SAST analyzes code not sessions, DAST crawls as a standard user, EDR and XDR see valid HTTPS traffic hidden among other valid traffic. Finding 3 goes unflagged because SAST doesn’t flag endpoints functioning as designed, DAST never reaches the admin panel, and EDR and XDR see legitimate API calls. The program requirements document (PRD) provided the key context that the endpoint was designed for legitimate troubleshooting but assumed the authentication gateway would prevent unauthorized access. AWS Security Agent chains all three findings, tests each step, and proves the full attack works.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;&lt;b&gt;The chain is the vulnerability&lt;/b&gt;&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;A deprioritized CVSS 6.1 XSS unlocks a critical CVSS 9.8 database credential exfiltration through steps that are beyond the capabilities of most automated SAST or DAST tools. Finding 1 sits in a backlog for weeks, contributing to alert fatigue for developers and security teams. Finding 2 generates no finding. Finding3 functions as designed. Developers fix critical and high findings first, but a CVSS 6.1 among hundreds of others waits, leaving customers exposed. AWS Security Agent, informed with application context, elevates the entire sequence from three isolated findings to a critical, validated vulnerability. This means deeper insights and recommended remediations, fewer false positives, and more cost-effective penetration testing. Security teams can now confidently scale continuous penetration testing across a wider application portfolio than is being tested today, or isn’t being tested as frequently while it’s being developed. AWS Security Agent delivers these insights and recommended remediations within hours instead of weeks, helping customers ship more secured applications faster.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Scout24 confirmed the value of these capabilities directly:&lt;/b&gt;&lt;br&gt;&lt;i&gt;“AWS Security Agent outperformed traditional DAST by combining agentic testing with source-code context to deliver code-aware application security testing. It identified a critical publicly exploitable issue that other approaches had not surfaced. Its transparent reasoning gave us confidence in the attack paths explored and the coverage achieved.”&lt;/i&gt; – Abdul Al-Kibbe&lt;i&gt;, &lt;/i&gt;Tech Lead, Security, Scout24 SE&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Bamboo Health validated the depth of context-aware discovery in their own usage:&lt;/b&gt;&lt;br&gt;&lt;i&gt;“AWS Security Agent surfaced findings that no other tool has uncovered by truly understanding the application, its code, and connecting that context to what it discovered during testing. Legacy scanners simply could not match what Security Agent revealed. It gave us visibility into issues we typically would not see, even from human pentesting teams. For the first time, it felt like I had an AI tool on my side as a defender.” &lt;/i&gt;– Travis Allen, Manager of Security Operations at Bamboo Health&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Set up your first penetration test&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Setting up a penetration test is straightforward and includes the following steps.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Create agent spaces as logical boundaries&lt;/b&gt;&lt;br&gt; Start by creating an agent space for each application or project. An agent space serves as a logical boundary where you can connect documents and code repositories for your application. The agent uses this application context from your documentation and code to create targeted test cases specific to your implementation. For example, create an &lt;i&gt;Ecommerce Platform&lt;/i&gt; agent space and connect your GitHub repository, API specifications, and architecture documentation. By analyzing these materials to understand how your application handles payment processing, sessions, and user stories, the agent creates targeted test cases for payment manipulation vulnerabilities and session hijacking risks specific to your implementation.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Complete domain ownership validation&lt;/b&gt;&lt;br&gt; Before testing begins, complete domain ownership validation by adding a DNS TXT record or uploading a verification file to your domain. This required step helps ensure you have authorization to test the target application, protecting both you and AWS. Complete this one-time setup for all domains during initial configuration to prevent delays when running penetration tests.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Add application context for improved accuracy and deeper findings&lt;/b&gt;&lt;br&gt; While optional, providing source code and documentation considerably improves testing accuracy. Include the following:&lt;/p&gt; 
  &lt;ul class="rte2-style-ul" id="rte-abbb3540-293e-11f1-af00-4b7eefae8e7e"&gt; 
   &lt;li&gt;&lt;b&gt;Source code&lt;/b&gt;: Enables white-box testing to identify implementation-specific vulnerabilities. You can directly connect your source code repositories with GitHub integration&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;API specifications (OpenAPI or Swagger)&lt;/b&gt;: Documents all endpoints, parameters, and authentication requirements so the agent tests comprehensively rather than discovering endpoints through trial and error&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Architecture documentation&lt;/b&gt;: Helps the agent understand service interactions and potential attack chains&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Product requirements documents&lt;/b&gt;:&lt;b&gt; &lt;/b&gt;Helps the agent understand purpose, features, functionality, and user stories when using the application&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Existing threat models&lt;/b&gt;: Guides the agent to focus on your highest-risk areas and known concerns&lt;/li&gt; 
  &lt;/ul&gt; 
  &lt;p&gt;&lt;b&gt;Test across any environment&lt;/b&gt;&lt;br&gt; AWS Security Agent operates across AWS, Azure, GCP, other cloud-providers, and on-premises. Configure public endpoints directly by providing the URL, or connect private endpoints through a VPC for secure testing of internal applications without internet exposure. By using this multicloud support, you can consolidate security testing across your entire infrastructure using AWS Security Agent.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Testing authenticated applications&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Most vulnerabilities exist in authenticated areas of applications, and you can’t find them without signing in. Configure multiple credentials for different user roles to enable comprehensive testing:&lt;/p&gt; 
  &lt;ul class="rte2-style-ul" id="rte-abbb5c50-293e-11f1-af00-4b7eefae8e7e"&gt; 
   &lt;li&gt;Standard user credentials for customer-facing functionality&lt;/li&gt; 
   &lt;li&gt;Privileged user credentials for administrative functions&lt;/li&gt; 
   &lt;li&gt;Service account credentials for API-to-API authentication&lt;/li&gt; 
   &lt;li&gt;Multi-factor authentication (MFA), including MFA and two-factor authentication (2FA) and&lt;/li&gt; 
  &lt;/ul&gt; 
  &lt;p&gt;By testing with multiple credential sets, AWS Security Agent identifies privilege escalation vulnerabilities, for example, discovering that a standard user can access admin functions by manipulating API parameters.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Provide sign-in guidance for complex authentication&lt;/b&gt;&lt;/p&gt; 
  &lt;p&gt;AWS Security Agent uses large language model (LLM)-based sign-in capabilities to navigate authentication flows including OAuth, SAML, Okta, and MFA. Providing clear sign-in guidance significantly improves success rates, for example:&lt;/p&gt; 
  &lt;ol class="rte2-style-ol" id="rte-6ff298e1-2a0c-11f1-83a0-19b708115d8c" start="1"&gt; 
   &lt;li&gt;Navigate to &lt;code class="CodeInline" style="color: #000"&gt;app.example.com/auth/login&lt;/code&gt;&lt;/li&gt; 
   &lt;li&gt;Enter &lt;code class="CodeInline" style="color: #000"&gt;username&lt;/code&gt; in the &lt;b&gt;Email or Username &lt;/b&gt;field&lt;/li&gt; 
   &lt;li&gt;Enter &lt;code class="CodeInline" style="color: #000"&gt;password&lt;/code&gt; in the &lt;b&gt;Password &lt;/b&gt;field&lt;/li&gt; 
   &lt;li&gt;Choose &lt;b&gt;Sign In&lt;/b&gt;&lt;/li&gt; 
  &lt;/ol&gt; 
  &lt;p&gt;Specific instructions, sequential steps, and success verification criteria help the agent navigate your authentication flow reliably.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;From findings to fixes: The complete security lifecycle&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Review the findings and take actions to remediate with AWS Security Agent.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Validated, actionable findings&lt;/b&gt;&lt;br&gt; AWS Security Agent validates potential vulnerabilities by attempting exploitation to confirm the security risk exists. This validation approach minimizes false positives and reduces the time your team spends manually verifying findings, so you can focus on legitimate vulnerabilities that require fixes. The &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/blogs/security/inside-aws-security-agent-a-multi-agent-architecture-for-automated-penetration-testing/" target="_blank" rel="noopener" data-cms-ai="0"&gt;&lt;u&gt;agent achieved a 92.5% success rate on CVE Bench v2.0&lt;/u&gt;&lt;/a&gt;&lt;/span&gt;, demonstrating its capability to discover and validate real-world vulnerabilities.&lt;/p&gt; 
  &lt;p&gt;Each finding includes CVSS risk scores, application-specific severity ratings, detailed reproduction steps, and impact analysis that explains the business risk. In an ecommerce application, the agent might discover a price manipulation vulnerability and show that attackers can modify product prices during checkout, allowing customers to obtain items for free and directly impacting revenue.&lt;/p&gt; 
  &lt;p&gt;The agent also identifies how vulnerabilities chain together, showing how lower-severity findings can become gateways to critical exploits.&lt;/p&gt; 
  &lt;p&gt;You can export reports as PDF files for executive reporting, compliance documentation, developer handoffs, and audit trails.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Remediation with code fix suggestion completes the process&lt;/b&gt;&lt;br&gt; Traditional penetration testing ends with a report, then weeks or months pass while developers research, implement, and deploy fixes. AWS Security Agent completes the security lifecycle:&lt;/p&gt; 
  &lt;ol class="rte2-style-ol" id="rte-abbb8361-293e-11f1-af00-4b7eefae8e7e" start="1"&gt; 
   &lt;li&gt;&lt;b&gt;Run penetration test &lt;/b&gt;and identify confirmed vulnerabilities&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Review findings &lt;/b&gt;and prioritize critical issues&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Trigger remediation &lt;/b&gt;to generate pull requests with code fixes&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Developer review and merge &lt;/b&gt;the ready-to-implement fixes in hours instead of days&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Retest &lt;/b&gt;to confirm vulnerabilities are resolved&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Deploy with confidence &lt;/b&gt;knowing security issues are addressed&lt;/li&gt; 
  &lt;/ol&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Get started with on-demand penetration testing&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;AWS Security Agent on-demand penetration testing is now available in the following AWS Regions:&lt;/p&gt; 
  &lt;ul class="rte2-style-ul" id="rte-abbb8362-293e-11f1-af00-4b7eefae8e7e"&gt; 
   &lt;li&gt;US East (N. Virginia)&lt;/li&gt; 
   &lt;li&gt;US West (Oregon)&lt;/li&gt; 
   &lt;li&gt;Europe (Ireland)&lt;/li&gt; 
   &lt;li&gt;Europe (Frankfurt)&lt;/li&gt; 
   &lt;li&gt;Asia Pacific (Sydney)&lt;/li&gt; 
   &lt;li&gt;Asia Pacific (Tokyo)&lt;/li&gt; 
  &lt;/ul&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;Pricing&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Pricing is straightforward and transparent: $50 per task-hour, metered per second. A task-hour represents the time AWS Security Agent actively works on testing your application. Based on current metrics, an average application test takes approximately 24 task-hours, resulting in a typical cost of $1,200 per comprehensive penetration test and remediation. See the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/security-agent/pricing/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Security Agent pricing page&lt;/a&gt;&lt;/span&gt; for more details on pricing and free trial.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Sample bill:&lt;/b&gt;&lt;/p&gt; 
  &lt;ul class="rte2-style-ul" id="rte-abbbaa70-293e-11f1-af00-4b7eefae8e7e"&gt; 
   &lt;li&gt;Small web application (8 task-hours): $400&lt;/li&gt; 
   &lt;li&gt;Medium ecommerce platform (24 task-hours): $1,200&lt;/li&gt; 
   &lt;li&gt;Large enterprise application (48 task-hours): $2,400&lt;/li&gt; 
  &lt;/ul&gt; 
  &lt;p&gt;&lt;b&gt;Note: &lt;/b&gt;The preceding sample bills and estimated costs are for illustrative purposes only and are not guaranteed. Actual costs can vary based on multiple factors including application complexity, number of endpoints, authentication mechanisms, code base size, and the depth of testing required. Your actual penetration test duration and cost will depend on your specific application characteristics.&lt;/p&gt; 
  &lt;p&gt;By using AWS Security Agent, you can perform penetration testing more quickly, frequently, and on more of your applications at a reduced cost. For example, some customers found that AWS Security Agent provided up to 70–90% savings compared to traditional manual penetration testing approaches.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Ready to transform your security testing?&lt;/b&gt;&lt;br&gt; Create your first agent space and run your first penetration test in minutes:&lt;/p&gt; 
  &lt;ol class="rte2-style-ol" id="rte-abbbd180-293e-11f1-af00-4b7eefae8e7e" start="1"&gt; 
   &lt;li&gt;Visit the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://us-east-1.console.aws.amazon.com/securityagent/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Management Console for AWS Security Agent&lt;/a&gt;&lt;/span&gt;&lt;/li&gt; 
   &lt;li&gt;Create an agent space for your application&lt;/li&gt; 
   &lt;li&gt;Complete domain ownership validation&lt;/li&gt; 
   &lt;li&gt;Connect your code repository and add documentation&lt;/li&gt; 
   &lt;li&gt;Configure and run your first penetration test&lt;/li&gt; 
  &lt;/ol&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Conclusion&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;By using on-demand penetration testing in AWS Security Agent, you can test all your applications continuously, not just your most critical ones periodically. Start with one application, experience validated findings and automatic remediation in action, then scale comprehensive security testing across your entire portfolio.&lt;/p&gt; 
  &lt;p&gt;Visit &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/security-agent/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Security Agent&lt;/a&gt;&lt;/span&gt; to begin testing today.&lt;/p&gt; 
  &lt;p&gt;&lt;/p&gt;
 &lt;/div&gt; 
&lt;/div&gt; 
&lt;footer&gt; 
 &lt;div class="blog-author-box"&gt; 
  &lt;div class="blog-author-image"&gt; 
   &lt;img loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/03/31/ayush-singh-author-1.jpg" alt="Ayush Singh" width="120" height="160" class="aligncenter size-full wp-image-31782"&gt; 
  &lt;/div&gt; 
  &lt;h3 class="lb-h4"&gt;Ayush Singh&lt;/h3&gt; 
  &lt;p&gt;Ayush is a Senior Product Manager at AWS, where he leads the development of AWS Security Agent. Ayush has a proven record of scaling enterprise-grade, open source, and agentic AI products. He is dedicated to building tools that empower organizations to effectively scale their security practices. Ayush holds an MBA from the University of Rochester and a B.Tech in Computer Science from KIIT University.&lt;/p&gt; 
  &lt;p&gt;&lt;/p&gt;
 &lt;/div&gt; 
 &lt;div class="blog-author-box"&gt; 
  &lt;div class="blog-author-image"&gt; 
   &lt;img loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2025/07/23/Christopher-Rae.jpg" alt="Christopher Rae" width="120" height="160" class="aligncenter size-full wp-image-31782"&gt; 
  &lt;/div&gt; 
  &lt;h3 class="lb-h4"&gt;Christopher Rae&lt;/h3&gt; 
  &lt;p&gt;Christopher is a Principal Worldwide Security Specialist and the AI Security GTM Lead at AWS, defining go-to-market strategy for securing AI workloads, AI-powered security capabilities, and resilience to evolving AI-powered threats. He evangelizes secure-by-design and defense-in-depth solutions to accelerate secure AI adoption. He earned his MBA from UC San Diego and BA from University of Maine. In his free time, he enjoys epicurean travel, hockey, skiing, and discovering new music.&lt;/p&gt; 
  &lt;p&gt;&lt;/p&gt;
 &lt;/div&gt; 
&lt;/footer&gt;</content:encoded>
					
					
			
		
		
			</item>
		<item>
		<title>Preparing for agentic AI: A financial services approach</title>
		<link>https://aws.amazon.com/blogs/security/preparing-for-agentic-ai-a-financial-services-approach/</link>
					
		
		<dc:creator><![CDATA[Raphael Fuchs]]></dc:creator>
		<pubDate>Thu, 26 Mar 2026 22:00:45 +0000</pubDate>
				<category><![CDATA[Security, Identity, & Compliance]]></category>
		<guid isPermaLink="false">35226b859588e446a41fd5a390759859c90dac74</guid>

					<description>Deploying agentic AI in financial services requires additional security controls that address AI-specific risks. This post walks you through comprehensive observability and fine-grained access controls—two critical capabilities for maintaining explainability and accountability in AI systems. You will learn seven design principles and get implementation guidance for meeting regulatory requirements while deploying secure AI solutions. Financial […]</description>
										<content:encoded>&lt;div class="Page-articleBody"&gt; 
 &lt;div class="RichTextArticleBody RichTextBody"&gt; 
  &lt;p&gt;Deploying agentic AI in financial services requires additional security controls that address AI-specific risks. This post walks you through comprehensive observability and fine-grained access controls—two critical capabilities for maintaining explainability and accountability in AI systems. You will learn seven design principles and get implementation guidance for meeting regulatory requirements while deploying secure AI solutions.&lt;/p&gt; 
  &lt;p&gt;Financial institutions navigating this landscape face a dual challenge. They must comply with an evolving regulatory environment—including frameworks such as SR 11-7 in the US, SS1/23 in the UK, and ECB guidelines in the EU—while simultaneously addressing the unique security considerations that agentic AI introduces. Unlike traditional software systems, agentic AI can make autonomous decisions and take actions that potentially impact customers, operations, and institutional reputation. This autonomy demands a security approach that goes beyond conventional controls.&lt;/p&gt; 
  &lt;p&gt;Organizations aligning to established frameworks such as &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://www.iso.org/standard/27001" target="_blank" rel="noopener" data-cms-ai="0"&gt;ISO 27001&lt;/a&gt;&lt;/span&gt; and the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://www.nist.gov/cyberframework" target="_blank" rel="noopener" data-cms-ai="0"&gt;NIST Cybersecurity Framework&lt;/a&gt;&lt;/span&gt; have a strong foundation, but you need to add AI-specific security measures to address the unique risks of agentic AI. Using agentic AI requires augmentation of these traditional controls with AI-specific security measures. The non-deterministic nature of AI systems, their ability to act with significant autonomy, and the complexity of multi-agent interactions introduce new dimensions of risk that must be carefully managed.&lt;/p&gt; 
  &lt;p&gt;In financial services, you need clear explainability and accountability for effective model risk management. When AI agents make decisions or take actions on behalf of your organization, you need clear visibility into what was done, why it was done, and who—or what—was responsible. This transparency helps you maintain trust, meet regulatory obligations, and deploy AI responsibly according to &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/ai/responsible-ai/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Responsible AI practices&lt;/a&gt;&lt;/span&gt;.&lt;/p&gt; 
  &lt;p&gt;This post outlines security principles for implementing agentic AI in financial services. We focus on two critical enablers: comprehensive observability of agentic workflows and fine-grained control over agent tool access permissions. Together, these capabilities provide the foundation for explainability and create a control environment that facilitates accountability.&lt;/p&gt; 
  &lt;p&gt;Our approach is structured in two parts. First, we explore seven core design principles that serve a dual purpose: guiding solution architects during the design of AI systems and providing risk management teams with a framework for identifying critical risk factors. Second, we provide detailed implementation guidance with practical insights to help you deploy secure and compliant AI solutions in the financial sector. Consult with your compliance and legal teams to determine specific requirements for your situation. Regulatory requirements establish minimum baselines, but organizational risk considerations—including reputational risk and potential customer harm—often require additional controls.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Core design principles for agentic AI observability and tool access control&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;In this section, we outline key design principles for agentic AI systems in financial services. These principles help address fundamental observability and access control requirements for secure AI implementations. While specific compliance requirements vary by jurisdiction and use case, these design principles provide a foundation for secure and governable AI systems.&lt;/p&gt; 
  &lt;ul class="rte2-style-ul" id="rte-21e88800-219f-11f1-94fa-a779c43e6934"&gt; 
   &lt;li&gt;&lt;b&gt;Human-AI security homology&lt;/b&gt;&lt;br&gt; Understand the human controls and determine applicability to agents and agentic workflows and document the agent personas. &lt;span class="LinkEnhancement"&gt;&lt;span class="Link"&gt;Implement agent identities in addition to traditional role and attribute-based permissions&lt;/span&gt;&lt;/span&gt;, logging and behavioral monitoring. Ensure critical actions have supervision (agentic or human), define agent scope in workflows and consider change and incident management, segregation of agent duties for actions and tool usage, maker-checker verification&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://www.mas.gov.sg/-/media/MAS/resource/licensing_guide/banking/Guidance-to-Enhance-Operational-Controls-in-Payments-and-EFT-Operations_6-Dec-2019.pdf" target="_blank" rel="noopener" data-cms-ai="0"&gt;,&lt;/a&gt;&lt;/span&gt; logging, and behavior monitoring.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Modular agent workflow architecture&lt;/b&gt;&lt;br&gt; Use specialized sub-agents in workflows. Attach fine-grained permissions to narrow the focus of sub-agents to reduce the scope of permissions each agent requires, increase modularity and reusability, simplify maintenance, and enhance observability and therefore explainability.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Workflow and agent logging and tracing&lt;/b&gt;&lt;br&gt; Implement comprehensive logging and tracing to track decisions, actions, activity workflows, specific caller context, and reasoning steps to enable better explainability. AI systems explainability—and monitoring of inter-agent interactions, context sharing, and emergent behaviors—enables a holistic observability of the multi-agent workflow operations and dynamics.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Segregated AI least-privilege&lt;/b&gt;&lt;br&gt; Enforce least privilege and segregation of duties in automated workflows through clearly defined operational boundaries for AI agents. The boundaries should be supported by authorization controls, bound to the caller permissions with support for contextual verification, and supported by circuit breakers such as human oversight. This approach helps ensure that agents operate within appropriate limits and boundaries while enabling necessary human intervention, balancing automation with security and control.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Governance integration&lt;/b&gt;&lt;br&gt; Integrate agent observability into existing governance frameworks through alignment with established risk management and compliance processes, while implementing standardized evaluation frameworks and test harnesses that measure agent performance, compliance, and business value alignment.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Agentic operational controls&lt;/b&gt;&lt;br&gt; Provide business-friendly guardrails for defining and managing agent behavior policies while maintaining comprehensive cost controls through monitoring and optimization of resource utilization at both individual and workflow levels. Through this approach, business users can manage agent constraints.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Risk management and compliance&lt;/b&gt;&lt;br&gt; Integrate comprehensive activity tracing (see &lt;i&gt;Workflow and agent logging and tracing&lt;/i&gt;) with existing governance frameworks to support audit requirements, regulatory compliance, and align with established risk management processes. This approach helps ensure thorough oversight and compliance across all agent activities within the organization’s existing governance structure.&lt;/li&gt; 
  &lt;/ul&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Implementation guidance&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;In the following sections, we provide specific implementation guidance and recommendations that directly help you apply the seven core design principles discussed above. With these guidelines in place, your solution architects can design and deploy secure AI agent systems on AWS. Our aim is not to provide exhaustive technical solutions, but rather to guide implementations. We recommend that enterprise customers work closely with their assigned AWS Solutions Architect to discuss and develop detailed implementation practices tailored to their specific architecture.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;Monitor and understand AI agent behavior&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;The following guidance aligns with the &lt;b&gt;Human-AI security homology and Workflow and agent logging and tracing&lt;/b&gt; principles in the previous section.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Implement end-to-end agent workflow visibility&lt;/b&gt;&lt;br&gt; Document agent workflows and personas, implement comprehensive tracing of agent workflows that captures inputs, reasoning steps, outputs, and tool usage. &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/bedrock/agentcore/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Bedrock AgentCore&lt;/a&gt;&lt;/span&gt; Observability provides purpose-built solutions for tracing, debugging, identifying, and monitoring agent performance in production environments. This visibility provides data for understanding how agents interact with critical financial systems and data. Implement a tagging strategy for agents to enhance visibility, use descriptive role names for intended use cases for agents, and anticipate use of these tags to be used in downstream agentic permissions and upstream workflows.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Establish agent activity dashboards&lt;/b&gt;&lt;br&gt; Deploy operational dashboards, with &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/cloudwatch/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon CloudWatch&lt;/a&gt;&lt;/span&gt; for example, that provide a view into agents’ operational health. These dashboards should track key metrics including successful completions, failures, latency, and resource utilization.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Integrate agent telemetry with existing monitoring systems&lt;/b&gt;&lt;br&gt; Use common standards such as &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://opentelemetry.io/" target="_blank" rel="noopener" data-cms-ai="0"&gt;OpenTelemetry&lt;/a&gt;&lt;/span&gt; (OTel) using &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/otel/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Distro for OpenTelemetry&lt;/a&gt;&lt;/span&gt; to integrate agent telemetry with your existing monitoring infrastructure. Common standards mean that financial institutions can maintain their investments in monitoring tools while extending visibility to agent activities.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Establish agent server-side (tool-side) checks&lt;/b&gt;&lt;br&gt; Implement a standardized access control for agents using tools to apply consistent controls following &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/prescriptive-guidance/latest/agentic-ai-frameworks/security-best-practices-for-tool-integration.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS security best practices for tool integration&lt;/a&gt;&lt;/span&gt;. Ensure validation and sanitization checks are in place on inputs at the point of tool usage to detect unintended behavior for both user-to-agent and agent-to-agent interactions.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;Manage change in agentic AI environments&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;The following guidance aligns with the &lt;b&gt;Governance integration and Agentic operational controls&lt;/b&gt; principles.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Adapt change management for AI agent workflows&lt;/b&gt;&lt;br&gt; Modify your current change management processes to accommodate the dynamic nature of AI agents while maintaining appropriate controls. Review approval processes integrated into agent deployment pipelines, adapt those approval processes to an iterative nature of small increment improvements, implement human in the loop breaks into agentic operations.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Monitor for agent behavior drift&lt;/b&gt;&lt;br&gt; Implement continuous monitoring of agent traces into a test harness with tools such as &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/cloudwatch/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon CloudWatch&lt;/a&gt;&lt;/span&gt; and &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/xray/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS X-Ray&lt;/a&gt;&lt;/span&gt; to watch for changes in agent behavior patterns that might indicate execution drift or unexpected learning. This is particularly important for maintaining compliance with regulatory requirements that might dictate specific operational boundaries.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;Implement the principle of least privilege for AI agents&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;The following guidance aligns with the &lt;b&gt;Human-AI security homology and Segregated AI least-privilege&lt;/b&gt; principles.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Define granular permission boundaries for agent actions&lt;/b&gt;&lt;br&gt; Implement fine-grained permission controls to limit permissions to those necessary for agent functions using, for example, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/policy.html?refid=ff33766a-4e6b-40e4-a1bf-2b4543dadbf5" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Bedrock AgentCore Policy&lt;/a&gt;&lt;/span&gt;. Consider separation of duties for &lt;span class="LinkEnhancement"&gt;&lt;span class="Link"&gt;agents by segregating&lt;/span&gt;&lt;/span&gt; functions and tool access permissions to reduce the scope of impact of unintended actions. Ensure user prompt-driven agent actions and agent-to-agent actions are separately identifiable.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Implement authorization monitoring&lt;/b&gt;&lt;br&gt; Deploy observability tools, such as &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/observability.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Bedrock AgentCore Observability&lt;/a&gt;&lt;/span&gt;, that continuously monitor agent authorization patterns and flag anomalous access attempts.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Establish agent action audit trails&lt;/b&gt;&lt;br&gt; Maintain comprehensive audit trails of agent actions that affect production systems and sensitive data. These audit trails should be immutable and integrated with existing compliance reporting systems. This is to help ensure that agent-to-agent actions and the original source and lineage of the request be preserved.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;Implement guardrails and behavioral controls for AI agents&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;The following guidance aligns with the &lt;b&gt;Agentic operational controls&lt;/b&gt; and &lt;b&gt;Risk management and compliance&lt;/b&gt; principles. It’s recommended to take a &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/prescriptive-guidance/latest/strategy-accelerating-security-maturity/introduction.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;crawl, walk, run&lt;/a&gt;&lt;/span&gt; approach to control implementation, start with the minimum required set of controls and evolve over time using feedback from monitoring.&lt;/p&gt; 
  &lt;p&gt;Deploy policy configuration Implement user-friendly interfaces for defining agent behavioral policies and compliance rules. Through such interfaces, risk and compliance teams can directly manage agent guardrails without technical intervention.&lt;/p&gt; 
  &lt;p&gt;Enable real-time guardrail enforcement Deploy automated systems that validate agent actions against defined policies in real time. For example, use &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/bedrock/guardrails/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Bedrock Guardrails&lt;/a&gt;&lt;/span&gt; to implement content filtering, personally identifiable information (PII) detection, and response validation before agent outputs reach production systems.&lt;/p&gt; 
  &lt;p&gt;Establish human oversight workflows Implement review workflows as control points for critical agent actions with clear escalation paths. Define triggers for human review and maintain feedback collection mechanisms for continuous improvement.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;Detecting and recovering from AI agent failures&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;The following guidance aligns with the &lt;i&gt;Workflow and agent logging and tracing&lt;/i&gt; and &lt;i&gt;Risk management and compliance&lt;/i&gt;.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Implement agent health and performance monitoring&lt;/b&gt;&lt;br&gt; Deploy comprehensive health and performance monitoring for AI agents that can detect both hard failures and degraded performance. &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/bedrock/agentcore/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Bedrock AgentCore&lt;/a&gt;&lt;/span&gt; Observability provides specialized capabilities for understanding agent health beyond traditional application metrics.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Establish agent failure recovery procedures&lt;/b&gt;&lt;br&gt; As in traditional deployment pipelines, develop and test automated recovery and manual behavioral modification procedures for different types of agent failures. These procedures should include appropriate circuit breakers and human escalation paths for scenarios requiring judgment.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Monitor for reasoning quality degradation&lt;/b&gt;&lt;br&gt; Implement monitoring for subtle degradation in agent reasoning quality that might not trigger traditional failure alerts.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;Ensuring consistent agent performance across environments&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;The following guidance aligns with the &lt;b&gt;Workflow and agent logging and tracing, Agentic operational controls&lt;/b&gt;, and &lt;b&gt;Risk management and compliance&lt;/b&gt; principles.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Implement modular agents with performance baselines&lt;/b&gt;&lt;br&gt; Implement modular, reusable agents with established performance baselines for agent operations across development, testing, and production environments. Monitor for deviations that might indicate environment-specific issues.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Deploy canary testing for agent behavior monitoring and resilience testing&lt;/b&gt;&lt;br&gt; Implement small-scale release testing practices for agent changes, with comprehensive observability to detect unexpected behavior changes before full deployment and at runtime. Use positive testing where valid inputs produce expected outputs and negative testing where improper inputs still achieve the desired output. Test agent resilience under various failure conditions. Use change control for canary tests to ensure tracking over time as testing expands and matures.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;Managing multi-agent workflow interactions&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;The following guidance aligns with &lt;b&gt;Modular agent workflow architecture&lt;/b&gt; and &lt;b&gt;Workflow and agent logging and tracing&lt;/b&gt; principles.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Monitor agent collaboration patterns&lt;/b&gt; &lt;br&gt; Implement monitoring for agent-to-agent communications within predefined workflows and dynamic workflows, context sharing, and collective behaviors. Track interaction patterns to identify potential risks or inefficiencies.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Detect emergent behaviors&lt;/b&gt; &lt;br&gt; Deploy behavioral trace tests to identify unexpected patterns or outcomes arising from multi-agent interactions. Establish baselines for normal collaborative behavior and alert on deviations, include extreme scenarios in testing.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Maintain interaction audit trails&lt;/b&gt; &lt;br&gt; Record non-repudiable and comprehensive logs of agent interactions, including context exchanges, handoffs, and outputs. Ensuring agent-to-agent actions, the original source and lineage of the request must be preserved.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;Optimize AI agent resource utilization &amp;amp; costs&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;The following guidance aligns with the &lt;b&gt;Agentic operational controls&lt;/b&gt; principle.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Implement agent resource and cost consumption monitoring&lt;/b&gt;&lt;br&gt; Deploy monitoring for agent resource consumption patterns, including compute, memory, API usage, and costs using (for example) &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/cloudwatch/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon CloudWatch&lt;/a&gt;&lt;/span&gt;. This enables optimization of resource allocation and cost management.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Establish agent performance metrics&lt;/b&gt;&lt;br&gt; Define and monitor key performance indicators specific to agent operations, such as reasoning step performance efficiency, tool usage patterns, and completion times.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Implement agent performance anomaly detection&lt;/b&gt;&lt;br&gt; Deploy anomaly detection for agent performance metrics to identify potential issues before they impact business operations.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Conclusion&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;The adoption of agentic AI in financial services requires carefully balancing innovation with control. The seven core design principles outlined here provide a framework for implementing explainable, governable, and in general responsible AI systems that align with existing security and compliance requirements. By treating AI agents with the same security rigor applied to human employees—through robust access control, role and attribute-based permissions, and comprehensive monitoring—organizations can safely deploy these systems while maintaining compliance with key regulatory frameworks.&lt;/p&gt; 
  &lt;p&gt;The purpose-built solutions available from AWS provide the technical foundation, but success also requires clear policies and human oversight mechanisms. Financial institutions that establish these fundamental security and governance capabilities will be well-positioned to leverage agentic AI while contributing to the security, explainability and compliance with industry standards of their systems.&lt;/p&gt; 
  &lt;hr&gt; 
  &lt;p&gt;If you have feedback about this post, submit comments in the Comments section below. If you have questions about this post, start a new thread on the &lt;a href="https://repost.aws/topics/TAEEfW2o7QS4SOLeZqACq9jA/security-identity-compliance%3Fsc_ichannel=ha&amp;amp;sc_ilang=en&amp;amp;sc_isite=repost&amp;amp;sc_iplace=hp&amp;amp;sc_icontent=TAEEfW2o7QS4SOLeZqACq9jA&amp;amp;sc_ipos=0" rel="noopener" target="_blank"&gt;AWS Security, Identity, &amp;amp; Compliance re:Post&lt;/a&gt; or &lt;a href="https://console.aws.amazon.com/support/home" rel="noopener" target="_blank"&gt;contact AWS Support&lt;/a&gt;. &lt;br&gt;&amp;nbsp;&lt;/p&gt; 
  &lt;p&gt;&lt;/p&gt;
 &lt;/div&gt; 
&lt;/div&gt; 
&lt;footer&gt; 
 &lt;div class="blog-author-box"&gt; 
  &lt;div class="blog-author-image"&gt; 
   &lt;img loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2023/10/30/Raphael_Fuchs.jpg" alt="Raphael Fuchs" width="120" height="160" class="aligncenter size-full wp-image-31782"&gt; 
  &lt;/div&gt; 
  &lt;h3 class="lb-h4"&gt;Raphael Fuchs&lt;/h3&gt; 
  &lt;p&gt;Raphael is a Principal Security and Compliance Specialist for AWS Financial Services in Switzerland and EMEA. He helps financial services customers translate compliance and regulatory requirements into technical and organizational measures in the AWS Cloud. Raphael previously served as Chief Information Security Officer at TWINT AG, the leading Swiss mobile payment solution, bringing deep industry expertise to his current role.&lt;/p&gt; 
  &lt;p&gt;&lt;/p&gt;
 &lt;/div&gt; 
 &lt;div class="blog-author-box"&gt; 
  &lt;div class="blog-author-image"&gt; 
   &lt;img loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/03/17/Simon-Lawrie-Author.jpg" alt="Simon Lawrie" width="120" height="160" class="aligncenter size-full wp-image-31782"&gt; 
  &lt;/div&gt; 
  &lt;h3 class="lb-h4"&gt;Simon Lawrie&lt;/h3&gt; 
  &lt;p&gt;Simon is a Principal Security Solutions Architect and leads a team of Security and Compliance Specialists across Asia. Working with the largest Financial Services organizations, he helps them efficiently deploy security controls and assurance in the AWS Cloud. Simon previously served as the Head of Cyber Security Defense APAC and EMEA for Bank of America.&lt;/p&gt; 
  &lt;p&gt;&lt;/p&gt;
 &lt;/div&gt; 
&lt;/footer&gt;</content:encoded>
					
					
			
		
		
			</item>
		<item>
		<title>IAM policy types: How and when to use them</title>
		<link>https://aws.amazon.com/blogs/security/iam-policy-types-how-and-when-to-use-them/</link>
					
		
		<dc:creator><![CDATA[Matt Luttrell]]></dc:creator>
		<pubDate>Mon, 23 Mar 2026 20:13:44 +0000</pubDate>
				<category><![CDATA[Intermediate (200)]]></category>
		<category><![CDATA[Security, Identity, & Compliance]]></category>
		<category><![CDATA[IAM]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Security Blog]]></category>
		<guid isPermaLink="false">878d6cd514fe621889de584508a43fc427b1dc13</guid>

					<description>June 3, 2022: Original publication date of this post. This post has been updated to add the additional IAM policy types: Resource control policies. You manage access in AWS by creating policies and attaching them to AWS Identity and Access Management (IAM) principals (roles, users, or groups of users) or AWS resources. AWS evaluates these […]</description>
										<content:encoded>&lt;blockquote&gt;
 &lt;p&gt;&lt;b&gt;June 3, 2022:&lt;/b&gt; Original publication date of this post. This post has been updated to add the additional IAM policy types: Resource control policies.&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;hr&gt; 
&lt;div class="Page-articleBody"&gt; 
 &lt;div class="RichTextArticleBody RichTextBody"&gt; 
  &lt;p&gt;You manage access in AWS by creating policies and attaching them to &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/iam/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Identity and Access Management (IAM)&lt;/a&gt;&lt;/span&gt; principals (roles, users, or groups of users) or AWS resources. AWS &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;evaluates these policies&lt;/a&gt;&lt;/span&gt; when an IAM principal makes a request, such as uploading an object to an &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/s3/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Simple Storage Service (Amazon S3)&lt;/a&gt;&lt;/span&gt; bucket. Permissions in the policies determine whether the request is allowed or denied. While IAM operates primarily at the individual AWS account level, organizations with multiple AWS accounts can extend these access controls through &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Organizations&lt;/a&gt;&lt;/span&gt;, which provides additional &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html#orgs-policy-types" target="_blank" rel="noopener" data-cms-ai="0"&gt;policy types&lt;/a&gt;&lt;/span&gt; that work alongside IAM to enforce governance and security standards across their entire organizational structure. By using AWS Organizations, you can group accounts in the multi-account environment into organizational units (OUs), apply policy-based controls across these groups.&lt;/p&gt; 
  &lt;p&gt;In this blog post, you will learn how to select the appropriate policy types for your security requirements and determine which team should own and manage each policy. You will explore seven policy types—including identity-based policies, resource-based policies, permissions boundaries, service control policies (SCPs), and resource control policies (RCPs)—through a practical scenario involving multiple AWS accounts and teams.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;&lt;b&gt;Different policy types and when to use them&lt;/b&gt;&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;AWS has different policy types that provide you with powerful flexibility, and it’s important to know how and when to use each policy type. It’s also important for you to understand how to structure your IAM policy ownership to avoid a centralized team from becoming a bottleneck. Explicit policy ownership can allow your teams to move more quickly, while staying within the secure guardrails that are defined centrally.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;&lt;b&gt;Service control policies overview&lt;/b&gt;&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;Service control policies (SCPs)&lt;/a&gt;&lt;/span&gt; are a feature of &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/organizations/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Organizations&lt;/a&gt;&lt;/span&gt;. AWS Organizations is a service for grouping and centrally managing the AWS accounts that your business owns. SCPs are policies that specify the maximum permissions for an organization, organizational unit (OU), or an individual account. An SCP can limit permissions for principals in member accounts, including the AWS account root user.&lt;/p&gt; 
  &lt;p&gt;SCPs are meant to be used as coarse-grained guardrails, and they don’t directly grant access. The primary function of SCPs is to enforce &lt;i&gt;security invariants&lt;/i&gt; across AWS accounts and OUs in an organization. &lt;i&gt;Security invariants&lt;/i&gt; are control objectives or configurations that you apply to multiple accounts, OUs, or the whole organization managed by AWS Organizations. For example, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_examples_general.html#example-scp-leave-org" target="_blank" rel="noopener" data-cms-ai="0"&gt;you can use an SCP to prevent member accounts from leaving your organization&lt;/a&gt;&lt;/span&gt; or &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_examples_general.html#example-scp-deny-region" target="_blank" rel="noopener" data-cms-ai="0"&gt;to enforce that AWS resources can only be deployed to certain AWS Regions&lt;/a&gt;&lt;/span&gt;.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;&lt;b&gt;Resource control policies overview&lt;/b&gt;&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;Resource control policies (RCPs)&lt;/a&gt;&lt;/span&gt; are an AWS Organizations feature to manage permissions centrally. RCPs set the maximum available permissions for resources across your organization. RCPs help ensure that resources in your accounts stay within your organization’s access control guidelines.&lt;/p&gt; 
  &lt;p&gt;RCPs are typically used to enforce data perimeter controls to prevent accidental data sharing outside your organization and to control resource sharing and cross-account access patterns centrally. You can also use RCPs to implement security controls for sensitive resources across your organization’s accounts and to add an additional layer of protection for resources such as S3 buckets that store confidential data.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: SCPs are principal-centric controls that specify which services your IAM users and IAM roles can access, which resources they can access, or the conditions under which they can make requests (for example, from specific Regions or networks). On the other hand, RCPs are resource-centric controls that can restrict access to your resources so that they can be accessed only by identities that belong to your organization or specify the conditions under which identities external to your organization can access your resources. To understand SCPs and RCPs differences and use cases, see &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_authorization_policies.html#scps-rcps-general-use-cases" target="_blank" rel="noopener" data-cms-ai="0"&gt;General use cases for SCPs and RCPs&lt;/a&gt;&lt;/span&gt;.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;&lt;b&gt;Permissions boundaries overview&lt;/b&gt;&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;Permissions boundaries&lt;/a&gt;&lt;/span&gt; are an advanced IAM feature in which you set the maximum permissions that an identity-based policy can grant to an IAM principal. When you set a permissions boundary for a principal, the principal can perform only the actions that are allowed by both its identity-based policies and its permissions boundaries.&lt;/p&gt; 
  &lt;p&gt;A permissions boundary is a type of identity-based policy that doesn’t directly grant access. Instead, like an SCP, a permissions boundary acts as a guardrail for your IAM principals that allows you to set coarse-grained access controls. A permissions boundary is typically used to &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html#access_policies_boundaries-delegate" target="_blank" rel="noopener" data-cms-ai="0"&gt;delegate the creation of IAM principals&lt;/a&gt;&lt;/span&gt;. Delegation enables other individuals in your accounts to create new IAM principals, but limits the permissions that can be granted to the new IAM principals.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;&lt;b&gt;Identity-based policies overview&lt;/b&gt;&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;Identity-based policies&lt;/a&gt;&lt;/span&gt; are policy documents that you attach to a principal (roles, users, and groups of users) to control what actions a principal can perform, on which resources, and under what conditions. Identity-based policies can be further categorized into &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS managed policies&lt;/a&gt;&lt;/span&gt;, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies" target="_blank" rel="noopener" data-cms-ai="0"&gt;customer managed policies&lt;/a&gt;&lt;/span&gt;, and &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#inline-policies" target="_blank" rel="noopener" data-cms-ai="0"&gt;inline policies&lt;/a&gt;&lt;/span&gt;. AWS managed policies are reusable identity-based policies that are created and managed by AWS. You can use AWS managed policies as a starting point for building your own identity-based policies that are specific to your organization. Customer managed policies are reusable identity-based policies that can be attached to multiple identities. Customer managed policies are useful when you have multiple principals with identical access requirements. Inline policies are identity-based policies that are attached to a single principal. Use inline-policies when you want to create least-privilege permissions that are specific to a particular principal.&lt;/p&gt; 
  &lt;p&gt;You will have many identity-based policies in your AWS account that are used to enable access in scenarios such as human access, application access, machine learning workloads, and deployment pipelines. These policies should be fine-grained. You use these policies to directly apply least privilege permissions to your IAM principals. You should write the policies with permissions for the specific task that the principal needs to accomplish.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;&lt;b&gt;Resource-based policies overview&lt;/b&gt;&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;Resource-based policies&lt;/a&gt;&lt;/span&gt; are policy documents that you attach to a resource such as an S3 bucket. These policies grant the specified principal permission to perform specific actions on that resource and define under what conditions this permission applies. Resource-based policies are inline policies. For a list of AWS services that support resource-based policies, see &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS services that work with IAM&lt;/a&gt;&lt;/span&gt;.&lt;/p&gt; 
  &lt;p&gt;Resource-based policies are optional for many workloads that don’t span multiple AWS accounts. Fine-grained access within a single AWS account is typically granted with identity-based policies. &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/kms/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Key Management Service (AWS KMS)&lt;/a&gt;&lt;/span&gt; &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;keys&lt;/a&gt;&lt;/span&gt; and &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#term_trust-policy" target="_blank" rel="noopener" data-cms-ai="0"&gt;IAM role trust policies&lt;/a&gt;&lt;/span&gt; are two exceptions, and both of these resources must have a resource-based policy even when the principal and the KMS key or IAM role are in the same account. IAM roles and KMS keys behave this way as an extra layer of protection that requires the owner of the resource (key or role) to explicitly allow or deny principals from using the resource. For other resources that support &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html#all_svcs" target="_blank" rel="noopener" data-cms-ai="0"&gt;resource-based policies&lt;/a&gt;&lt;/span&gt;, here are some examples where they are most commonly used:&lt;/p&gt; 
  &lt;ol class="rte2-style-ol" id="rte-5ff94b60-1c0a-11f1-ba8e-af01a143dc97" start="1"&gt; 
   &lt;li&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic-cross-account.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;Granting cross-account access to your AWS resource.&lt;/a&gt;&lt;/span&gt;&lt;/li&gt; 
   &lt;li&gt;Granting an AWS service access to your resource when the AWS service uses an AWS service principal. For example, when using &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://www.amazonaws.cn/en/cloudtrail/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS CloudTrail&lt;/a&gt;&lt;/span&gt;, you must &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/create-s3-bucket-policy-for-cloudtrail.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;explicitly grant the CloudTrail service principal access to write files to an Amazon S3 bucket&lt;/a&gt;&lt;/span&gt;.&lt;/li&gt; 
   &lt;li&gt;Applying broad access guardrails to your AWS resources. You can see some examples in the blog post &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/blogs/security/iam-makes-it-easier-to-manage-permissions-for-aws-services-accessing-resources/" target="_blank" rel="noopener" data-cms-ai="0"&gt;IAM makes it easier for you to manage permissions for AWS services accessing your resources&lt;/a&gt;&lt;/span&gt;.&lt;/li&gt; 
   &lt;li&gt;Applying an additional layer of protection for resources that store sensitive data, such as &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/secrets-manager/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Secrets Manager&lt;/a&gt;&lt;/span&gt; secrets or an S3 bucket with sensitive data. You can use a resource-based policy to deny access to IAM principals that shouldn’t have access to sensitive data, even if granted access by an identity-based policy. &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;An explicit deny in an IAM policy always overrides an allow.&lt;/a&gt;&lt;/span&gt;&lt;/li&gt; 
  &lt;/ol&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;&lt;b&gt;How to implement different policy types&lt;/b&gt;&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;In this section, we will walk you through an example of a design that includes all four of the policy types explained in this post.&lt;/p&gt; 
  &lt;p&gt;The example that follows shows an application that runs on an &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="http://aws.amazon.com/ec2" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Elastic Compute Cloud (Amazon EC2)&lt;/a&gt;&lt;/span&gt; instance and needs to read from and write files to an S3 bucket in the same account. The application also reads (but doesn’t write) files from an S3 bucket in a different account. The company in this example, Example Corp, uses a &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/whitepapers/latest/organizing-your-aws-environment/organizing-your-aws-environment.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;multi-account strategy&lt;/a&gt;&lt;/span&gt;, and each application has its own AWS account. The architecture of the application is shown in Figure 1.&lt;/p&gt; 
  &lt;p&gt;&lt;/p&gt; 
  &lt;div id="attachment_41647" style="width: 429px" class="wp-caption aligncenter"&gt;
   &lt;img aria-describedby="caption-attachment-41647" loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/03/19/Figure-1.png" alt="Figure 1: Sample application architecture that needs to access S3 buckets in two different AWS accounts" width="419" height="349" class="size-full wp-image-41647"&gt;
   &lt;p id="caption-attachment-41647" class="wp-caption-text"&gt;Figure 1: Sample application architecture that needs to access S3 buckets in two different AWS accounts&lt;/p&gt;
  &lt;/div&gt;
  &lt;p&gt;&lt;/p&gt; 
  &lt;p&gt;There are three teams that participate in this example: the Central Cloud Team, the Application Team, and the Data Lake Team. The Central Cloud Team is responsible for the overall security and governance of the AWS environment across all AWS accounts at Example Corp. The Application Team is responsible for building, deploying, and running their application within the application account (111111111111) that they own and manage. Likewise, the Data Lake Team owns and manages the data lake account (222222222222) that hosts a data lake at Example Corp.&lt;/p&gt; 
  &lt;p&gt;With that background in mind, we will walk you through an implementation for each of the four policy types and include an explanation of which team we recommend own each policy. The policy owner is the team that is responsible for creating and maintaining the policy.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;&lt;b&gt;Service control policies&lt;/b&gt;&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;The Central Cloud Team owns the implementation of the security controls that should apply broadly to all of Example Corp’s AWS accounts. At Example Corp, the Central Cloud Team has two security requirements that they want to apply to all accounts in their organization:&lt;/p&gt; 
  &lt;ol class="rte2-style-ol" id="rte-5ff94b61-1c0a-11f1-ba8e-af01a143dc97" start="1"&gt; 
   &lt;li&gt;AWS API calls should be encrypted in transit to maintain security best practices&lt;/li&gt; 
   &lt;li&gt;Accounts can’t leave the organization on their own.&lt;/li&gt; 
  &lt;/ol&gt; 
  &lt;p&gt;The Central Cloud Team chooses to implement these security invariants using SCPs and applies the SCPs to the root of the organization. The first statement in Policy 1 &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-securetransport" target="_blank" rel="noopener" data-cms-ai="0"&gt;denies all requests that are not sent using SSL (TLS)&lt;/a&gt;&lt;/span&gt;. The second statement in Policy 1 prevents an account from leaving the organization.&lt;/p&gt; 
  &lt;p&gt;This is only a subset of the SCP statements that Example Corp uses. Example Corp uses a &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_strategies.html#orgs_policies_denylist" target="_blank" rel="noopener" data-cms-ai="0"&gt;deny list strategy&lt;/a&gt;&lt;/span&gt;, and there must also be an accompanying statement with an Effect of Allow at every level of the organization that isn’t shown in the SCP in Policy 1.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Policy 1: SCP attached to AWS Organizations organization root&lt;/b&gt;&lt;/p&gt; 
  &lt;div class="Enhancement" data-align-center=""&gt; 
   &lt;div class="Enhancement-item"&gt; 
    &lt;div class="CodeBlockWP hide-language"&gt; 
     &lt;div class="code-toolbar"&gt; 
      &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;{
		"Id": "ServiceControlPolicy",
		"Version": "2012-10-17",
		"Statement": [{
			"Sid": "DenyIfRequestIsNotUsingSSL",
			"Effect": "Deny",
			"Action": "*",
			"Resource": "*",
			"Condition": {
				"BoolIfExists": {
					"aws:SecureTransport": "false"
				}
			}
	},
	{
		"Sid": "PreventLeavingTheOrganization",
		"Effect": "Deny",
		"Action": "organizations:LeaveOrganization",
		"Resource": "*"
	}]
}

&lt;/code&gt;&lt;/pre&gt; 
      &lt;p&gt;&lt;/p&gt;
     &lt;/div&gt; 
     &lt;p&gt;&lt;/p&gt;
    &lt;/div&gt; 
    &lt;p&gt;&lt;/p&gt;
   &lt;/div&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;&lt;b&gt;Resource control policies&lt;/b&gt;&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;The Central Cloud Team also has three additional security requirements for Amazon S3 resource deployment to accounts.&lt;/p&gt; 
  &lt;ol class="rte2-style-ol" id="rte-a3c09760-1c08-11f1-a1ba-4b3173228fd5" start="1"&gt; 
   &lt;li&gt;Require a minimum TLS version of 1.2 for S3 bucket access&lt;/li&gt; 
   &lt;li&gt;Mandate encryption of S3 objects using &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/kms/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Key Management Service (AWS KMS)&lt;/a&gt;&lt;/span&gt;&lt;/li&gt; 
   &lt;li&gt;Deny S3 access from AWS account outside the organization managed by AWS Organizations&lt;/li&gt; 
  &lt;/ol&gt; 
  &lt;p&gt;The Central Cloud Team attaches the RCPs to the root of the organization, following the same approach used for SCPs, so that the policy applies across all accounts.&lt;br&gt; Policy 2 enforces three controls across S3 buckets in the organization. The first statement requires TLS 1.2 for data-in-transit. The second statement requires AWS KMS encryption for data-at-rest. The third statement restricts S3 bucket access to principals from accounts within the organization (identified by example-corp-organization-id), blocking access from external accounts.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Policy 2: RCP attached to the organization root to enforce data perimeter&lt;/b&gt;&lt;/p&gt; 
  &lt;div class="Enhancement" data-align-center=""&gt; 
   &lt;div class="Enhancement-item"&gt; 
    &lt;div class="CodeBlockWP hide-language"&gt; 
     &lt;div class="code-toolbar"&gt; 
      &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;{
  "Id": "ResourceControlPolicy",
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "EnforceS3TLSVersion",
      "Effect": "Deny",
      "Principal": "*",
      "Action": "s3:*",
      "Resource": "*",
      "Condition": {
        "NumericLessThan": {
          "s3:TlsVersion": [
            "1.2"
          ]
        }
      }
    },
    {
      "Sid": "EnforceKMSEncryption",
      "Effect": "Deny",
      "Principal": "*",
      "Action": "s3:PutObject",
      "Resource": "*",
      "Condition": {
        "Null": {
          "s3:x-amz-server-side-encryption-aws-kms-key-id": "true"
        }
      }
    },
    {
      "Sid": "DenyAllExternalS3Access",
      "Effect": "Deny",
      "Principal": "*",
      "Action": "s3:*",
      "Resource": "*",
      "Condition": {
        "StringNotEquals": {
          "aws:PrincipalOrgID": "example-corp-organization-id"
        }
      }
    }
  ]
}&lt;/code&gt;&lt;/pre&gt; 
      &lt;p&gt;&lt;/p&gt;
     &lt;/div&gt; 
     &lt;p&gt;&lt;/p&gt;
    &lt;/div&gt; 
    &lt;p&gt;&lt;/p&gt;
   &lt;/div&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;&lt;b&gt;Permissions boundary policies&lt;/b&gt;&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;The Central Cloud Team wants to make sure that they don’t become a bottleneck for the Application Team. They want to allow the Application Team to deploy their own IAM principals and policies for their applications. The Central Cloud Team also wants to make sure that any principals created by the Application Team can only use AWS APIs that the Central Cloud Team has approved.&lt;/p&gt; 
  &lt;p&gt;At Example Corp, the Application Team deploys to their production AWS environment through a &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/getting-started/hands-on/set-up-ci-cd-pipeline/" target="_blank" rel="noopener" data-cms-ai="0"&gt;continuous integration/continuous deployment (CI/CD) pipeline&lt;/a&gt;&lt;/span&gt;. The pipeline itself has broad access to create AWS resources needed to run applications, including permissions to create additional IAM roles. The Central Cloud Team implements a control that requires that all IAM roles created by the pipeline must have a permissions boundary attached. This allows the pipeline to create additional IAM roles, but limits the permissions that the newly created roles can have to what is allowed by the permissions boundary. This delegation strikes a balance for the Central Cloud Team. They can avoid becoming a bottleneck to the Application Team by allowing the Application Team to create their own IAM roles and policies, while ensuring that those IAM roles and policies are not overly privileged.&lt;/p&gt; 
  &lt;p&gt;An example of the permissions boundary policy that the Central Cloud Team attaches to IAM roles created by the CI/CD pipeline is shown below. This same permissions boundary policy can be centrally managed and attached to IAM roles created by other pipelines at Example Corp. The policy describes the maximum possible permissions that additional roles created by the Application Team are allowed to have, and it limits those permissions to some Amazon S3 and &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/sqs/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Simple Queue Service (Amazon SQS)&lt;/a&gt;&lt;/span&gt; data access actions. It’s common for a permissions boundary policy to include data access actions when used to delegate role creation. This is because most applications only need permissions to read and write data (for example, writing an object to an S3 bucket or reading a message from an SQS queue) and only sometimes need permission to modify infrastructure (for example, creating an S3 bucket or deleting an SQS queue). As Example Corp adopts additional AWS services, the Central Cloud Team updates this permissions boundary with actions from those services.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Policy 3: Permissions boundary policy attached to IAM roles created by the CI/CD pipeline&lt;/b&gt;&lt;/p&gt; 
  &lt;div class="Enhancement" data-align-center=""&gt; 
   &lt;div class="Enhancement-item"&gt; 
    &lt;div class="CodeBlockWP hide-language"&gt; 
     &lt;div class="code-toolbar"&gt; 
      &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;{
  "Id": "PermissionsBoundaryPolicy",
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetObject",
        "sqs:ChangeMessageVisibility",
        "sqs:DeleteMessage",
        "sqs:ReceiveMessage",
        "sqs:SendMessage",
        "sqs:PurgeQueue",
        "sqs:GetQueueUrl",
        "logs:PutLogEvents"
      ],
      "Resource": "*"
    }
  ]
}&lt;/code&gt;&lt;/pre&gt; 
      &lt;p&gt;&lt;/p&gt;
     &lt;/div&gt; 
     &lt;p&gt;&lt;/p&gt;
    &lt;/div&gt; 
    &lt;p&gt;&lt;/p&gt;
   &lt;/div&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;&lt;/p&gt; 
  &lt;p&gt;In the next section, you will learn how to enforce that this permissions boundary is attached to IAM roles created by your CI/CD pipeline.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;&lt;b&gt;Identity-based policies&lt;/b&gt;&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;In this example, teams at Example Corp are only allowed to modify the production AWS environment through their CI/CD pipeline. Write access to the production environment is not allowed otherwise. To support the different personas that need to have access to an application account in Example Corp, three baseline IAM roles with identity-based policies are created in the application accounts:&lt;/p&gt; 
  &lt;ul class="rte2-style-ul" id="rte-b9421d72-1c08-11f1-ba8e-af01a143dc97"&gt; 
   &lt;li&gt;A role for the CI/CD pipeline to use to deploy application resources.&lt;/li&gt; 
   &lt;li&gt;A read-only role for the Central Cloud Team, with a process for temporary elevated access.&lt;/li&gt; 
   &lt;li&gt;A read-only role for members of the Application Team.&lt;/li&gt; 
  &lt;/ul&gt; 
  &lt;p&gt;All three of these baseline roles are owned, managed, and deployed by the Central Cloud Team.&lt;/p&gt; 
  &lt;p&gt;The Central Cloud Team is given a default read-only role (&lt;code class="CodeInline" style="color: #000"&gt;CentralCloudTeamReadonlyRole&lt;/code&gt;) that allows read access to all resources within the account. This is accomplished by attaching the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS managed ReadOnlyAccess policy&lt;/a&gt;&lt;/span&gt; to the Central Cloud Team role. You can use the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/ReadOnlyAccess" target="_blank" rel="noopener" data-cms-ai="0"&gt;IAM console to attach the ReadOnlyAccess policy&lt;/a&gt;&lt;/span&gt;, which grants read-only access to all services. When a member of the team needs to perform an action that is not covered by this policy, they follow a &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/blogs/security/managing-temporary-elevated-access-to-your-aws-environment/" target="_blank" rel="noopener" data-cms-ai="0"&gt;temporary elevated access process&lt;/a&gt;&lt;/span&gt; to make sure that this access is valid and recorded.&lt;/p&gt; 
  &lt;p&gt;A read-only role is also given to developers in the Application Team (&lt;code class="CodeInline" style="color: #000"&gt;DeveloperReadOnlyRole&lt;/code&gt;) for analysis and troubleshooting. At Example Corp, developers are allowed to have read-only access to Amazon EC2, Amazon S3, Amazon SQS, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/cloudformation/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS CloudFormation&lt;/a&gt;&lt;/span&gt;, and &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/cloudwatch/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon CloudWatch&lt;/a&gt;&lt;/span&gt;. Your requirements for read-only access might differ. Several AWS services offer their own read-only managed policies, and there is also the previously mentioned &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/ReadOnlyAccess" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS managed ReadOnlyAccess policy&lt;/a&gt;&lt;/span&gt; that grants read only access to all services. To customize read-only access in an identity-based policy, you can use the AWS managed policies as a starting point and limit the actions to the services that your organization uses. The customized identity-based policy for Example Corp’s &lt;code class="CodeInline" style="color: #000"&gt;DeveloperReadOnlyRole&lt;/code&gt; role is shown below.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Policy 4: Identity-based policy attached to a developer read-only role to support human access and troubleshooting&lt;/b&gt;&lt;/p&gt; 
  &lt;div class="Enhancement" data-align-center=""&gt; 
   &lt;div class="Enhancement-item"&gt; 
    &lt;div class="CodeBlockWP hide-language"&gt; 
     &lt;div class="code-toolbar"&gt; 
      &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;{
  "Id": "DeveloperRoleBaselinePolicy",
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cloudformation:Describe*",
        "cloudformation:Get*",
        "cloudformation:List*",
        "cloudwatch:Describe*",
        "cloudwatch:Get*",
        "cloudwatch:List*",
        "ec2:Describe*",
        "ec2:Get*",
        "ec2:List*",
        "ec2:Search*",
        "s3:Describe*",
        "s3:Get*",
        "s3:List*",
        "sqs:Get*",
        "sqs:List*",
        "logs:Describe*",
        "logs:FilterLogEvents",
        "logs:Get*",
        "logs:List*",
        "logs:StartQuery",
        "logs:StopQuery"
      ],
      "Resource": "*"
    }
  ]
}&lt;/code&gt;&lt;/pre&gt; 
      &lt;p&gt;&lt;/p&gt;
     &lt;/div&gt; 
     &lt;p&gt;&lt;/p&gt;
    &lt;/div&gt; 
    &lt;p&gt;&lt;/p&gt;
   &lt;/div&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;The CI/CD pipeline role has broad access to the account to create resources. Access to deploy through the CI/CD pipeline should be tightly controlled and monitored. The CI/CD pipeline is allowed to create new IAM roles for use with the application, but those roles are limited to only the actions allowed by the previously discussed permissions boundary. The roles, policies, and EC2 instance profiles that the pipeline creates should also be restricted to specific&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names" target="_blank" rel="noopener" data-cms-ai="0"&gt; role paths&lt;/a&gt;&lt;/span&gt;. This enables you to enforce that the pipeline can only modify roles and policies or &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;pass roles&lt;/a&gt;&lt;/span&gt; that it has created. This helps prevent the pipeline, and roles created by the pipeline, from elevating privileges by modifying or passing a more privileged role. Pay careful attention to the role and policy paths in the Resource element of the following CI/CD pipeline role policy (Policy 5). The CI/CD pipeline role policy also provides some example statements that allow the passing and creation of a limited set of&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html" target="_blank" rel="noopener" data-cms-ai="0"&gt; service-linked roles&lt;/a&gt;&lt;/span&gt; (which are created in the path /aws-service-role/). You can add other service-linked roles to these statements as your organization adopts additional AWS services.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Policy 5: Identity-based policy attached to CI/CD pipeline role&lt;/b&gt;&lt;/p&gt; 
  &lt;div class="Enhancement" data-align-center=""&gt; 
   &lt;div class="Enhancement-item"&gt; 
    &lt;div class="CodeBlockWP hide-language"&gt; 
     &lt;div class="code-toolbar"&gt; 
      &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;{
  "Id": "CICDPipelineBaselinePolicy",
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:*",
        "sqs:*",
        "s3:*",
        "cloudwatch:*",
        "cloudformation:*",
        "logs:*",
        "autoscaling:*"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "ssm:GetParameter*",
      "Resource": "arn:aws:ssm:*::parameter/aws/service/*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "iam:CreateRole",
        "iam:PutRolePolicy",
        "iam:DeleteRolePolicy"
      ],
      "Resource": "arn:aws:iam::111111111111:role/application-roles/*",
      "Condition": {
        "ArnEquals": {
          "iam:PermissionsBoundary": "arn:aws:iam::111111111111:policy/PermissionsBoundary"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "iam:AttachRolePolicy",
        "iam:DetachRolePolicy"
      ],
      "Resource": "arn:aws:iam::111111111111:role/application-roles/*",
      "Condition": {
        "ArnEquals": {
          "iam:PermissionsBoundary": "arn:aws:iam::111111111111:policy/PermissionsBoundary"
        },
        "ArnLike": {
          "iam:PolicyARN": "arn:aws:iam::111111111111:policy/application-role-policies/*"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "iam:DeleteRole",
        "iam:TagRole",
        "iam:UntagRole",
        "iam:GetRole",
        "iam:GetRolePolicy"
      ],
      "Resource": "arn:aws:iam::111111111111:role/application-roles/*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "iam:CreatePolicy",
        "iam:DeletePolicy",
        "iam:CreatePolicyVersion",
        "iam:DeletePolicyVersion",
        "iam:GetPolicy",
        "iam:TagPolicy",
        "iam:UntagPolicy",
        "iam:SetDefaultPolicyVersion",
        "iam:ListPolicyVersions"
      ],
      "Resource": "arn:aws:iam::111111111111:policy/application-role-policies/*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "iam:CreateInstanceProfile",
        "iam:AddRoleToInstanceProfile",
        "iam:RemoveRoleFromInstanceProfile",
        "iam:DeleteInstanceProfile"
      ],
      "Resource": "arn:aws:iam::111111111111:instance-profile/application-instance-profiles/*"
    },
    {
      "Effect": "Allow",
      "Action": "iam:PassRole",
      "Resource": [
        "arn:aws:iam::111111111111:role/application-roles/*",
        "arn:aws:iam::111111111111:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": "iam:CreateServiceLinkedRole",
      "Resource": "arn:aws:iam::111111111111:role/aws-service-role/*",
      "Condition": {
        "StringEquals": {
          "iam:AWSServiceName": "autoscaling.amazonaws.com"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "iam:DeleteServiceLinkedRole",
        "iam:GetServiceLinkedRoleDeletionStatus"
      ],
      "Resource": "arn:aws:iam::111111111111:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling*"
    },
    {
      "Effect": "Allow",
      "Action": "iam:ListRoles",
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "iam:GetRole",
      "Resource": [
        "arn:aws:iam::111111111111:role/application-roles/*",
        "arn:aws:iam::111111111111:role/aws-service-role/*"
      ]
    }
  ]
}&lt;/code&gt;&lt;/pre&gt; 
      &lt;p&gt;&lt;/p&gt;
     &lt;/div&gt; 
     &lt;p&gt;&lt;/p&gt;
    &lt;/div&gt; 
    &lt;p&gt;&lt;/p&gt;
   &lt;/div&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;In addition to the three baseline roles with identity-based policies in place that you’ve seen so far, there’s one additional IAM role that the Application Team creates using the CI/CD pipeline. This is the role that the application running on the EC2 instance will use to get and put objects from the S3 buckets in Figure 1. Explicit ownership allows the Application Team to create this identity-based policy that fits their needs without having to wait and depend on the Central Cloud Team. Because the CI/CD pipeline can only create roles that have the permissions boundary policy attached, Policy 6 cannot grant more access than the permissions boundary policy allows (Policy 3).&lt;/p&gt; 
  &lt;p&gt;If you compare the identity-based policy attached to the EC2 instance’s role (Policy 6 on left) with the permissions boundary policy described previously (Policy 3 on the right), you can see that the actions allowed by the EC2 instance’s role are also allowed by the permissions boundary policy. Actions must be allowed by both policies for the EC2 instance to perform the &lt;code class="CodeInline" style="color: #000"&gt;s3:GetObject&lt;/code&gt; and &lt;code class="CodeInline" style="color: #000"&gt;s3:PutObject&lt;/code&gt; actions. Access to create a bucket would be denied even if the role attached to the EC2 instance was given permission to perform the &lt;code class="CodeInline" style="color: #000"&gt;s3:CreateBucket&lt;/code&gt; action because the &lt;code class="CodeInline" style="color: #000"&gt;s3:CreateBucket&lt;/code&gt; action exceeds the permissions allowed by the permissions boundary.&lt;/p&gt; 
  &lt;table border="1px" cellpadding="10px" style="border-collapse: separate;text-indent: initial;border-spacing: 2px;border-color: gray;width: 100%"&gt; 
   &lt;tbody&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;&lt;b&gt;Policy 6: Identity-based policy bound by permissions boundary and attached to the application’s EC2 instance&lt;/b&gt;&lt;/p&gt; 
      &lt;div class="Enhancement" data-align-center=""&gt; 
       &lt;div class="Enhancement-item"&gt; 
        &lt;div class="CodeBlockWP hide-language"&gt; 
         &lt;div class="code-toolbar"&gt; 
          &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;{
  "Id": "ApplicationRolePolicy",
  "Version": "2012-10-17",
  "Statement": [
	{   
      "Effect": "Allow",    
      "Action": [
         "s3:PutObject",
         "s3:GetObject"
    ],    
    "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET1/*"
  },
{   
      "Effect": "Allow",    
      "Action": [
         "s3:GetObject"
      ],    
      "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET2/*"
    }
  ]
}&lt;/code&gt;&lt;/pre&gt; 
          &lt;p&gt;&lt;/p&gt;
         &lt;/div&gt; 
         &lt;p&gt;&lt;/p&gt;
        &lt;/div&gt; 
        &lt;p&gt;&lt;/p&gt;
       &lt;/div&gt; 
       &lt;p&gt;&lt;/p&gt;
      &lt;/div&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;&lt;b&gt;Policy 3: Permissions boundary policy attached to IAM roles created by the CI/CD pipeline.&lt;/b&gt;&lt;/p&gt; 
      &lt;div class="Enhancement" data-align-center=""&gt; 
       &lt;div class="Enhancement-item"&gt; 
        &lt;div class="CodeBlockWP hide-language"&gt; 
         &lt;div class="code-toolbar"&gt; 
          &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;{
  "Id": "PermissionsBoundaryPolicy",
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetObject",
        "sqs:ChangeMessageVisibility",
        "sqs:DeleteMessage",
        "sqs:ReceiveMessage",
        "sqs:SendMessage",
        "sqs:PurgeQueue",
        "sqs:GetQueueUrl",
        "logs:PutLogEvents"
      ],
      "Resource": "*"
    }
  ]
}&lt;/code&gt;&lt;/pre&gt; 
          &lt;p&gt;&lt;/p&gt;
         &lt;/div&gt; 
         &lt;p&gt;&lt;/p&gt;
        &lt;/div&gt; 
        &lt;p&gt;&lt;/p&gt;
       &lt;/div&gt; 
       &lt;p&gt;&lt;/p&gt;
      &lt;/div&gt; &lt;p&gt;&lt;/p&gt;&lt;/td&gt; 
    &lt;/tr&gt; 
   &lt;/tbody&gt; 
  &lt;/table&gt; 
  &lt;p&gt;&lt;b&gt;Resource-based policies&lt;/b&gt;&lt;br&gt; The only resource-based policy needed in this example is attached to the bucket in the account external to the application account (DOC-EXAMPLE-BUCKET2 in the data lake account in Figure 1). Both the identity-based policy and resource-based policy must grant access to an action on the S3 bucket &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-walkthroughs-managing-access-example2.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;for access to be allowed in a cross-account scenario&lt;/a&gt;&lt;/span&gt;. The bucket policy below only allows the &lt;code class="CodeInline" style="color: #000"&gt;GetObject&lt;/code&gt; action to be performed on the bucket, regardless of what permissions the application’s role (&lt;code class="CodeInline" style="color: #000"&gt;ApplicationRole&lt;/code&gt;) is granted from its identity-based policy (Policy 6).&lt;/p&gt; 
  &lt;p&gt;This resource-based policy is owned by the Data Lake Team that owns and manages the data lake account (222222222222) and the policy (Policy 7). This allows the Data Lake Team to have complete control over what teams external to their AWS account can access their S3 bucket.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Policy 7: Resource-based policy attached to S3 bucket in external data lake account (222222222222)&lt;/b&gt;&lt;/p&gt; 
  &lt;div class="Enhancement" data-align-center=""&gt; 
   &lt;div class="Enhancement-item"&gt; 
    &lt;div class="CodeBlockWP hide-language"&gt; 
     &lt;div class="code-toolbar"&gt; 
      &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Principal": {
        "AWS": "arn:aws:iam::111111111111:role/application-roles/ApplicationRole"
      },
      "Effect": "Allow",
      "Action": [
        "s3:GetObject"
      ],
      "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET2/*"
    }
  ]
}&lt;/code&gt;&lt;/pre&gt; 
      &lt;p&gt;&lt;/p&gt;
     &lt;/div&gt; 
     &lt;p&gt;&lt;/p&gt;
    &lt;/div&gt; 
    &lt;p&gt;&lt;/p&gt;
   &lt;/div&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;&lt;/p&gt; 
  &lt;p&gt;No resource-based policy is needed on the S3 bucket in the application account (DOC-EXAMPLE-BUCKET1 in Figure 1). Access for the application is granted to the S3 bucket in the application account by the identity-based policy. Access can be granted by either an identity-based policy or a resource-based policy when access is within the same AWS account.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;&lt;b&gt;Putting it all together&lt;/b&gt;&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Figure 2 shows the architecture and includes the different policies and the resources they are attached to. The table that follows summarizes the various IAM policies that are deployed to the Example Corp AWS environment, and specifies what team is responsible for each of the policies.&lt;/p&gt; 
  &lt;div id="attachment_41646" style="width: 605px" class="wp-caption aligncenter"&gt;
   &lt;img aria-describedby="caption-attachment-41646" loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/03/19/Figure-2.png" alt="Figure 2: Sample application architecture with CI/CD pipeline used to deploy infrastructure" width="595" height="390" class="size-full wp-image-41646"&gt;
   &lt;p id="caption-attachment-41646" class="wp-caption-text"&gt;Figure 2: Sample application architecture with CI/CD pipeline used to deploy infrastructure&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;The numbered policies in Figure 2 correspond to the policy numbers in the following table.&lt;/p&gt; 
  &lt;table border="1px" cellpadding="10px" style="border-collapse: separate;text-indent: initial;border-spacing: 2px;border-color: gray;width: 100%"&gt; 
   &lt;tbody&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;&lt;b&gt;Policy number&lt;/b&gt;&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;&lt;b&gt;Policy description&lt;/b&gt;&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;&lt;b&gt;Policy type&lt;/b&gt;&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;&lt;b&gt;Policy owner&lt;/b&gt;&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;&lt;b&gt;Attached to&lt;/b&gt;&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;&lt;b&gt;1&lt;/b&gt;&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Enforce SSL and prevent member accounts from leaving the organization for all principals in the organization&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Service control policy (SCP)&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Central Cloud Team&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Organization root&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;&lt;b&gt;2&lt;/b&gt;&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Enforce TLS 1.2 and KMS encryption for S3 buckets across the organization&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Resource control policy (RCP)&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Central Cloud Team&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Organization root&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;&lt;b&gt;3&lt;/b&gt;&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Restrict maximum permissions for roles created by CI/CD pipeline&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Permissions boundary&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Central Cloud Team&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;All roles created by the pipeline (ApplicationRole)&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;&lt;b&gt;4&lt;/b&gt;&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Scoped read-only policy&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Identity-based policy&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Central Cloud Team&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;IAM role&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;&lt;b&gt;5&lt;/b&gt;&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;CI/CD pipeline policy&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Identity-based policy&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Central Cloud Team&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;IAM role&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;&lt;b&gt;6&lt;/b&gt;&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Policy used by running application to read and write to S3 buckets&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Identity-based policy&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Application Team&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;on EC2 instance&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;&lt;b&gt;7&lt;/b&gt;&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Bucket policy in data lake account that grants access to a role in application account&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Resource-based policy&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Data Lake Team&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;S3 Bucket in data lake account&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;&lt;b&gt;8&lt;/b&gt;&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Broad read-only policy&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Identity-based policy&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Central Cloud Team&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;IAM role&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
   &lt;/tbody&gt; 
  &lt;/table&gt; 
  &lt;p&gt;&lt;b&gt;Conclusion&lt;/b&gt;&lt;br&gt; In this blog post, you learned about four different policy types: identity-based policies, resource-based policies, service control policies (SCPs), resource control polices (RCPs), permissions boundary policies, and resource control policies. You saw examples of situations where each policy type is commonly applied. Then, you walked through a real-life example that describes an implementation that uses these policy types.&lt;/p&gt; 
  &lt;p&gt;By implementing multiple IAM policy types in a layered approach, you can achieve robust access control that follows the principle of least privilege while enabling team autonomy. This defense-in-depth strategy helps prevent unauthorized access through multiple policy evaluation checkpoints.&lt;/p&gt; 
  &lt;p&gt;You can use this blog post as a starting point for developing your organization’s IAM strategy. You might decide that you don’t need all of the policy types explained in this post, and that’s OK. Not every organization needs to use every policy type. You might need to implement policies differently in a production environment than a sandbox environment. The important concepts to take away from this post are the situations where each policy type is applicable, and the importance of explicit policy ownership. We also recommend taking advantage of &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;policy validation in AWS IAM Access Analyzer&lt;/a&gt;&lt;/span&gt; when writing IAM policies to validate your policies against IAM policy grammar and best practices.&lt;/p&gt; 
  &lt;p&gt;For more information, including the policies described in this solution and the sample application, see the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://github.com/aws-samples/how-and-when-to-use-aws-iam-policy-blog-samples" target="_blank" rel="noopener" data-cms-ai="0"&gt;how-and-when-to-use-aws-iam-policy-blog-samples&lt;/a&gt;&lt;/span&gt; GitHub repository. The repository walks through an example implementation using a CI/CD pipeline with &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/codepipeline/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS CodePipeline&lt;/a&gt;&lt;/span&gt;.If you have any questions, please post them in the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://repost.aws/tags/TAO7Z4bI5hQVWMiYFs34QhIA/aws-identity-and-access-management" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Identity and Access Management re:Post topic&lt;/a&gt;&lt;/span&gt; or reach out to &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://console.aws.amazon.com/support/home" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Support&lt;/a&gt;&lt;/span&gt;.&lt;/p&gt; 
  &lt;p&gt;&lt;/p&gt;
 &lt;/div&gt; 
&lt;/div&gt; 
&lt;footer&gt; 
 &lt;div class="blog-author-box"&gt; 
  &lt;div class="blog-author-image"&gt; 
   &lt;img loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2021/09/28/Matt-Luttrell-Author.jpg" alt="Author" width="120" height="160" class="aligncenter size-full wp-image-22385"&gt; 
  &lt;/div&gt; 
  &lt;h3 class="lb-h4"&gt;Matt Luttrell&lt;/h3&gt; 
  &lt;p&gt;Matt is a Sr. Solutions Architect on the AWS Identity Solutions team. When he’s not spending time chasing his kids around, he enjoys skiing, cycling, and the occasional video game.&lt;/p&gt; 
  &lt;p&gt;&lt;/p&gt; 
 &lt;/div&gt; 
 &lt;div class="blog-author-box"&gt; 
  &lt;div class="blog-author-image"&gt; 
   &lt;img loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2025/02/21/jaygorad.jpg" alt="Author" width="120" height="160" class="aligncenter size-full wp-image-22385"&gt; 
  &lt;/div&gt; 
  &lt;h3 class="lb-h4"&gt;Jay Goradia&lt;/h3&gt; 
  &lt;p&gt;Jay is a Technical Account Manager (TAM) at AWS who works closely with enterprise customers to accelerate their cloud journey through strategic guidance and technical expertise. Using his security background, he helps organizations understand security best practices in AWS.&lt;/p&gt; 
  &lt;p&gt;&lt;/p&gt; 
 &lt;/div&gt; 
 &lt;div class="blog-author-box"&gt; 
  &lt;div class="blog-author-image"&gt; 
   &lt;img loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2025/01/09/Anshu-Bathla.jpg" alt="Author" width="120" height="160" class="aligncenter size-full wp-image-22385"&gt; 
  &lt;/div&gt; 
  &lt;h3 class="lb-h4"&gt;Anshu Bathla&lt;/h3&gt; 
  &lt;p&gt;Anshu is a Lead Consultant – SRC at AWS, based in Gurugram, India. He works with customers across diverse verticals to help strengthen their security infrastructure and achieve their security goals. Outside of work, Anshu enjoys reading books and gardening at his home garden.&lt;/p&gt; 
  &lt;p&gt;&lt;/p&gt; 
 &lt;/div&gt; 
 &lt;div class="blog-author-box"&gt; 
  &lt;div class="blog-author-image"&gt; 
   &lt;img loading="lazy" class="size-full wp-image-25619 aligncenter" src="https://d2908q01vomqb2.cloudfront.net/972a67c48192728a34979d9a35164c1295401b71/2021/12/28/Josh-Joy-Profile.jpg" alt="" width="120" height="160"&gt; 
  &lt;/div&gt; 
  &lt;h3 class="lb-h4"&gt;Josh Joy&lt;/h3&gt; 
  &lt;p&gt;Josh is a Senior Identity Security Engineer with AWS Identity helping to ensure the safety and security of AWS Auth integration points. Josh enjoys diving deep and working backwards in order to help customers achieve positive outcomes.&lt;span class="c-message__edited_label" dir="ltr" data-sk="tooltip_parent"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt; 
  &lt;p&gt;&lt;/p&gt;
 &lt;/div&gt; 
&lt;/footer&gt;</content:encoded>
					
					
			
		
		
			</item>
		<item>
		<title>Amazon threat intelligence teams identify Interlock ransomware campaign targeting enterprise firewalls</title>
		<link>https://aws.amazon.com/blogs/security/amazon-threat-intelligence-teams-identify-interlock-ransomware-campaign-targeting-enterprise-firewalls/</link>
					
		
		<dc:creator><![CDATA[CJ Moses]]></dc:creator>
		<pubDate>Wed, 18 Mar 2026 15:57:45 +0000</pubDate>
				<category><![CDATA[Partner solutions]]></category>
		<category><![CDATA[Security, Identity, & Compliance]]></category>
		<category><![CDATA[Technical How-to]]></category>
		<category><![CDATA[Thought Leadership]]></category>
		<category><![CDATA[ransomeware]]></category>
		<category><![CDATA[Security Blog]]></category>
		<category><![CDATA[Threat Intelligence]]></category>
		<guid isPermaLink="false">15dafd846500ad6609902d14d137590561fe88b1</guid>

					<description>Amazon threat intelligence has identified an active Interlock ransomware campaign exploiting CVE-2026-20131, a critical vulnerability in Cisco Secure Firewall Management Center (FMC) Software that could allow an unauthenticated, remote attacker to execute arbitrary Java code as root on an affected device, which was disclosed by Cisco on March 4, 2026. After Cisco’s disclosure, Amazon threat […]</description>
										<content:encoded>&lt;div class="Page-articleBody"&gt; 
 &lt;div class="RichTextArticleBody RichTextBody"&gt; 
  &lt;p&gt;Amazon threat intelligence has identified an active Interlock ransomware campaign exploiting CVE-2026-20131, a critical vulnerability in Cisco Secure Firewall Management Center (FMC) Software that could allow an unauthenticated, remote attacker to execute arbitrary Java code as root on an affected device, which was disclosed by Cisco on March 4, 2026.&lt;/p&gt; 
  &lt;p&gt;After Cisco’s &lt;a href="https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-fmc-rce-NKhnULJh" target="_blank" rel="noopener noreferrer"&gt;disclosure&lt;/a&gt;, Amazon threat intelligence began research into this vulnerability using Amazon MadPot’s global sensor network—a system of honeypot servers that attract and monitor cybercriminal activity. While looking for any current or past exploits of this vulnerability, our research found that Interlock was exploiting this vulnerability 36 days before its public disclosure, beginning January 26, 2026. This wasn’t just another vulnerability exploit, Interlock had a zero-day in their hands, giving them a week’s head start to compromise organizations before defenders even knew to look. Upon making this discovery, we shared our findings with Cisco to help support their investigation and protect customers.&lt;/p&gt; 
  &lt;p&gt;A misconfigured infrastructure server—essentially, a poorly secured staging area used by the attackers—exposed Interlock’s complete operational toolkit. This rare mistake provided Amazon’s security teams with visibility into the ransomware group’s multi-stage attack chain, custom remote access trojans (backdoor programs that give attackers control of compromised systems), reconnaissance scripts (automated tools for mapping victim networks), and evasion techniques.&lt;/p&gt; 
  &lt;p&gt;AWS infrastructure and customer workloads on AWS were not observed to be involved in this campaign. This advisory shares comprehensive technical analysis and indicators of compromise to help organizations identify potential compromise and defend against Interlock’s operations. Organizations running Cisco Secure Firewall Management Center should immediately apply Cisco’s security patches and review the indicators provided below.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Discovery and investigation timeline&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Amazon threat intelligence identified threat activity potentially related to CVE-2026-20131 beginning January 26, 2026, predating the public disclosure. Observed activity involved HTTP requests to a specific path in the affected software. Request bodies contained Java code execution attempts and two embedded URLs: one used to deliver configuration data supporting the exploit, and another designed to confirm successful exploitation by causing a vulnerable target to perform an HTTP PUT request and upload a generated file. Multiple variations of these URLs were observed across different exploit attempts.&lt;/p&gt; 
  &lt;p&gt;To advance the investigation and obtain additional threat intelligence, we performed the expected HTTP PUT request with the anticipated file content—essentially, we pretended to be a successfully compromised system. This successfully prompted Interlock to proceed to the next stage, issuing commands to fetch and execute a malicious ELF binary (a Linux executable file) from a remote server.&lt;/p&gt; 
  &lt;p&gt;When analysts retrieved the binary, they discovered the same host (attacker-controlled server) is used for distributing Interlock’s entire operational toolkit. The exposed infrastructure organized artifacts into separate paths corresponding to individual targets, with the same paths used for both downloading tools to compromised hosts and uploading operational artifacts back to the staging server.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Attribution to Interlock ransomware&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;The ELF binary and associated artifacts are attributable to the Interlock ransomware family based on convergent technical and operational indicators. The embedded ransom note and TOR negotiation portal are consistent with Interlock’s established branding and infrastructure. The ransom note’s invocation of multiple data protection regulations reflects Interlock’s documented practice of citing regulatory exposure to pressure victims, essentially threatening organizations not just with data encryption, but with regulatory fines and compliance violations. The campaign-specific organization identifier embedded in the note aligns with Interlock’s per-victim tracking model.&lt;/p&gt; 
  &lt;p&gt;Interlock has historically targeted specific sectors where operational disruption creates maximum pressure for payment. Education represents the largest share of their activity, followed by engineering, architecture, and construction firms, manufacturing and industrial organizations, healthcare providers, and government and public sector entities.&lt;/p&gt; 
  &lt;p&gt;Temporal analysis performed on timestamps from observed threat activities, artifacts stored on the misconfigured infrastructure server, and metadata embedded within recovered threat artifacts indicates the actor most likely operates in UTC+3 with 75–80% confidence. Systematic analysis across all UTC offsets showed UTC+3 produced the best fit: first activity around 08:30, peak activity between 12:00 and 18:00, and a probable sleep window of 00:30–08:30.&lt;/p&gt; 
  &lt;div id="attachment_41634" style="width: 1378px" class="wp-caption aligncenter"&gt;
   &lt;img aria-describedby="caption-attachment-41634" loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/03/17/PR-post-image.jpg" alt="Interlock ransomware negotiation portal where victims enter their organization ID and email address to receive an auth token to begin a negotiation chat session." width="1368" height="888" class="size-full wp-image-41634"&gt;
   &lt;p id="caption-attachment-41634" class="wp-caption-text"&gt;Figure 1: Interlock ransomware negotiation portal where victims enter their organization ID and email address to receive an auth token to begin a negotiation chat session.&lt;/p&gt;
  &lt;/div&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Technical analysis: Interlock’s operational toolkit&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;Post-compromise reconnaissance script&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Once Interlock gains initial access, they use a variety of priority tools to complete their attack. Amazon threat intelligence teams recovered a PowerShell script designed for systematic Windows environment enumeration (automated information gathering about the victim’s network). The script collects operating system and hardware details, running services, installed software, storage configuration, Hyper-V virtual machine inventory, user file listings across Desktop, Documents, and Downloads directories, browser artifacts from Chrome, Edge, Firefox, Internet Explorer, and 360 browser (including history, bookmarks, stored credentials, and extensions), active network connections correlated with responsible processes, ARP tables, iSCSI session data, and RDP authentication events from Windows event logs.&lt;/p&gt; 
  &lt;p&gt;The script stages results to a centralized network share (\JK-DC2\Temp) using each system’s fully qualified hostname to create dedicated directories—essentially creating a folder for each compromised computer. Following collection, it compresses data into ZIP archives named after each hostname and removes original raw data. This structured per-host output format indicates the script operates across multiple machines within a network—a hallmark of ransomware intrusion chains that prepare for organization-wide encryption.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;Custom remote access trojans&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Remote access trojans (RATs) are malicious programs that give attackers persistent control over compromised systems, functioning like unauthorized remote desktop software.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;JavaScript implant:&lt;/b&gt; Amazon threat intelligence recovered an obfuscated JavaScript remote access trojan that suppresses debugging output by overriding browser console methods (hiding its activity from basic detection tools). On execution, it profiles the infected host using PowerShell and Windows Management Instrumentation (WMI), collecting system identity, domain membership, username, OS version, and privilege context before transmitting this data during an encrypted initialization handshake.&lt;/p&gt; 
  &lt;p&gt;Command-and-control communication occurs over persistent WebSocket connections with RC4-encrypted messages using per-message 16-byte random keys embedded in packet headers—essentially, each message uses a different encryption key, making interception more difficult. The implant cycles through multiple operator-controlled hostnames and IP addresses in randomized order with exponential backoff between reconnection attempts.&lt;/p&gt; 
  &lt;p&gt;The implant provides interactive shell access, arbitrary command execution, bidirectional file transfer, and SOCKS5 proxy capability for tunneling TCP traffic (routing malicious traffic through other systems to hide its origin). Self-update and self-delete capabilities allow operators to replace or remove the implant without reinfection, supporting operational cleanup to hinder forensic investigation.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Java implant:&lt;/b&gt; A functionally equivalent client implemented in Java provides identical command-and-control capabilities. Built on GlassFish ecosystem libraries, it uses Grizzly for non-blocking I/O transport and Tyrus for WebSocket protocol communication. In simpler terms, Interlock built the same backdoor in two different programming languages, ensuring they maintain access even if defenders detect one version.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;Infrastructure laundering script&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Sophisticated threat actors don’t attack from their own infrastructure, they build disposable relay networks to hide their tracks. Amazon threat intelligence teams identified a Bash script that configures Linux servers as HTTP reverse proxies (intermediary servers that forward traffic to hide the attacker’s true location). The script performs system updates, installs fail2ban with SSH brute-force protection, and compiles HAProxy 3.1.2 from source. The HAProxy instance listens on port 80 and forwards all inbound HTTP traffic to a hardcoded target IP, with systemd ensuring persistence across reboots.&lt;/p&gt; 
  &lt;p&gt;A notable component is a log erasure routine running as a cron job every five minutes. The routine truncates all *.log files under /var/log and suppresses shell history by unsetting the HISTFILE variable. This aggressive evidence destruction, wiping logs every five minutes, combined with the purpose-built HTTP forwarding proxy, indicates the script establishes disposable traffic-laundering relay nodes. These nodes obscure exploit traffic origin, relay command-and-control communications, or proxy data exfiltration, making it nearly impossible to trace attacks back to their source.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;Memory-resident webshell&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Amazon threat intelligence teams observed a Java class file delivered as an alternative to the ELF binary drop. When loaded by the Java Virtual Machine (JVM), its static initializer registers a ServletRequestListener with the server’s StandardContext, essentially installing a persistent memory-resident backdoor that intercepts HTTP requests without writing files to disk. This “fileless” approach evades traditional antivirus scanning that looks for malicious files.&lt;/p&gt; 
  &lt;p&gt;The listener inspects incoming requests for specially crafted parameters containing encrypted command payloads. Payloads are decrypted using AES-128 with a key derived from the MD5 hash of the hardcoded seed “geckoformboundary99fec155ea301140cbe26faf55ed2f40″ (using the first 16 characters: 09b1a8422e8faed0). Decrypted payloads are treated as compiled Java bytecode, dynamically loaded into the JVM, and executed—a technique designed to evade file-based detection by running malicious code entirely in memory.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;Connectivity verification tool&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Amazon threat intelligence teams recovered Java class files implementing a basic TCP server listening on port 45588 (encoded as Unicode character 넔 to obscure the port number from static analysis). The server accepts connections, logs connecting IP addresses, sends a greeting message, and immediately closes connections. This operational profile is consistent with a lightweight network beacon—essentially a “phone home” tool used to verify successful code execution or confirm network port reachability following initial exploitation.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;Legitimate tool abuse&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Interlock deployed ConnectWise ScreenConnect, a legitimate commercial remote desktop tool, alongside custom implants. When ransomware operators deploy legitimate remote access tools alongside their custom malware, they’re buying insurance—if defenders find and remove one backdoor, they still have another way in. This indicates multiple redundant remote access mechanisms—a pattern consistent with ransomware operators seeking to maintain access even if individual footholds are removed. The tool’s legitimate network footprint helps blend with authorized remote administration traffic, making detection more challenging.&lt;/p&gt; 
  &lt;p&gt;Amazon threat intelligence teams also recovered Volatility, an open-source memory forensics framework typically used by incident responders (the same tool defenders use to investigate attacks). While no artifacts indicated automated use, its presence alongside custom implants and reconnaissance scripts is consistent with advanced threat operations. Both ransomware groups and nation-state actors have been observed deploying Volatility during intrusions. The tool’s focus on parsing memory dumps provides access to sensitive data such as credentials stored in RAM, which can enable lateral movement (spreading through the network) and deeper environment compromise in support of ransom operations or espionage objectives.&lt;/p&gt; 
  &lt;p&gt;Interlock also used Certify, an open source offensive security tool designed to exploit misconfigurations in Active Directory Certificate Services (AD CS). For ransomware operators, Certify provides a pathway to identify vulnerable certificate templates and enrollment permissions that allow requesting authentication-capable certificates. These certificates can be used to impersonate users, escalate privileges, or maintain persistent access. These capabilities directly support both initial compromise and long-term persistence objectives in ransomware operations.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Indicators of compromise (IoCs)&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;The following indicators support defensive measures by organizations that may be affected. Due to Interlock’s use of content variation techniques, most file hashes are not included as reliable indicators. The threat actor modified most artifacts like scripts and binaries downloaded to different targets. This resulted in different file hashes for functionally identical tools. The customization allowed each attack to evade signature-based detection that looks for exact file matches.&lt;/p&gt; 
  &lt;table border="1px" cellpadding="10px" style="border-collapse: separate;text-indent: initial;border-spacing: 2px;border-color: gray;width: 100%"&gt; 
   &lt;tbody&gt; 
    &lt;tr&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;206.251.239[.]164&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Exploit source IP&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Active Jan 2026&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;199.217.98[.]153&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Exploit source IP&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Active Mar 2026&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;89.46.237[.]33&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Exploit source IP&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Active Mar 2026&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:136.0) Gecko/20100101 Firefox/136.0&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Exploit HTTP User-Agent&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Observed Jan 2026 and Mar 2026&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;b885946e72ad51dca6c70abc2f773506&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Exploit TLS JA3&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Observed Jan 2026 and Mar 2026&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;f80d3d09f61892c5846c854dd84ac403&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Exploit TLS JA3&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Observed Mar 2026&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;t13i1811h1_85036bcba153_b26ce05bbdd6&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Exploit TLS JA4&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Observed Jan 2026 and Mar 2026&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;t13i4311h1_c7886603b240_b26ce05bbdd6&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Exploit TLS JA4&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Observed Mar 2026&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;144.172.94[.]59&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;C2 Fallback IP&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Active Mar 2026&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;199.217.99[.]121&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;C2 Fallback IP&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Active Mar 2026&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;188.245.41[.]78&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;C2 Fallback IP&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Active Mar 2026&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;144.172.110[.]106&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Backend C2 IP&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Active Mar 2026&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;95.217.22[.]175&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Backend C2 IP&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Active Mar 2026&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;37.27.244[.]222&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Staging host IP&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Active Mar 2026&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;hxxp://ebhmkoohccl45qesdbvrjqtyro2hmhkmh6vkyfyjjzfllm3ix72aqaid[.]onion/chat.php&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Ransom negotiation portal&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Active Mar 2026&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;cherryberry[.]click&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Exploit Support Domain&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Active Jan 2026&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;ms-server-default[.]com&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Exploit Support Domain&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Active Mar 2026&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;initialize-configs[.]com&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Exploit Support Domain&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Active Mar 2026&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;ms-global.first-update-server[.]com&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Exploit Support Domain&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Active Mar 2026&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;ms-sql-auth[.]com&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Exploit Support Domain&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Active Mar 2026&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;kolonialeru[.]com&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Exploit Support Domain&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Active Mar 2026&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;sclair.it[.]com&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Exploit Support Domain&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Active Mar 2026&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;browser-updater[.]com&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;C2 domain&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Active Mar 2026&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;browser-updater[.]live&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;C2 domain&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Active Mar 2026&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;os-update-server[.]com&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;C2 domain&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Active Mar 2026&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;os-update-server[.]org&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;C2 domain&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Active Mar 2026&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;os-update-server[.]live&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;C2 domain&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Active Mar 2026&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;os-update-server[.]top&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;C2 domain&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Active Mar 2026&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;d1caa376cb45b6a1eb3a45c5633c5ef75f7466b8601ed72c8022a8b3f6c1f3be&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Offensive security tool (Certify)&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Observed Mar 2026&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;6c8efbcef3af80a574cb2aa2224c145bb2e37c2f3d3f091571708288ceb22d5f&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Screen locker&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Observed Mar 2026&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
   &lt;/tbody&gt; 
  &lt;/table&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Defensive recommendations&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Organizations should take the following actions to protect against Interlock ransomware operations.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Immediate actions:&lt;/b&gt;&lt;/p&gt; 
  &lt;ul class="rte2-style-ul" id="rte-0dec8480-2223-11f1-8607-e193bae6bbb4"&gt; 
   &lt;li&gt;Apply Cisco’s security patches for Cisco Secure Firewall Management Center&lt;/li&gt; 
   &lt;li&gt;Review logs for the indicators of compromise listed above&lt;/li&gt; 
   &lt;li&gt;Conduct security assessments to identify potential compromise&lt;/li&gt; 
   &lt;li&gt;Review ScreenConnect deployments for unauthorized installations&lt;/li&gt; 
  &lt;/ul&gt; 
  &lt;p&gt;&lt;b&gt;Detection opportunities:&lt;/b&gt;&lt;/p&gt; 
  &lt;ul class="rte2-style-ul" id="rte-0dec8481-2223-11f1-8607-e193bae6bbb4"&gt; 
   &lt;li&gt;Monitor for PowerShell scripts staging data to network shares with hostname-based directory structures&lt;/li&gt; 
   &lt;li&gt;Detect Java ServletRequestListener registrations in web application contexts (unusual modifications to Java web applications)&lt;/li&gt; 
   &lt;li&gt;Identify HAProxy installations with aggressive log deletion cron jobs (proxy servers that erase their own logs every five minutes)&lt;/li&gt; 
   &lt;li&gt;Watch for TCP connections to unusual high-numbered ports (e.g., 45588)&lt;/li&gt; 
  &lt;/ul&gt; 
  &lt;p&gt;&lt;b&gt;Long-term measures:&lt;/b&gt;&lt;/p&gt; 
  &lt;ul class="rte2-style-ul" id="rte-0decab90-2223-11f1-8607-e193bae6bbb4"&gt; 
   &lt;li&gt;Implement defense-in-depth strategies with multiple layers of security controls&lt;/li&gt; 
   &lt;li&gt;Maintain continuous threat monitoring and hunting capabilities&lt;/li&gt; 
   &lt;li&gt;Ensure comprehensive logging with secure, centralized log storage (stored separately from systems that could be compromised)&lt;/li&gt; 
   &lt;li&gt;Regularly test incident response procedures for ransomware scenarios&lt;/li&gt; 
   &lt;li&gt;Educate security teams on Interlock’s tactics, techniques, and procedures&lt;/li&gt; 
  &lt;/ul&gt; 
  &lt;p&gt;The real story here isn’t just about one vulnerability or one ransomware group—it’s about the fundamental challenge zero-day exploits pose to every security model. When attackers exploit vulnerabilities before patches exist, even the most diligent patching programs can’t protect you in that critical window. This is precisely why defense in depth is essential—layered security controls provide protection when any single control fails or hasn’t yet been deployed. Rapid patching remains foundational in vulnerability management, but defense in depth helps organizations not to be defenseless during the window between exploit and patch.&lt;/p&gt; 
  &lt;p&gt;Amazon Threat Intelligence teams continue to monitor Interlock ransomware operations and will provide updates as additional information becomes available. The intelligence gathered from this campaign is being integrated into AWS security services to protect customers proactively.&lt;/p&gt; 
  &lt;p&gt;&lt;/p&gt;
 &lt;/div&gt; 
&lt;/div&gt; 
&lt;hr&gt; 
&lt;p&gt;If you have feedback about this post, submit comments in the&amp;nbsp;&lt;strong&gt;Comments&lt;/strong&gt;&amp;nbsp;section below. If you have questions about this post, &lt;a href="https://console.aws.amazon.com/support/home" target="_blank" rel="noopener noreferrer"&gt;contact AWS Support&lt;/a&gt;.&lt;/p&gt; 
&lt;footer&gt; 
 &lt;div class="blog-author-box"&gt; 
  &lt;div class="blog-author-image"&gt;
   &lt;img loading="lazy" class="aligncenter size-full wp-image-25308" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2022/05/24/CJ_Moses.jpeg" alt="CJ Moses" width="107" height="160"&gt;
  &lt;/div&gt; 
  &lt;h3 class="lb-h4"&gt;CJ Moses&lt;/h3&gt; 
  &lt;p&gt;CJ Moses is the CISO of Amazon Integrated Security. In his role, CJ leads security engineering and operations across Amazon. His mission is to enable Amazon businesses by making the benefits of security the path of least resistance. CJ joined Amazon in December 2007, holding various roles including Consumer CISO, and most recently AWS CISO, before becoming CISO of Amazon Integrated Security September of 2023.&lt;/p&gt; 
  &lt;p&gt;Prior to joining Amazon, CJ led the technical analysis of computer and network intrusion efforts at the Federal Bureau of Investigation’s Cyber Division. CJ also served as a Special Agent with the Air Force Office of Special Investigations (AFOSI). CJ led several computer intrusion investigations seen as foundational to the security industry today.&lt;/p&gt; 
  &lt;p&gt;CJ holds degrees in Computer Science and Criminal Justice, and is an active SRO GT America GT2 race car driver.&lt;/p&gt; 
 &lt;/div&gt; 
&lt;/footer&gt;</content:encoded>
					
					
			
		
		
			</item>
		<item>
		<title>AWS completes the second GDV community audit with participant insurers in Germany</title>
		<link>https://aws.amazon.com/blogs/security/aws-completes-the-second-gdv-community-audit-with-participant-insurers-in-germany/</link>
					
		
		<dc:creator><![CDATA[Flamur Abdyli]]></dc:creator>
		<pubDate>Tue, 17 Mar 2026 20:26:29 +0000</pubDate>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Security, Identity, & Compliance]]></category>
		<guid isPermaLink="false">d3b7a0c46f1460c51afea9ee81b46a8dca2f7cc2</guid>

					<description>We’re excited to announce that Amazon Web Services (AWS) has completed its second GDV (German Insurance Association) community audit with 36 members from the Germany insurance industry participating, corresponding to over 63% coverage of the German market in terms of insurance premiums. Community audits are an efficient method to provide additional assurance to a group […]</description>
										<content:encoded>&lt;div class="Page-articleBody"&gt; 
 &lt;div class="RichTextArticleBody RichTextBody"&gt; 
  &lt;p&gt;We’re excited to announce that &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Web Services (AWS)&lt;/a&gt;&lt;/span&gt; has completed its second &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://www.gdv.de/gdv" target="_blank" rel="noopener" data-cms-ai="0"&gt;GDV (German Insurance Association)&lt;/a&gt;&lt;/span&gt; community audit with 36 members from the Germany insurance industry participating, corresponding to over 63% coverage of the German market in terms of insurance premiums. Community audits are an efficient method to provide additional assurance to a group of customers on &lt;i&gt;security of the cloud&lt;/i&gt; as described in the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/shared-responsibility-model/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Shared Responsibility Model&lt;/a&gt;&lt;/span&gt; in addition to &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/programs/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Compliance Programs&lt;/a&gt;&lt;/span&gt; (for example, Cloud Computing Compliance Criteria Catalogue (C5)) and resources that are provided to customers through &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/artifact/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Artifact&lt;/a&gt;&lt;/span&gt;.&lt;/p&gt; 
  &lt;p&gt;At AWS, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/security" target="_blank" rel="noopener" data-cms-ai="0"&gt;security&lt;/a&gt;&lt;/span&gt; is the highest priority. As customers embrace the scalability and flexibility of AWS, we’re helping them evolve security and compliance into key business enablers. We’re obsessed with earning and maintaining customer trust and providing our financial services customers and their regulatory bodies with assurance that AWS has the necessary controls in place to help protect their most sensitive material and regulated workloads.&lt;/p&gt; 
  &lt;p&gt;With the increasing digitalization of the financial industry and the importance of cloud computing as a key enabling technology for digitalization, the financial services industry is experiencing greater regulatory scrutiny. Our engagement with GDV members is an example of how AWS supports customers’ risk management and regulatory efforts. For the second time, this pooled audit meticulously assessed the AWS controls that we use to help protect customers’ data and material workloads, while satisfying strict regulatory obligations.&lt;/p&gt; 
  &lt;p&gt;GDV is the association of private insurers in Germany, representing around 470 members in the industry and a key player within German and European financial services industries. GDV’s members participating in this community audit have reached out to AWS to exercise their audit rights according to the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://eur-lex.europa.eu/legal-content/EN/TXT/PDF/?uri=CELEX:32022R2554&amp;amp;from=FR" target="_blank" rel="noopener" data-cms-ai="0"&gt;Digital Operational Resilience Act (DORA)&lt;/a&gt;&lt;/span&gt;, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://www.bafin.de/EN/Homepage/homepage_node.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;BaFin&lt;/a&gt;&lt;/span&gt; requirements, and &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://www.eiopa.europa.eu/index_en" target="_blank" rel="noopener" data-cms-ai="0"&gt;EIOPA&lt;/a&gt;&lt;/span&gt;’s &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://www.eiopa.europa.eu/document/download/c53462d9-ee1b-4aeb-8706-22852508b7c5_en?filename=Guidelines%20on%20outsourcing%20to%20cloud%20service%20providers" target="_blank" rel="noopener" data-cms-ai="0"&gt;Guidelines on Outsourcing to Cloud Service Providers&lt;/a&gt;&lt;/span&gt;. For this cycle, the audit was performed by a single external audit service provider on behalf of 36 participant members within the German insurance industry.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;&lt;b&gt;Audit preparations&lt;/b&gt;&lt;/h2&gt; 
  &lt;/div&gt; 
  &lt;p&gt;The scope of the audit has been defined with reference to the BSI’s (Federal Office for Information Security) &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://www.bsi.bund.de/EN/Themen/Unternehmen-und-Organisationen/Informationen-und-Empfehlungen/Empfehlungen-nach-Angriffszielen/Cloud-Computing/Kriterienkatalog-C5/kriterienkatalog-c5_node.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;C5 framework&lt;/a&gt;&lt;/span&gt;, including key domains and control areas, in addition to AWS services (such as &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/ec2/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Elastic Compute Cloud (Amazon EC2)&lt;/a&gt;&lt;/span&gt; and the AWS Region relevant to participant members—Europe (Frankfurt) Region (eu-central-1).&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;&lt;b&gt;Audit fieldwork&lt;/b&gt;&lt;/h2&gt; 
  &lt;/div&gt; 
  &lt;p&gt;This phase started after an initial discussion in Berlin, Germany, and used a remote approach, using videoconferencing and a secure audit portal for the inspection of evidence. Auditors assessed AWS policies, procedures, controls using evidence, deep-dive subject matter expert (SME) sessions, and follow-up questions to clarify provided evidence.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;&lt;b&gt;Audit results&lt;/b&gt;&lt;/h2&gt; 
  &lt;/div&gt; 
  &lt;p&gt;The audit has been executed and completed according to the mutually agreed engagement set up between AWS, participant members, and external auditors during which participating members exercised their audit rights in line with contractual conditions. After AWS reviews to confirm factual accuracy of the contents, auditors finalized the audit report. The results of the GDV community audit are only available to the participaing members and their regulators. The audit provides GDV members with assurance regarding the AWS controls environment, enabling members to work to remove compliance blockers, accelerate their adoption of AWS services, and obtain confidence and trust in the security controls of AWS.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;&lt;b&gt;Voice of the GDV community&lt;/b&gt;&lt;/h2&gt; 
  &lt;/div&gt; 
  &lt;p&gt;From the perspective of the participating insurance companies, the second joint audit at AWS was seen as efficient and beneficial, because it reduced individual audit burdens while delivering reliable assurance results. At the same time, extensive planning and coordination required a substantial effort. Coordination with GDV and engaging with the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://dcso.de/en/" target="_blank" rel="noopener" data-cms-ai="0"&gt;DCSO Deutsche Cybersicherheitsorganisation GmbH&lt;/a&gt;&lt;/span&gt; (DCSO) as a professional external audit service provider helped streamline communication with AWS and ensured a consistent approach across all participants. The cooperation between the GDV insurers, the DCSO auditors, and AWS was professional and constructive throughout the process. For the first time, two representatives from insurance companies were present at the interviews, thereby gaining an even better impression of the quality of the audit.&lt;/p&gt; 
  &lt;p&gt;To learn more about our compliance and security programs, see &lt;a href="https://aws.amazon.com/compliance/programs/" target="_blank" rel="noopener"&gt;AWS Compliance Programs&lt;/a&gt;. As always, we value your feedback and questions; reach out to the AWS Compliance team through the &lt;a href="https://pages.awscloud.com/compliance-contact-us.html" target="_blank" rel="noopener"&gt;Contact Us page&lt;/a&gt;.&lt;/p&gt; 
  &lt;p&gt;If you have feedback about this post, submit comments in the &lt;strong&gt;Comments&lt;/strong&gt; section below.&lt;/p&gt; 
 &lt;/div&gt; 
&lt;/div&gt; 
&lt;footer&gt; 
 &lt;div class="blog-author-box"&gt; 
  &lt;div class="blog-author-image"&gt;
   &lt;img loading="lazy" class="aligncenter size-full wp-image-28160" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/03/16/Flamur-Abdyli-Author.jpg" alt="Flamur Abdyli" width="120" height="160"&gt;
  &lt;/div&gt; 
  &lt;h3 class="lb-h4"&gt;Flamur Abdyli&lt;/h3&gt; 
  &lt;p&gt;Flamur is a Principal in Security Assurance at AWS, based in Berlin, Germany. He leads complex customer audits and regulatory assurance engagements across EMEA, with a strong focus on financial services, regulated industries, and large enterprise customers. With more than 18 years of experience, Flamur has built and led teams across multiple industries and sectors.&lt;/p&gt; 
 &lt;/div&gt; 
 &lt;div class="blog-author-box"&gt; 
  &lt;div class="blog-author-image"&gt;
   &lt;img loading="lazy" class="aligncenter size-full wp-image-26833" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2022/08/16/aterwell.jpg" alt="Andreas Terwellen" width="120" height="160"&gt;
  &lt;/div&gt; 
  &lt;h3 class="lb-h4"&gt;Andreas Terwellen&lt;/h3&gt; 
  &lt;p&gt;Andreas is a Senior Manager in Security Assurance at AWS, based in Frankfurt, Germany. His team is responsible for third-party and customer audits, attestations, certifications, and assessments across EMEA. Previously, he was a CISO in a DAX-listed telecommunications company in Germany. He also worked for different consulting companies managing large teams and programs across multiple industries and sectors.&lt;/p&gt; 
  &lt;p&gt;&amp;nbsp;&lt;/p&gt; 
 &lt;/div&gt; 
&lt;/footer&gt;</content:encoded>
					
					
			
		
		
			</item>
		<item>
		<title>Deploy AWS applications and access AWS accounts across multiple Regions with IAM Identity Center</title>
		<link>https://aws.amazon.com/blogs/security/deploy-aws-applications-and-access-aws-accounts-across-multiple-regions-with-iam-identity-center/</link>
					
		
		<dc:creator><![CDATA[Alex Milanovic]]></dc:creator>
		<pubDate>Sat, 14 Mar 2026 21:21:31 +0000</pubDate>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Security, Identity, & Compliance]]></category>
		<guid isPermaLink="false">ba638c8d36a94d7a161e0cfc7ce7d35d85900562</guid>

					<description>If your organization relies on AWS IAM Identity Center for workforce access, you can now extend that access across multiple AWS Regions with multi-Region replication. Previously, AWS access portal was only available in one Region, when you add an additional Region, users get an active access portal endpoint there. If the primary Region experiences a […]</description>
										<content:encoded>&lt;div class="Page-articleBody"&gt; 
 &lt;div class="RichTextArticleBody RichTextBody"&gt; 
  &lt;p&gt;If your organization relies on AWS IAM Identity Center for workforce access, you can now extend that access across multiple AWS Regions with multi-Region replication. Previously, AWS access portal was only available in one Region, when you add an additional Region, users get an active access portal endpoint there. If the primary Region experiences a disruption, they can continue working through the additional Region. This enhancement also enables you to deploy AWS managed applications in additional Regions closer to your users, which reduces latency and helps meet regional compliance requirements. Meanwhile, you maintain centralized control by managing Identity Center configurations from the primary Region.&lt;/p&gt; 
  &lt;p&gt;In this post, you’ll learn how to configure multi-Regions support, including multi-Region replication, encryption setup, adding Regions, updating your identity provider (IdP), and testing the setup end to end.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Prerequisites and considerations&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Before enabling multi-Region support, confirm your environment meets these requirements and understand how this change will affect your existing setup.&lt;/p&gt; 
  &lt;ul class="rte2-style-ul" id="rte-30366020-11ec-11f1-af68-6f27b59c6f17"&gt; 
   &lt;li&gt;Confirm that your currently deployed AWS managed applications support Identity Center configured with a &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;customer managed KMS key,&lt;/a&gt;&lt;/span&gt; and that applications you plan to deploy in the future also support this configuration. See the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/singlesignon/latest/userguide/awsapps-that-work-with-identity-center.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS managed applications that integrate with IAM Identity Center&lt;/a&gt;&lt;/span&gt; table in the Identity Center User Guide to identify which applications support customer managed KMS key with Identity Center.&lt;/li&gt; 
   &lt;li&gt;Additionally, for AWS managed applications you plan to deploy in additional Regions, verify that they support Identity Center configured with both customer-managed KMS keys and multi-Region deployment. Consult the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/singlesignon/latest/userguide/awsapps-that-work-with-identity-center.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS managed applications that integrate with IAM Identity Center&lt;/a&gt;&lt;/span&gt; table in the Identity Center User Guide.&lt;/li&gt; 
   &lt;li&gt;You must be using an &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/singlesignon/latest/userguide/organization-instances-identity-center.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;organization instance&lt;/a&gt;&lt;/span&gt; of Identity Center connected to an external identity provider (IdP), such as &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://www.okta.com/integrations/aws-iam-identity-center/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Okta&lt;/a&gt;&lt;/span&gt; or &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://learn.microsoft.com/en-us/entra/identity/saas-apps/aws-single-sign-on-tutorial" target="_blank" rel="noopener" data-cms-ai="0"&gt;Microsoft Entra ID.&lt;/a&gt;&lt;/span&gt; Review documented IdPs in &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-identity-source-idp.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;External identity providers&lt;/a&gt;&lt;/span&gt;.&lt;/li&gt; 
   &lt;li&gt;Both the primary and additional Regions must be &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;commercial Regions enabled by default&lt;/a&gt;&lt;/span&gt;.&lt;/li&gt; 
  &lt;/ul&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;&lt;b&gt;Considerations&lt;/b&gt;&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Keep the following limitations in mind before you begin:&lt;/p&gt; 
  &lt;ul class="rte2-style-ul" id="rte-30366021-11ec-11f1-af68-6f27b59c6f17"&gt; 
   &lt;li&gt;IAM Identity Center account instances don’t support multiRegion replication.&lt;/li&gt; 
   &lt;li&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/singlesignon/latest/userguide/gs-ad.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;Microsoft Active Directory&lt;/a&gt;&lt;/span&gt; and &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/singlesignon/latest/userguide/quick-start-default-idc.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;IAM Identity Center directory&lt;/a&gt;&lt;/span&gt; as identity source aren’t supported for multi-Region replication.&lt;/li&gt; 
   &lt;li&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/controltower/latest/userguide/opt-in-region-considerations.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS opt-in Regions&lt;/a&gt;&lt;/span&gt; aren’t supported.&lt;/li&gt; 
   &lt;li&gt;The AWS access portal in additional Regions doesn’t support the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/singlesignon/latest/userguide/howtochangeURL.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;custom alias&lt;/a&gt;&lt;/span&gt; (in other words, customer-chosen subdomains).&lt;/li&gt; 
   &lt;li&gt;AWS account access through additional Region relies on already provisioned permissions; new permission set assignments and group memberships can be managed only in the primary Region and are then automatically replicated to additional Regions.&lt;/li&gt; 
  &lt;/ul&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Walkthrough&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;To set up multi-Region support, you’ll follow three steps: creating and configuring a &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/singlesignon/latest/userguide/encryption-at-rest.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;customer-managed KMS key&lt;/a&gt;&lt;/span&gt; with Identity Center, enabling the additional Region in the Identity Center console, and updating your identity provider with the new regional URLs and bookmark applications.&lt;/p&gt; 
  &lt;blockquote&gt;
   &lt;p&gt;&lt;b&gt;Important:&lt;/b&gt; Your Identity Center instance operates on a primary-replica model where instance-level configuration changes must be made in the primary Region, while additional Regions receive read-only replications of your settings and provide Region-local access for your workforce. In this example, you will use Okta as your external IdP, with N. Virginia (us-east-1) as the primary Region and Frankfurt (eu-central-1) as the additional Region.&lt;/p&gt;
  &lt;/blockquote&gt; 
  &lt;p&gt;Before you start, ensure that you’re signed in to the console as an administrator in the same account and Region where your Identity Center instance resides.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;&lt;b&gt;Create and configure multi-Region &lt;/b&gt;customer-managed KMS keys&lt;b&gt; with Identity Center&lt;/b&gt;&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;First, you must set up a multi-Region customer-managed KMS key with Identity Center in your primary Region and replicate it to additional Regions where you plan to replicate Identity Center. Identity Center uses customer-managed KMS keys for encryption of your identity data such as user attributes. Because the same key material must be available in each Region, you’ll create a multi-Region key — complete this step in the AWS Organizations management account. Before proceeding, confirm that your currently deployed &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/singlesignon/latest/userguide/awsapps-that-work-with-identity-center.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS managed applications support customer-managed KMS keys with Identity Center&lt;/a&gt;&lt;/span&gt;. Each AWS KMS key has usage and storage cost, see &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/kms/pricing/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS KMS pricing page&lt;/a&gt;&lt;/span&gt; for details.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;1. Create the multi-Region customer-managed KMS keys in your primary Region and add it to your Identity Center instance&lt;/b&gt;&lt;br&gt; Follow the blog &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/blogs/aws/aws-iam-identity-center-now-supports-customer-managed-kms-keys-for-encryption-at-rest/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS IAM Identity Center now supports customer-managed KMS keys for encryption at rest&lt;/a&gt;&lt;/span&gt;, ensuring that you choose &lt;b&gt;Multi-Region Key&lt;/b&gt; in Part 1: Create the key and define permissions.&lt;/p&gt; 
  &lt;p&gt;For guidance on configuring your key policy, see the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/singlesignon/latest/userguide/baseline-KMS-key-policy.html#kms-key-policy-examples-for-common-use-cases" target="_blank" rel="noopener" data-cms-ai="0"&gt;KMS key policy examples for common use cases&lt;/a&gt;&lt;/span&gt; in the Identity Center User Guide, which provides example policies you can adapt for your specific requirements.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;2. Create replica keys in additional Regions&lt;/b&gt;&lt;br&gt; After completing the primary Region setup, create new replica keys in each AWS Region where you plan to replicate Identity Center. To complete this step, follow the documentation in &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-replicate.html#create-replica-keys" target="_blank" rel="noopener" data-cms-ai="0"&gt;Create multi-Region replica keys&lt;/a&gt;&lt;/span&gt;.&lt;/p&gt; 
  &lt;blockquote&gt;
   &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: The replica key automatically inherits the same key policy as the primary customer-managed KMS key. However, future modifications to the key policy must be manually applied to the replica key in each Region. AWS KMS replica keys are independent resources; policy changes on the primary key do not propagate automatically.&lt;/p&gt;
  &lt;/blockquote&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;&lt;b&gt;Add an additional Region to Identity Center&lt;/b&gt;&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Now that key replication is complete, you can add an additional Region to your Identity Center instance. For this post, use Frankfurt (eu-central-1). If you have a delegated admin account configured, we recommend completing remaining configurations in that account. We will perform this configuration using the console, but you can also use the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/singlesignon/latest/APIReference/welcome.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;IAM Identity Center API&lt;/a&gt;&lt;/span&gt;. For detailed instructions, see &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/singlesignon/latest/userguide/replicate-to-additional-region.html#add-region-step" target="_blank" rel="noopener" data-cms-ai="0"&gt;Add the Region in IAM Identity Center&lt;/a&gt;&lt;/span&gt;.&lt;/p&gt; 
  &lt;ol class="rte2-style-ol" id="rte-c26c5be0-1d70-11f1-bc69-fbc15197458c" start="1"&gt; 
   &lt;li&gt;Open the AWS Management Console.&lt;/li&gt; 
   &lt;li&gt;In the search bar, enter &lt;b&gt;IAM Identity Center&lt;/b&gt; and choose the service.&lt;/li&gt; 
   &lt;li&gt;In the navigation pane, choose &lt;b&gt;Settings&lt;/b&gt;.&lt;/li&gt; 
   &lt;li&gt;Choose &lt;b&gt;Add Region&lt;/b&gt;.&lt;/li&gt; 
   &lt;div id="attachment_41577" style="width: 946px" class="wp-caption aligncenter"&gt;
    &lt;img aria-describedby="caption-attachment-41577" loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/03/13/Figure1.png" alt="Figure 1: Management tab with encryption and Region information" width="936" height="426" class="size-full wp-image-41577"&gt;
    &lt;p id="caption-attachment-41577" class="wp-caption-text"&gt;Figure 1: Management tab with encryption and Region information&lt;/p&gt;
   &lt;/div&gt; 
   &lt;li&gt;From the Region list on the following page, select &lt;b&gt;Frankfurt (eu-central-1)&lt;/b&gt;. Then, choose &lt;b&gt;Add Region&lt;/b&gt;.&lt;/li&gt; 
   &lt;p&gt;The Region list shows Regions enabled by default where the customer-managed KMS key was replicated, making them available for you to choose.&lt;/p&gt; 
   &lt;div id="attachment_41593" style="width: 3116px" class="wp-caption aligncenter"&gt;
    &lt;img aria-describedby="caption-attachment-41593" loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/03/14/Figure2.png" alt="Figure 2: Choose an AWS Region to add" width="3106" height="918" class="size-full wp-image-41593"&gt;
    &lt;p id="caption-attachment-41593" class="wp-caption-text"&gt;Figure 2: Choose an AWS Region to add&lt;/p&gt;
   &lt;/div&gt; 
   &lt;li&gt; You’ll return to the &lt;b&gt;Settings for Identity Center&lt;/b&gt; page, where you’ll see the new Region with a &lt;b&gt;Replicating&lt;/b&gt; status. A blue banner indicates that Identity Center is replicating your workforce identities, configuration, and metadata to the new Region. After the initial setup (15–30 minutes, depending on the size of your Identity Center instance), future changes replicate within seconds.&lt;/li&gt; 
   &lt;div id="attachment_41580" style="width: 946px" class="wp-caption aligncenter"&gt;
    &lt;img aria-describedby="caption-attachment-41580" loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/03/13/Figure3.png" alt="Figure 3: Initial replication to the newly added Region in progress" width="936" height="522" class="size-full wp-image-41580"&gt;
    &lt;p id="caption-attachment-41580" class="wp-caption-text"&gt;Figure 3: Initial replication to the newly added Region in progress&lt;/p&gt;
   &lt;/div&gt; 
   &lt;li&gt;After replication completes, the &lt;b&gt;Replication&lt;/b&gt; &lt;b&gt;Status &lt;/b&gt;column changes to &lt;b&gt;Replicated&lt;/b&gt;. Your Identity Center endpoints in the additional Region are now active.&lt;/li&gt; 
   &lt;div id="attachment_41581" style="width: 946px" class="wp-caption aligncenter"&gt;
    &lt;img aria-describedby="caption-attachment-41581" loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/03/13/Figure4.png" alt="Figure 4: A console view after the initial replication is done" width="936" height="510" class="size-full wp-image-41581"&gt;
    &lt;p id="caption-attachment-41581" class="wp-caption-text"&gt;Figure 4: A console view after the initial replication is done&lt;/p&gt;
   &lt;/div&gt; 
   &lt;li&gt;Users can now access AWS accounts through both AWS access portal URLs. You can view and copy the enabled portal URLs either from the Region list or by choosing &lt;b&gt;View AWS access portal URLs&lt;/b&gt;.&lt;/li&gt; 
  &lt;/ol&gt; 
  &lt;p&gt;You can view &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-tech-overview-2.0.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;Security Assertions Markup Language (SAML)&lt;/a&gt;&lt;/span&gt; information, such as ACS URLs, about the primary and additional Regions by choosing &lt;b&gt;View ACS URLs&lt;/b&gt;. In the next section you will use both, your AWS access portal URLs and ACS URLs to update your external IdP configuration.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Update your IdP configuration for the additional Region&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;You’ve successfully replicated your Identity Center instance to the Frankfurt (eu-central-1) Region. This means your workforce identities are now available in that additional Region and can use the new AWS access portal endpoint. Identity Center supports two authentication flows: one where users start from the AWS access portal or AWS managed application (service provider-initiated), and one where users start from their IdP portal (IdP-initiated). With service provider-initiated authentication, when users attempt to authenticate, Identity Center redirects them to your IdP authentication page, and after successful authentication, their authentication response is sent to the Regional &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/res/latest/ug/configure-id-federation.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;SAML assertion consumer service (ACS)&lt;/a&gt;&lt;/span&gt; endpoint in Identity Center. The ACS endpoint in the additional Region uses a different URL than the primary Region, as shown in the following image.&lt;/p&gt; 
  &lt;div id="attachment_41594" style="width: 1393px" class="wp-caption aligncenter"&gt;
   &lt;img aria-describedby="caption-attachment-41594" loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/03/14/Figure5-1.png" alt="Figure 5: Identity Center URLs" width="1383" height="597" class="size-full wp-image-41594"&gt;
   &lt;p id="caption-attachment-41594" class="wp-caption-text"&gt;Figure 5: Identity Center URLs&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Currently, your IdP only has information about your Identity Center in the primary Region. To successfully redirect users’ authentication responses to the additional Region, you must add the new Regional endpoint to the IdP configuration.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Update the Identity Center application in your IdP:&lt;/b&gt;&lt;/p&gt; 
  &lt;p&gt;This update enables service provider-initiated authentication to succeed. In the Identity Center app within your external IdP, add the ACS URL for the additional Region so that the app contains both Regional ACS URLs. Keep the existing URL as the first one in the list, the IdP uses the first URL as the default redirect target for IdP-initated authentication. The additional ACS URL will be used by the IdP to send the authentication response when users sign in using service provider-initiated authentication flows.&lt;/p&gt; 
  &lt;p&gt;As an example, follow the instructions to configure your Identity Center application in Okta:&lt;/p&gt; 
  &lt;ol class="rte2-style-ol" id="rte-ef13a980-1d6d-11f1-bc69-fbc15197458c" start="1"&gt; 
   &lt;li&gt;Log in to the Okta portal as an Admin.&lt;/li&gt; 
   &lt;li&gt;Expand the &lt;b&gt;Applications &lt;/b&gt;drop-down in the left pane, then choose &lt;b&gt;Applications&lt;/b&gt;&lt;/li&gt; 
   &lt;li&gt;Choose your Identity Center Application&lt;/li&gt; 
   &lt;li&gt;Select the &lt;b&gt;Sign-on&lt;/b&gt; tab and choose &lt;b&gt;Edit&lt;/b&gt; in the Settings windows.&lt;/li&gt; 
   &lt;li&gt;In the &lt;b&gt;AWS SSO ACS URL1&lt;/b&gt; box add the additional ACS URL&lt;/li&gt; 
  &lt;/ol&gt; 
  &lt;div id="attachment_41583" style="width: 946px" class="wp-caption aligncenter"&gt;
   &lt;img aria-describedby="caption-attachment-41583" loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/03/14/Figure6.png" alt="Figure 6 – Identity Center enterprise application configuration in Okta" width="936" height="610" class="size-full wp-image-41583"&gt;
   &lt;p id="caption-attachment-41583" class="wp-caption-text"&gt;Figure 6: Identity Center enterprise application configuration in Okta&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Users can now access accounts starting from the Region-specific AWS access portal, in this case they need to remember two Region specific URLs, one for Frankfurt (eu-central-1) and one for N. Virginia (us-east-1). To accommodate these Region-specific portal URLs, we recommend creating a bookmark application in your IdP. While users can also bookmark the URLs directly in their browsers, providing a bookmark app makes the additional Region discoverable in the IdP portal without requiring each user to manually save a URL.&lt;/p&gt; 
  &lt;p&gt;This bookmark app functions like a browser bookmark and contains only the URL to the AWS access portal in the additional Region. Users can access this bookmark app from their IdP portal to reach the Region-specific AWS access portal. You also must grant your users access to the bookmark app in the external IdP. In Okta, follow the instructions below:&lt;/p&gt; 
  &lt;ol class="rte2-style-ol" id="rte-2b689bc0-1d6e-11f1-bc69-fbc15197458c" start="1"&gt; 
   &lt;li&gt;Log in to the Okta portal as an Admin.&lt;/li&gt; 
   &lt;li&gt;Expand the &lt;b&gt;Applications &lt;/b&gt;drop-down in the left pane, then choose&lt;b&gt; Applications&lt;/b&gt;.&lt;/li&gt; 
   &lt;li&gt;Choose &lt;b&gt;Browse App Catalog&lt;/b&gt;&lt;/li&gt; 
   &lt;li&gt;Search for “Bookmark App”, select it from the list of results, and choose &lt;b&gt;Add&lt;/b&gt; in the left pane.&lt;/li&gt; 
   &lt;li&gt;Choose an app name. For this blog post, the name can be “Identity Center – Frankfurt (eu-central-1)”&lt;/li&gt; 
   &lt;li&gt;In the &lt;b&gt;URL box&lt;/b&gt;, paste the Frankfurt (eu-central-1) specific URL&lt;/li&gt; 
   &lt;li&gt;Choose &lt;b&gt;Done&lt;/b&gt;. You will be redirected to the Bookmark application in the &lt;b&gt;Assignments &lt;/b&gt;tab.&lt;/li&gt; 
   &lt;li&gt;Choose &lt;b&gt;Assign&lt;/b&gt; and select the &lt;b&gt;Groups/People&lt;/b&gt; that will have access to this application.&lt;/li&gt; 
  &lt;/ol&gt; 
  &lt;p&gt;After completing this configuration, users will see two Identity Center applications in their IdP portal—one for the primary Region and another for the additional Region.&lt;br&gt; Figure 7 shows how this configuration appears in the Okta end user dashboard.&lt;br&gt; &lt;/p&gt;
  &lt;div id="attachment_41599" style="width: 1399px" class="wp-caption aligncenter"&gt;
   &lt;img aria-describedby="caption-attachment-41599" loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/03/14/Figure7-1.png" alt="Figure 7: Okta end-user portal with two Region-specific tiles for Identity Center" width="1389" height="381" class="size-full wp-image-41599"&gt;
   &lt;p id="caption-attachment-41599" class="wp-caption-text"&gt;Figure 7: Okta end-user portal with two Region-specific tiles for Identity Center&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;&lt;/p&gt; 
  &lt;p&gt;If you choose the newly created bookmark app, it will direct you to the AWS access portal in the additional Region.&lt;/p&gt; 
  &lt;blockquote&gt;
   &lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; Identity Center supports IPv4-only endpoints, and dual-stack endpoints that support both IPv6 and IPv4. Depending on where your organization is in the process of IPv6 adoption, you will need to configure corresponding Assertion Consumer Service (ACS) URLs in your external IdP and used the corresponding AWS access portal URLs in your IdP bookmark application. For more information, see &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/blogs/security/iam-identity-center-now-supports-ipv6/" target="_blank" rel="noopener" data-cms-ai="0"&gt;IPv6 support in Identity Center blog.&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;/blockquote&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Test your multi-Region configuration&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;In the previous sections, you finished configuring the requirements for Identity Center multi-Region replication between the primary N. Virginia (us-east-1) and additional Frankfurt (eu-central-1) Regions. With this configuration complete, users with sufficient permissions can now enable supported &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/singlesignon/latest/userguide/awsapps.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS managed applications&lt;/a&gt;&lt;/span&gt; in either Region. Additionally, users can access their AWS accounts through the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/singlesignon/latest/userguide/using-the-portal.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS access portal&lt;/a&gt;&lt;/span&gt; from either Region. To validate both capabilities, you will first test AWS account access from the additional Region and then configure a supported AWS managed application in that Region.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;Accessing AWS accounts from the additional Region&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Permission set assignment that exists in the primary Region of your Identity Center instance will be replicated to your additional Region. This means that, if there is a service disruption in Identity Center in the primary Region, you can switch to the additional Region to access your AWS accounts through the access portal or AWS CLI. To complete this section, your user in Identity Center needs existing access to an AWS account with permission sets. For more information see &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;Manage AWS accounts with permission sets&lt;/a&gt;&lt;/span&gt;.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;Access AWS accounts from the additional Region using the AWS access portal&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;ol class="rte2-style-ol" id="rte-c26c82f0-1d70-11f1-bc69-fbc15197458c" start="1"&gt; 
   &lt;li&gt;Open the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://console.aws.amazon.com/singlesignon/" target="_blank" rel="noopener" data-cms-ai="0"&gt;IAM Identity Center console&lt;/a&gt;&lt;/span&gt;.&lt;/li&gt; 
   &lt;li&gt;In the navigation pane, choose &lt;b&gt;Settings&lt;/b&gt;.&lt;/li&gt; 
   &lt;li&gt;Choose the &lt;b&gt;Management&lt;/b&gt; tab.&lt;/li&gt; 
   &lt;li&gt;Choose &lt;b&gt;View AWS access portal URLs&lt;/b&gt;.&lt;/li&gt; 
   &lt;li&gt;Choose additional Region URL, a new browser tab will open with the AWS access portal in Frankfurt (eu-central-1).&lt;/li&gt; 
   &lt;li&gt;Confirm you can see permission sets assigned to you.&lt;/li&gt; 
   &lt;li&gt;Choose a permission set, confirm that you can access your AWS account.&lt;/li&gt; 
  &lt;/ol&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;Access AWS accounts from the additional Region using the AWS CLI&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/cli" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Command Line Interface (AWS CLI)&lt;/a&gt;&lt;/span&gt; connects to a specific Identity Center Region to authenticate users and obtain credentials. For customers using multi-Region replication, we recommend creating multiple Regional CLI profiles—one for your primary Region and another for each additional Region. Separate profiles allow you to quickly switch between Regions during a disruption without reconfiguring your CLI. Before completing this section, confirm that AWS CLI version 2.x or later is installed and that you have an existing AWS CLI configuration file.&lt;br&gt; To facilitate Region-specific access through the AWS CLI, create two CLI profiles using the following configuration:&lt;/p&gt; 
  &lt;ol class="rte2-style-ol" id="rte-c26c82f1-1d70-11f1-bc69-fbc15197458c" start="1"&gt; 
   &lt;li&gt;Open your AWS CLI configuration file at ~/.aws/config.&lt;/li&gt; 
   &lt;li&gt;Add the following two profiles configurations, one per additional Region. The example below shows a user in Virginia using N. Virginia (us-east-1) as their primary Identity Center Region with Frankfurt (eu-central-1) as a backup. Replace with your actual Identity Center instance ID and with your account number. To find your Identity Center instance ID, navigate to IAM Identity Center console, Settings, Instance ARN (the instance ID is the value that starts with ‘ssoins-‘)&lt;/li&gt; 
   &lt;li&gt;Save the file. 
    &lt;div class="Enhancement" data-align-center=""&gt; 
     &lt;div class="Enhancement-item"&gt; 
      &lt;div class="CodeBlockWP hide-language"&gt; 
       &lt;div class="code-toolbar"&gt; 
        &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;[profile ReadOnly]
sso_role_name=ReadOnly
sso_account=&amp;lt;account-Id&amp;gt;
sso_session=us-east-1

[sso-session us-east-1]
sso_region=us-east-1
sso_start_url=https://identitycenter.amazonaws.com/ssoins-&amp;lt;instance-Id&amp;gt;

[profile ReadOnly-additional]
sso_role_name=ReadOnly
sso_account=&amp;lt;account-Id&amp;gt;
sso_session=eu-central-1

[sso-session eu-central-1]
sso_region=eu-central-1
sso_start_url=https://identitycenter.amazonaws.com/ssoins-&amp;lt;instance-Id&amp;gt;
&lt;/code&gt;&lt;/pre&gt; 
        &lt;p&gt;&lt;/p&gt;
       &lt;/div&gt; 
       &lt;p&gt;&lt;/p&gt;
      &lt;/div&gt; 
      &lt;p&gt;&lt;/p&gt;
     &lt;/div&gt; 
     &lt;p&gt;&lt;/p&gt;
    &lt;/div&gt; &lt;/li&gt; 
  &lt;/ol&gt; 
  &lt;p&gt;Once the profiles have been configured, you can authenticate to each regional Identity Center endpoint independently using the following commands.&lt;br&gt; 1. Run &lt;i&gt;aws sso login –profile ReadOnly&lt;/i&gt; to log in through your primary Region N. Virginia (us-east-1),&lt;br&gt; 2. Run &lt;i&gt;aws sso login –profile ReadOnly-additional&lt;/i&gt; to log in through your additional Region Frankfurt (eu-central-1)&lt;/p&gt; 
  &lt;p&gt;Each command opens a browser window to the corresponding regional AWS access portal, where you complete the authentication flow. After a successful login, the AWS CLI uses the credentials obtained from that Region for subsequent API calls made with that profile.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;Deploy AWS managed applications in the additional Region&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;To test application deployment in the additional Region, for this blog post you will configure AWS Deadline Cloud, a managed service for rendering and visual effects workloads. You can choose other AWS managed applications that support deployment in additional Identity Center Regions — see the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/singlesignon/latest/userguide/awsapps-that-work-with-identity-center.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS managed applications that you can use with IAM Identity Center&lt;/a&gt;&lt;/span&gt; table in the documentation. This table is regularly updated as additional applications become available.&lt;br&gt; To configure AWS Deadline Cloud, follow the steps:&lt;/p&gt; 
  &lt;ol class="rte2-style-ol" id="rte-c6355b11-140a-11f1-812e-3986f3f97cdd" start="1"&gt; 
   &lt;li&gt;Navigate to the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://console.aws.amazon.com/deadlinecloud/home" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Deadline Cloud console&lt;/a&gt;&lt;/span&gt; and switch to your additional Region—for this example, Frankfurt (eu-central-1).&lt;/li&gt; 
   &lt;li&gt;Choose &lt;b&gt;Set up Deadline Cloud&lt;/b&gt; on the &lt;b&gt;Get Started&lt;/b&gt; section and follow the configuration wizard until &lt;b&gt;Step 2: Set up monitor&lt;/b&gt;.&lt;/li&gt; 
   &lt;li&gt;In the &lt;b&gt;Set up monitor&lt;/b&gt; screen, enter a name (for example, &lt;code class="CodeInline" style="color: #000"&gt;Frankfurtmonitorapp&lt;/code&gt;), then expand the &lt;b&gt;Additional monitor settings&lt;/b&gt; menu. Notice how the Identity Center instance in Frankfurt (eu-central-1) is automatically selected by the AWS DeadLine Cloud wizard. Choose &lt;b&gt;Next&lt;/b&gt;.&lt;/li&gt; 
   &lt;li&gt;On &lt;b&gt;Define farm details&lt;/b&gt;, under &lt;b&gt;Groups and users&lt;/b&gt;, select the group that will have access to the application, verify you are a member of that group. Notice how you can automatically choose groups that were synced from your IdP into your Identity Center instance.&lt;/li&gt; 
   &lt;li&gt;For this demonstration, leave remaining configurations with their default values and complete the application setup by following the wizard. After the application deployment is complete, choose &lt;b&gt;Go to dashboard&lt;/b&gt;.&lt;/li&gt; 
  &lt;/ol&gt; 
  &lt;p&gt;The application is now configured to use Region-local Identity Center service APIs for user sign-in and access to workforce identities. The dashboard displays the option to manage users, and user assignment management for this application is performed through the Frankfurt (eu-central-1) Region.&lt;/p&gt; 
  &lt;p&gt;&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;&lt;b&gt;Testing user access to your AWS managed application&lt;/b&gt;&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;You can test user access to AWS Deadline Cloud by choosing &lt;b&gt;Monitor&lt;/b&gt; in the upper right-hand corner of the dashboard. This initiates the service provider authentication workflow, which redirects you to your IdP for authentication. Because your IdP now recognizes the Frankfurt (eu-central-1) ACS URL, it knows where to send the successful authentication response, and you are authorized to access the newly created application.&lt;/p&gt; 
  &lt;p&gt;You can also access the application using the application provided endpoint or through your AWS access portal. The AWS access portal in each Region displays the applications assigned to the user independent of the Region they are configured.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;&lt;b&gt;What happens when you try to enable your application in a Region where Identity Center isn’t configured?&lt;/b&gt;&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;If Frankfurt (eu-central-1) hasn’t been added to your Identity Center instance, the application console will detect your organization instance in N. Virginia (us-east-1), and prompt you to enable Frankfurt (eu-central-1) first.&lt;/p&gt; 
  &lt;div id="attachment_41579" style="width: 1440px" class="wp-caption aligncenter"&gt;
   &lt;img aria-describedby="caption-attachment-41579" loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/03/14/Figure8.png" alt="Figure 8: AWS Deadline cloud console wizard when Identity Center isn’t configured in the current Region" width="1430" height="504" class="size-full wp-image-41579"&gt;
   &lt;p id="caption-attachment-41579" class="wp-caption-text"&gt;Figure 8: AWS Deadline cloud console wizard when Identity Center isn’t configured in the current Region&lt;/p&gt;
  &lt;/div&gt; 
  &lt;blockquote&gt;
   &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: Existing deployments of AWS managed applications that use cross-Region calls with Identity Center (for example, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/idc-setup.html#cross-region-idc" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Q Business&lt;/a&gt;&lt;/span&gt;) continue to function normally. When deploying an AWS managed application that supports cross-Region calls, we recommend configuring it to use Identity Center in the same Region, provided the prerequisites are met. Otherwise, you can configure the application to use Identity Center from one of its enabled Regions. See the respective AWS application’s User Guide to learn if it supports cross-Region calls to Identity Center.&lt;/p&gt;
  &lt;/blockquote&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Optional: Automatic failover of domains for AWS access portal&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Identity Center provides Regional endpoints for the AWS access portal when you enable multi-Region replication. You can access these Regional instances directly, or you can build a redirection system that intelligently routes users to the nearest available AWS access portal endpoint with failover capabilities.&lt;/p&gt; 
  &lt;p&gt;For a serverless implementation of automatic failover, you can combine several AWS services: &lt;/p&gt; 
  &lt;ul&gt; 
   &lt;li&gt;&lt;b&gt;Amazon Route 53&lt;/b&gt;: Manages DNS routing with health checks and geoproximity-based routing policies to redirect users to their nearest Regional endpoint.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Amazon Application Recovery Controller (ARC)&lt;/b&gt;: Orchestrates failover logic and provides readiness checks to ensure smooth transitions between Regions during service disruptions.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Application Load Balancer (ALB)&lt;/b&gt;: Performs simple HTTP redirects to the appropriate Regional AWS access portal endpoints based on routing decisions.&lt;/li&gt; 
  &lt;/ul&gt; 
  &lt;p&gt;This setup redirects users to a healthy endpoint in another Region if the primary Region goes down. Geoproximity routing sends users to their nearest endpoint under normal conditions.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Administration and auditing tasks by Region&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;The primary Region is the central management hub for instance-level configurations, while additional Regions provide Region-local application management and access capabilities. Application management is always performed in the Region where the application was configured.&lt;/p&gt; 
  &lt;p&gt;This table shows the availability of use cases between Regions. The primary Region maintains centralized control over identity and access management, while additional Regions focus onRegion-specific application management and providing resilient access to AWS accounts.&lt;/p&gt; 
  &lt;table border="1px" cellpadding="10px" style="border-collapse: separate;text-indent: initial;border-spacing: 2px;border-color: gray;width: 100%"&gt; 
   &lt;tbody&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;&lt;b&gt;Task category&lt;/b&gt;&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;&lt;b&gt;Primary Region&lt;/b&gt;&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;&lt;b&gt;Additional Region&lt;/b&gt;&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Workforce identity management&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Full management of workforce identities and user provisioning&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Read-only&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;User session revocation&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Revoke user sessions&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Revoke user sessions&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Instance-level configuration&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Configuration changes and settings&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Read-only&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;User assignments to applications (Region-specific)&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;For applications in the primary Region&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;For applications in an additional Region&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/singlesignon/latest/userguide/trustedidentitypropagation-overview.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;Trusted identity propagation&lt;/a&gt;&lt;/span&gt; (TIP)&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Use TIP with applications in the same Region&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Use TIP with applications in the same Region&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Enable/disable application access&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;For applications in the primary Region&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;For applications in an additional Region&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;External IdP configuration&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Manage connection and configuration with external IdPs&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Read-only&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Customer-managed applications&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Deploy and configure SAML and OAuth2 applications&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Deploy and configure SAML and OAuth2 applications&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;AWS account access&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Access AWS accounts through a Region-specific AWS access portal&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Access AWS accounts through Region-specific AWS access portal&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Application management (Region-specific)&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Manage applications configured in the primary Region&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Manage applications configured in additional Regions&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Account access permissions&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Configure and manage permission sets and account assignments&lt;/p&gt; &lt;/td&gt; 
     &lt;td style="padding: 10px;border: 1px solid #dddddd"&gt; &lt;p&gt;Not available&lt;/p&gt; &lt;/td&gt; 
    &lt;/tr&gt; 
   &lt;/tbody&gt; 
  &lt;/table&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Conclusion&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;In this post, you learned how to extend your access to AWS through IAM Identity Center across multiple AWS Regions using multi-Region replication. To replicate your Identity Center instance to additional Regions, you need a multi-Region KMS key, updated IdP configuration, and network access to the new regional endpoints.&lt;/p&gt; 
  &lt;p&gt;With multi-Region replication in place, your users gain resilient, low-latency access to AWS accounts and AWS managed applications through Region-specific AWS access portals. If a disruption occurs in the primary Region, users can continue working using already provisioned permissions through any additional Region. For organizations looking to deploy AWS managed applications beyond Deadline Cloud in additional Regions, consult the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/singlesignon/latest/userguide/awsapps-that-work-with-identity-center.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS managed applications that integrate with IAM Identity Center&lt;/a&gt;&lt;/span&gt; table in the Identity Center User Guide to verify that the application supports both customer-managed KMS keys and deployment in additional Regions before proceeding. &lt;/p&gt; 
  &lt;p&gt; To explore the full range of IAM Identity Center multi-Region capabilities, including quota management, visit the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/singlesignon/latest/userguide/multi-region-iam-identity-center.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;Using IAM Identity Center across multiple AWS Regions&lt;/a&gt;&lt;/span&gt; user guide.&lt;/p&gt; 
  &lt;hr&gt; 
  &lt;p&gt;If you have feedback about this post, submit comments in the Comments section below. If you have questions about this post, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://console.aws.amazon.com/support/home" target="_blank" rel="noopener" data-cms-ai="0"&gt;contact AWS Support&lt;/a&gt;&lt;/span&gt;.&lt;/p&gt; 
  &lt;footer&gt; 
   &lt;div class="blog-author-box"&gt; 
    &lt;div class="blog-author-image"&gt; 
     &lt;img loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2024/11/18/emilanov.jpg" alt="Alex Milanovic" width="120" height="160" class="aligncenter size-full wp-image-39143"&gt; 
    &lt;/div&gt; 
    &lt;h3 class="lb-h4"&gt;Alex Milanovic&lt;/h3&gt; 
    &lt;p&gt;Alex is a Senior Product Manager at AWS Identity, with over a decade of expertise in identity and access management and more than 25 years in the tech sector. His work centers on empowering organizations of all sizes, from large enterprises to small and medium-sized businesses, to effectively adopt and implement identity and access management cloud services. &lt;/p&gt; 
    &lt;p&gt;&lt;/p&gt;
   &lt;/div&gt; 
  &lt;/footer&gt; 
  &lt;footer&gt; 
   &lt;div class="blog-author-box"&gt; 
    &lt;div class="blog-author-image"&gt; 
     &lt;img loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2020/08/23/Laura-Reith-Author.jpg" alt="Laura Reith" width="120" height="160" class="aligncenter size-full wp-image-39142"&gt; 
    &lt;/div&gt; 
    &lt;h3 class="lb-h4"&gt;Laura Reith&lt;/h3&gt; 
    &lt;p&gt;Laura is an Identity Solutions Architect at AWS, where she thrives on helping customers overcome security and identity challenges. In her free time, she enjoys wreck diving and traveling around the world.&lt;/p&gt; 
    &lt;p&gt;&lt;/p&gt;
   &lt;/div&gt; 
  &lt;/footer&gt;
 &lt;/div&gt; 
&lt;/div&gt;</content:encoded>
					
					
			
		
		
			</item>
		<item>
		<title>How to manage the lifecycle of Amazon Machine Images using AMI Lineage for AWS</title>
		<link>https://aws.amazon.com/blogs/security/how-to-manage-the-lifecycle-of-amazon-machine-images-using-ami-lineage-for-aws/</link>
					
		
		<dc:creator><![CDATA[George'son Tib]]></dc:creator>
		<pubDate>Thu, 12 Mar 2026 16:59:17 +0000</pubDate>
				<category><![CDATA[Advanced (300)]]></category>
		<category><![CDATA[Security, Identity, & Compliance]]></category>
		<category><![CDATA[AMI]]></category>
		<category><![CDATA[Vulnerability management]]></category>
		<guid isPermaLink="false">c086a88377fa0f4c38dfdd834ab49d0fa5a662f2</guid>

					<description>As organizations scale their cloud infrastructure, maintaining proper lifecycle management of Amazon Machine Images (AMIs) is a critical component of their security and risk management goals. AMIs provide the essential information required to launch Amazon Elastic Compute Cloud (Amazon EC2) instances, however; they present security and compliance challenges if not tracked and managed throughout their […]</description>
										<content:encoded>&lt;div class="Page-articleBody"&gt; 
 &lt;div class="RichTextArticleBody RichTextBody"&gt; 
  &lt;p&gt;As organizations scale their cloud infrastructure, maintaining proper lifecycle management of &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Machine Images (AMIs)&lt;/a&gt;&lt;/span&gt; is a critical component of their security and risk management goals. AMIs provide the essential information required to launch &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/ec2" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Elastic Compute Cloud (Amazon EC2)&lt;/a&gt;&lt;/span&gt; instances, however; they present security and compliance challenges if not tracked and managed throughout their lifecycle. This blog post explores how organizations can meet their evolving security and compliance requirements by managing potential vulnerabilities across the AMIs deployed throughout their AWS environment.&lt;/p&gt; 
  &lt;p&gt;At the end of 2024, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/about-aws/whats-new/2024/11/amazon-ec2-lineage-information-amis/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS announced lineage support&lt;/a&gt;&lt;/span&gt;for Amazon EC2, providing source details for your AMIs. With this lineage information, you can trace copied or derived AMIs back to their original source. The source AMI information is available for AMIs that were created using specific API commands like &lt;code class="CodeInline" style="color: #000"&gt;CreateImage&lt;/code&gt;, &lt;code class="CodeInline" style="color: #000"&gt;CopyImage&lt;/code&gt;, and &lt;code class="CodeInline" style="color: #000"&gt;CreateRestoreImageTask&lt;/code&gt;. If the AMI was created using a different API command, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/identify-source-ami-used-to-create-new-ami.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;the ID and AWS Region of the source AMI don’t appear&lt;/a&gt;&lt;/span&gt;, which can create visibility gaps that potentially impact security and compliance efforts.&lt;/p&gt; 
  &lt;p&gt;To address these gaps and provide comprehensive AMI governance, organizations need to build additional capabilities to analyze the scope of impact of Common Vulnerabilities and Exposures (CVEs), ensure deployed resources originate from an approved &lt;i&gt;golden image&lt;/i&gt;, and respond to audit inquiries that require a clear chain of custody for AMIs. A well-designed solution should also help track and enforce approved AMI creation patterns across all accounts and AWS Regions. The AMI lineage solution described in this post is designed to help you manage your organization’s AMI hierarchy and lifecycle, including tracking AMI origins and usage throughout its AWS environment. By implementing this solution, your security teams can quickly understand the scope of impact when security vulnerabilities are discovered, help ensure compliance with organizational policies, and maintain better visibility into their AMI estate.&lt;/p&gt; 
  &lt;p&gt;The solution in this blog post uses &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/neptune" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Neptune&lt;/a&gt;&lt;/span&gt;, a high-performance graph database, along with native AWS security services to maintain a comprehensive view of AMI relationships and enable proactive security monitoring. With the solution in place, you can enforce controls on AMI sourcing, including validation of marketplace AMIs through service control policies (SCPs), and maintain compliance with organizational and regulatory requirements throughout the AMI lifecycle.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Solution overview&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;AMI Lineage provides a comprehensive governance solution that uses AWS security services and Neptune to create and maintain a hierarchical graph representation of their AMI relationships. This solution helps security and compliance teams understand the complete history of their AMIs including where they originated from, enforce organizational policies such as requiring all AMIs to be encrypted, and rapidly assess security impacts across their organization.&lt;br&gt; The solution integrates core AWS services with security and governance capabilities. The core components of the solution in the security tooling account are:&lt;/p&gt; 
  &lt;ul class="rte2-style-ul" id="rte-d5e056f1-1365-11f1-8b20-d59767ea7ebd"&gt; 
   &lt;li&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/neptune" target="_blank" rel="noopener" data-cms-ai="0"&gt;Neptune&lt;/a&gt;&lt;/span&gt;: A purpose-built, high-performance graph database securely stores and manages the AMI relationship data.&lt;/li&gt; 
   &lt;li&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/lambda" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Lambda&lt;/a&gt;&lt;/span&gt;functions serve as the processing engine for the solution. They process AMI lifecycle events (such as &lt;code class="CodeInline" style="color: #000"&gt;CreateImage&lt;/code&gt;, &lt;code class="CodeInline" style="color: #000"&gt;CopyImage&lt;/code&gt;, &lt;code class="CodeInline" style="color: #000"&gt;DeregisterImage&lt;/code&gt;), evaluate them against compliance rules, and update the Neptune graph database. The functions are configured with least-privilege &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/iam" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Identity and Access Management (IAM)&lt;/a&gt;&lt;/span&gt; permissions to enhance security.&lt;/li&gt; 
   &lt;li&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/api-gateway" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon API Gateway&lt;/a&gt;&lt;/span&gt; provides secure REST endpoints for lineage queries and security assessments. Authentication is handled using a combination of API keys and IAM roles to help ensure that only authorized users and systems can access the data.&lt;/li&gt; 
  &lt;/ul&gt; 
  &lt;p&gt;From a governance perspective, this solution provides comprehensive AMI origin validation to help ensure AMIs come from approved sources, including the validation of AWS Marketplace AMIs against a list of trusted vendors. Lifecycle management capabilities enforce AMI retention policies and deprecation processes. Compliance monitoring tracks adherence to organizational and regulatory requirements, while security event scope assessment capabilities quickly identify affected resources when security vulnerabilities are discovered. A detailed audit trail maintains a complete history of AMI creation, modification, and usage patterns.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Architecture&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;The AMI Lineage solution follows &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/architecture/security-identity-compliance/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS security best practices&lt;/a&gt;&lt;/span&gt; with a multi-account deployment architecture designed to maximize security while maintaining operational efficiency. The architecture distributes responsibilities across three primary account types: an &lt;i&gt;organization management account&lt;/i&gt;, a centralized &lt;i&gt;security tooling account&lt;/i&gt;, and multiple &lt;i&gt;member accounts&lt;/i&gt;.&lt;/p&gt; 
  &lt;p&gt;This architectural approach helps ensure that sensitive operations and data remain centralized in the security tooling account while enabling distributed monitoring and policy enforcement across the organization. The clear separation of concerns enhances security while maintaining the scalability needed for large-scale AWS deployments.&lt;/p&gt; 
  &lt;div id="attachment_41553" style="width: 1440px" class="wp-caption aligncenter"&gt;
   &lt;img aria-describedby="caption-attachment-41553" loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/03/11/Figure-1-2929-AMI-lineage.png" alt="Figure 1: AMI Lineage solution architecture and workflow" width="1430" height="1309" class="size-full wp-image-41553"&gt;
   &lt;p id="caption-attachment-41553" class="wp-caption-text"&gt;Figure 1: AMI Lineage solution architecture and workflow&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;The workflow and architecture shown in figure one includes the following:&lt;/p&gt; 
  &lt;ol class="rte2-style-ol" id="rte-de539400-1365-11f1-8b20-d59767ea7ebd" start="1"&gt; 
   &lt;li&gt;&lt;b&gt;Policy enforcement:&lt;/b&gt; The&lt;b&gt; &lt;/b&gt;organization management account is the central point for control. It uses &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/organizations" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Organizations&lt;/a&gt;&lt;/span&gt; to enforce SCPs that prevent non-compliant AMI actions across the member accounts.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Event capture:&lt;/b&gt; When an AMI lifecycle event (like &lt;code class="CodeInline" style="color: #000"&gt;CreateImage&lt;/code&gt; or &lt;code class="CodeInline" style="color: #000"&gt;CopyImage&lt;/code&gt;) occurs in a member account, a local &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/eventbridge" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon EventBridge&lt;/a&gt;&lt;/span&gt; rule captures it.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Centralized processing:&lt;/b&gt; The event is securely forwarded from the member account’s EventBridge to the central EventBridge in the security tooling account.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Data ingestion and analysis:&lt;/b&gt; A Lambda function is triggered in the security tooling account. This function processes the event, analyzes it for compliance, and updates the Neptune graph database with the new AMI relationship data. &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/security-hub" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Security Hub&lt;/a&gt;&lt;/span&gt; and &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/guardduty" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon GuardDuty&lt;/a&gt;&lt;/span&gt; in the security tooling account also receive and analyze findings from member accounts.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Query and visualization:&lt;/b&gt; Security teams query the lineage data through a secure API Gateway endpoint. By doing this, they can to visualize AMI hierarchies, investigate security findings from Security Hub, and assess the scope of impact for a given AMI.&lt;/li&gt; 
  &lt;/ol&gt; 
  &lt;p&gt;The organization management account serves as the central control point for policy enforcement and organizational oversight. This account hosts SCPs that prevent non-approved AMI usage across the organization and manages organization-wide EventBridge rules that capture AMI events from member accounts. Cross-account trust policies configured in this account enable secure communication between the management account and the security tooling account.&lt;/p&gt; 
  &lt;p&gt;Additionally, the management account establishes Security Hub in delegated administrator mode, designating the security tooling account as the centralized security administrator for the organization. From the security tooling account, Security Hub can be then configured to aggregate all Regions down to one core Region for easier evaluation by security personnel.&lt;/p&gt; 
  &lt;p&gt;The security tooling account acts as the central hub for AMI lineage processing and storage. This account hosts the Neptune graph database cluster with encrypted storage, helping to ensure that AMI relationship data is securely maintained. Lambda functions running in this account process events, handle API requests, and evaluate compliance with least-privilege permissions. API Gateway provides secure REST endpoints for lineage queries and security assessments. Security Hub custom insights and findings are centralized here in the security tooling account as the Security Hub delegated administrator account, along with &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/sns" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Simple Notification Service (Amazon SNS)&lt;/a&gt;&lt;/span&gt; topics for notifications and alerts. The &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/vpc" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Virtual Private Cloud (Amazon VPC)&lt;/a&gt;&lt;/span&gt; infrastructure supporting these services is also deployed in the security tooling account, providing network-level isolation and security.&lt;/p&gt; 
  &lt;p&gt;The solution enables distributed monitoring and enforcement by deploying lightweight components into each member account across the organization. Each member account includes &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/config" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Config&lt;/a&gt;&lt;/span&gt; rules for continuous compliance monitoring, cross-account IAM roles to enable secure access from the security tooling account, and local EventBridge rules that forward AMI-related events to the central processing system. &lt;/p&gt; 
  &lt;p&gt; Security and compliance integration extends throughout the solution. IAM manages least-privilege access control and permissions across components. &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/cloudtrail" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS CloudTrail&lt;/a&gt;&lt;/span&gt; records API activity for audit trails and compliance reporting, while Security Hub centralizes security findings and compliance status across your AMI estate. GuardDuty provides threat detection for AMI-related activities. SCPs enforce organization-wide controls on AMI creation and usage patterns, and AWS Config tracks AMI configuration changes and evaluates compliance rules.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;How it works&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;The AMI Lineage solution operates through a continuous monitoring and automated response system that maintains comprehensive visibility into your AMI landscape. When AMI lifecycle events occur in your organization, EventBridge rules capture these activities, including creation, copying, modification, and deregistration events. Lambda functions in the security tooling account are then called upon to process these events with appropriate security controls and update the Neptune graph database in real-time, while CloudTrail logs provide a comprehensive audit trail of AMI-related activities.&lt;/p&gt; 
  &lt;p&gt;The system tracks critical security and compliance metadata that forms the foundation of effective AMI governance. This includes:&lt;/p&gt; 
  &lt;ul class="rte2-style-ul" id="rte-de53bb10-1365-11f1-8b20-d59767ea7ebd"&gt; 
   &lt;li&gt;&lt;b&gt;Source AMI&lt;/b&gt; information and validation status to help ensure lineage integrity&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Creation method&lt;/b&gt; and timestamp data for comprehensive audit trails&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Cross-Region and cross-account&lt;/b&gt; relationships to understand the full scope of AMI distribution&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Instance launch history&lt;/b&gt; with security context to track usage patterns&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;AMI state changes&lt;/b&gt; including deprecation and deregistration for lifecycle management&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Compliance status&lt;/b&gt; along with policy violations to maintain organizational standards.&lt;/li&gt; 
  &lt;/ul&gt; 
  &lt;p&gt;Security teams use this comprehensive data through secure API calls to visualize complete AMI hierarchies and relationships, providing clear insight into how AMIs are related across your infrastructure. The compliance of your AMI estate is continuously tracked through a combination of services:&lt;/p&gt; 
  &lt;ul class="rte2-style-ul" id="rte-de53bb10-1365-11f1-8b20-d59767ea7ebd"&gt; 
   &lt;li&gt;&lt;b&gt;Detection:&lt;/b&gt; AWS Config rules deployed in member accounts check for policy violations (for example, incorrect tags and public permissions).&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Aggregation:&lt;/b&gt; These findings, along with vulnerability data from services like &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/inspector" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Inspector&lt;/a&gt;&lt;/span&gt;, are aggregated in AWS Security Hub.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Correlation:&lt;/b&gt; Lambda functions in the security tooling account correlate this information with the lineage data in Neptune. Because of this correlation, you can see not just that an AMI is non-compliant, but also its entire downstream impact. When security events like CVE findings are discovered, teams can quickly assess the scope of impact across their entire AMI estate. The solution monitors AMI usage patterns for security anomalies and enforces governance controls through automated policy checks.&lt;/li&gt; 
  &lt;/ul&gt; 
  &lt;p&gt; The solution provides robust automated policy enforcement capabilities that operate continuously to maintain security and compliance. The system helps ensure that only approved AMIs with verified lineage history can be used to launch new instances, automatically blocking attempts to use non-compliant images. SCP controls on AMI creation and usage are enforced organization-wide, preventing unauthorized AMI operations before they can impact your environment. When policy violations are detected, the system can trigger automated responses to security events and maintain compliance with organizational standards through real-time enforcement.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Implementation&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Before deploying the AMI Lineage solution, you need to establish the proper security and governance foundation across your organization. Your AWS Organizations management account requires administrative permissions, and your organization must be &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_org_support-all-features.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;enabled with all features&lt;/a&gt;&lt;/span&gt; to support the policies used in this solution. You will also need a dedicated security tooling account to host the solution’s core components, with &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_cross-account-with-roles.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;cross-account IAM roles&lt;/a&gt;&lt;/span&gt; configured to allow secure access. Finally, essential security services must be configured at the organization level, including &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-settingup.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;Security Hub&lt;/a&gt;&lt;/span&gt;, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/organizations/latest/userguide/services-that-can-integrate-cloudtrail.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;CloudTrail organization trails&lt;/a&gt;&lt;/span&gt; for audit logging, and encryption keys using &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/kms/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Key Management Service (AWS KMS)&lt;/a&gt;&lt;/span&gt; for data protection.&lt;/p&gt; 
  &lt;p&gt; From a technical perspective, ensure you have Python 3.8 or later installed if deploying from a local environment, along with &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/cli" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Command Line Interface (AWS CLI)&lt;/a&gt;&lt;/span&gt; version 2 installed and configured with appropriate security credentials. You’ll also need an &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/s3/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Simple Storage Service (Amazon S3)&lt;/a&gt;&lt;/span&gt; bucket for deployment artifacts, encrypted using &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;SSE-KMS with a customer-managed key&lt;/a&gt;&lt;/span&gt; to align with best practices for protecting deployment assets.&lt;/p&gt; 
  &lt;p&gt; The complete &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://github.com/aws-samples/sample-ami-lineage-governance" target="_blank" rel="noopener" data-cms-ai="0"&gt;AMI Lineage solution&lt;/a&gt;&lt;/span&gt; is available as open source code in the AWS Samples repository. You can clone the repository and follow the deployment instructions. The repository includes the necessary &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/cloudformation" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS CloudFormation&lt;/a&gt;&lt;/span&gt; templates, Lambda functions, and deployment scripts referenced in the following phases.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Deployment&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;The deployment process follows a five-phase approach that builds security and compliance capabilities progressively:&lt;/p&gt; 
  &lt;ol class="rte2-style-ol" id="rte-de53bb22-1365-11f1-8b20-d59767ea7ebd" start="1"&gt; 
   &lt;li&gt;Security foundations&lt;/li&gt; 
   &lt;li&gt;Security controls&lt;/li&gt; 
   &lt;li&gt;EventBridge rules&lt;/li&gt; 
   &lt;li&gt;Core infrastructure&lt;/li&gt; 
   &lt;li&gt;Compliance and monitoring&lt;/li&gt; 
  &lt;/ol&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;Phase 1 – Establishing security foundations&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;The first phase establishes the security foundation by configuring AWS Organizations security services. This involves enabling&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/securityhub/latest/userguide/what-are-securityhub-services.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;Security Hub&lt;/a&gt;&lt;/span&gt; in the management account and designating the security tooling account as the delegated administrator, enabling&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/guardduty/latest/ug/what-is-guardduty.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;null&lt;/a&gt;&lt;/span&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/guardduty/latest/ug/what-is-guardduty.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;GuardDuty&lt;/a&gt;&lt;/span&gt; with the security tooling account configured as the&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_organizations.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;null&lt;/a&gt;&lt;/span&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_organizations.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;delegated administrator&lt;/a&gt;&lt;/span&gt;, and enabling an organizational wide &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-trail-organization.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;CloudTrail&lt;/a&gt;&lt;/span&gt; trail for audit logging.&lt;/p&gt; 
  &lt;div class="Enhancement" data-align-center=""&gt; 
   &lt;div class="Enhancement-item"&gt; 
    &lt;div class="CodeBlockWP hide-language"&gt; 
     &lt;div class="code-toolbar"&gt; 
      &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;# In Organization Management Account: 
# Enable Security Hub and set security tooling account as delegated admin 
aws securityhub enable-organization-admin-account \ &amp;nbsp;&amp;nbsp;
--admin-account-id &amp;lt;security-tooling-account-id&amp;gt; 

# Enable GuardDuty organization with security tooling account as admin &amp;nbsp; 
aws guardduty enable-organization-admin-account \ &amp;nbsp;&amp;nbsp;
--admin-account-id &amp;lt;security-tooling-account-id&amp;gt; 

# Create organization trail with encryption aws cloudtrail create-trail \ &amp;nbsp;&amp;nbsp;
--name ami-lineage-trail \ &amp;nbsp;&amp;nbsp;
--s3-bucket-name &amp;lt;your-secure-bucket&amp;gt; \ &amp;nbsp;&amp;nbsp;
--is-organization-trail \ &amp;nbsp;&amp;nbsp;
--kms-key-id &amp;lt;your-kms-key-id&amp;gt; \ &amp;nbsp;&amp;nbsp;
--enable-log-file-validation&lt;/code&gt;&lt;/pre&gt; 
      &lt;p&gt;&lt;/p&gt;
     &lt;/div&gt; 
     &lt;p&gt;&lt;/p&gt;
    &lt;/div&gt; 
    &lt;p&gt;&lt;/p&gt;
   &lt;/div&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;Phase 2 – Security controls&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;The second phase deploys base security controls through organization-wide SCPs. These policies enforce AMI governance controls by preventing the use of non-approved AMIs and helping to ensure that proper tagging and approval workflows are followed.&lt;/p&gt; 
  &lt;div class="Enhancement" data-align-center=""&gt; 
   &lt;div class="Enhancement-item"&gt; 
    &lt;div class="CodeBlockWP hide-language"&gt; 
     &lt;div class="code-toolbar"&gt; 
      &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;# In Organization Management Account: 
# Deploy organization-wide SCPs 
aws organizations create-policy \ &amp;nbsp;&amp;nbsp;
--content file://ami-governance-scp.json \ &amp;nbsp;&amp;nbsp;
--name "AMI-Governance-Controls" \ &amp;nbsp;&amp;nbsp;
--type SERVICE_CONTROL_POLICY 

# Attach to organizational units 
aws organizations attach-policy \ &amp;nbsp;&amp;nbsp;
--policy-id &amp;lt;policy-id&amp;gt; \ &amp;nbsp;&amp;nbsp;
--target-id &amp;lt;ou-id&amp;gt;&lt;/code&gt;&lt;/pre&gt; 
      &lt;p&gt;&lt;/p&gt;
     &lt;/div&gt; 
     &lt;p&gt;&lt;/p&gt;
    &lt;/div&gt; 
    &lt;p&gt;&lt;/p&gt;
   &lt;/div&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;Phase 3 – EventBridge rules&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt; The third phase deploys organization-wide EventBridge rules from the management account to capture AMI events across member accounts and forward them to the security tooling account for processing. These rules listen for specific API calls captured by CloudTrail.&lt;br&gt; &lt;br&gt; An example of the event pattern used to capture &lt;code class="CodeInline" style="color: #000"&gt;CreateImage&lt;/code&gt; and &lt;code class="CodeInline" style="color: #000"&gt;CopyImage&lt;/code&gt; events looks like this:&lt;br&gt; &lt;/p&gt; 
  &lt;div class="Enhancement" data-align-center=""&gt; 
   &lt;div class="Enhancement-item"&gt; 
    &lt;div class="CodeBlockWP hide-language"&gt; 
     &lt;div class="code-toolbar"&gt; 
      &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;{
	"source": ["aws.ec2"],
	"detail-type": ["AWS API Call via CloudTrail"],
	"detail": {
		"eventSource": ["ec2.amazonaws.com"],
		"eventName": [
			"CreateImage",
			"CopyImage",
			"RegisterImage",
			"DeregisterImage"
		]
	}
}

# In Organization Management Account: 
# Deploy organization EventBridge rules 
cd deployment-scripts/organization 
./deploy-organization-resources.sh&lt;/code&gt;&lt;/pre&gt; 
      &lt;p&gt;&lt;/p&gt;
     &lt;/div&gt; 
     &lt;p&gt;&lt;/p&gt;
    &lt;/div&gt; 
    &lt;p&gt;&lt;/p&gt;
   &lt;/div&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;Phase 4 – Core infrastructure&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;The fourth phase focuses on core infrastructure deployment in the security tooling account. This is where the primary processing and storage components are deployed, following security best practices by centralizing sensitive operations in a dedicated account.&lt;/p&gt; 
  &lt;div class="Enhancement" data-align-center=""&gt; 
   &lt;div class="Enhancement-item"&gt; 
    &lt;div class="CodeBlockWP hide-language"&gt; 
     &lt;div class="code-toolbar"&gt; 
      &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;# Switch to Security Tooling Account context 
# Deploy Neptune cluster with encryption in security tooling account 
cd deployment-scripts/shared 
./deploy-shared-resources.sh&lt;/code&gt;&lt;/pre&gt; 
      &lt;p&gt;&lt;/p&gt;
     &lt;/div&gt; 
     &lt;p&gt;&lt;/p&gt;
    &lt;/div&gt; 
    &lt;p&gt;&lt;/p&gt;
   &lt;/div&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;This deployment script handles multiple components in the security tooling account. The Neptune cluster deployment includes encryption and VPC configuration to help ensure secure storage and access to AMI lineage data. Lambda functions are deployed with security controls and configured with VPC attachment, which allows for secure Neptune access in the VPC, appropriate IAM roles with least-privilege permissions, and environment variables for &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/neptune/latest/userguide/best-practices-general-security.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;secure configuration&lt;/a&gt;&lt;/span&gt;. API Gateway provides secure REST endpoints for external access to AMI lineage data and security assessments.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;Phase 5 – Compliance and monitoring&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;The fifth phase establishes comprehensive compliance and monitoring capabilities across member accounts. AWS Config rules are deployed to continuously monitor AMI compliance across your organization, while EventBridge rules forward AMI events to the central processing system.&lt;/p&gt; 
  &lt;div class="Enhancement" data-align-center=""&gt; 
   &lt;div class="Enhancement-item"&gt; 
    &lt;div class="CodeBlockWP hide-language"&gt; 
     &lt;div class="code-toolbar"&gt; 
      &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;# In each Member Account: 
# Deploy AWS Config Rules and monitoring capabilities 
cd deployment-scripts/child-account &amp;nbsp; 
./deploy-child-account-resources.sh&lt;/code&gt;&lt;/pre&gt; 
      &lt;p&gt;&lt;/p&gt;
     &lt;/div&gt; 
     &lt;p&gt;&lt;/p&gt;
    &lt;/div&gt; 
    &lt;p&gt;&lt;/p&gt;
   &lt;/div&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;After deployment, thorough verification helps ensure that security configurations are properly implemented. This includes validating IAM permissions to help ensure least-privilege access, testing security controls to verify SCP enforcement, validating encryption settings acrosscomponents, and confirming that the security tooling account is properly configured as the Security Hub delegated administrator.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Using AMI Lineage&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;When deployed, AMI Lineage provides security operations and compliance monitoring capabilities through its API hosted in the security tooling account and automated monitoring systems. Security teams can query and receive complete AMI security relationships to understand the full context of AMIs in their environment.&lt;/p&gt; 
  &lt;p&gt;When investigating AMIs, the system provides detailed security context including source validation information that confirms:&lt;/p&gt; 
  &lt;ul class="rte2-style-ul" id="rte-de54a570-1365-11f1-8b20-d59767ea7ebd"&gt; 
   &lt;li&gt;Whether AMIs come from marketplace sources or trusted accounts&lt;/li&gt; 
   &lt;li&gt;Compliance status that shows patch levels and policy adherence&lt;/li&gt; 
   &lt;li&gt;Vulnerability status with CVE findings and scan results&lt;/li&gt; 
   &lt;li&gt;Comprehensive lineage data showing the complete chain of AMI relationships and approval history&lt;/li&gt; 
  &lt;/ul&gt; 
  &lt;div class="Enhancement" data-align-center=""&gt; 
   &lt;div class="Enhancement-item"&gt; 
    &lt;div class="CodeBlockWP hide-language"&gt; 
     &lt;div class="code-toolbar"&gt; 
      &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;# Get complete security context for an AMI (API Gateway in Security Tooling Account) 
curl -X GET "https://&amp;lt;api-gateway-id&amp;gt;.execute-api.&amp;lt;region&amp;gt;.amazonaws.com/v1/api/v1/ami/ami-1234567890abcdef0/security-context?include_compliance=true" \ &amp;nbsp;
	-H "x-api-key: &amp;lt;your-api-key&amp;gt;"&lt;/code&gt;&lt;/pre&gt; 
      &lt;p&gt;&lt;/p&gt;
     &lt;/div&gt; 
     &lt;p&gt;&lt;/p&gt;
    &lt;/div&gt; 
    &lt;p&gt;&lt;/p&gt;
   &lt;/div&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;For security impact assessments, such as when a new CVE is discovered, the solution provides a powerful scope of impact analysis. By querying the API with a specific finding, security teams can rapidly determine every affected resource across their entire organization that stems from a compromised or vulnerable AMI. Using that information, they can understand the full scope of their exposure and begin remediation. See &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/apigateway/latest/developerguide/security-best-practices.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;Security best practices in Amazon API Gateway&lt;/a&gt;&lt;/span&gt; for helpful considerations while using API Keys.&lt;/p&gt; 
  &lt;div class="Enhancement" data-align-center=""&gt; 
   &lt;div class="Enhancement-item"&gt; 
    &lt;div class="CodeBlockWP hide-language"&gt; 
     &lt;div class="code-toolbar"&gt; 
      &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;# Assess for a security finding (Security Tooling Account API) 
curl -X POST "https://&amp;lt;api-gateway-id&amp;gt;.execute-api.&amp;lt;region&amp;gt;.amazonaws.com/v1/api/v1/security-impact" \ &amp;nbsp;&amp;nbsp;
	-H "Content-Type: application/json" \ &amp;nbsp;&amp;nbsp;
	-H "x-api-key: &amp;lt;your-api-key&amp;gt;" \ &amp;nbsp;&amp;nbsp;
	-d '{ &amp;nbsp;&amp;nbsp; &amp;nbsp;"ami_id": 
		"ami-1234567890abcdef0", &amp;nbsp;&amp;nbsp; &amp;nbsp;
		"finding_type": "CVE", &amp;nbsp;&amp;nbsp; &amp;nbsp;
		"finding_id": "CVE-2024-XXXX", &amp;nbsp;&amp;nbsp; &amp;nbsp;
		"severity": "CRITICAL" &amp;nbsp;&amp;nbsp;
	}'&lt;/code&gt;&lt;/pre&gt; 
      &lt;p&gt;&lt;/p&gt;
     &lt;/div&gt; 
     &lt;p&gt;&lt;/p&gt;
    &lt;/div&gt; 
    &lt;p&gt;&lt;/p&gt;
   &lt;/div&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;This analysis returns impact information including:&lt;/p&gt; 
  &lt;ul class="rte2-style-ul" id="rte-de54cc81-1365-11f1-8b20-d59767ea7ebd"&gt; 
   &lt;li&gt;Affected AMIs in the lineage chain&lt;/li&gt; 
   &lt;li&gt;Running instances requiring immediate remediation&lt;/li&gt; 
   &lt;li&gt;Affected AWS accounts and regions for coordinated response&lt;/li&gt; 
   &lt;li&gt;Associated auto-scaling groups and launch templates that need updates&lt;/li&gt; 
   &lt;li&gt;Compliance impact assessment for regulatory reporting&lt;/li&gt; 
   &lt;li&gt;Detailed remediation steps prioritized by risk level.&lt;/li&gt; 
  &lt;/ul&gt; 
  &lt;p&gt;Compliance monitoring operates continuously through automated assessment capabilities that evaluate your AMI estate against organizational policies and regulatory requirements. Teams can generate comprehensive compliance reports that show adherence to security standards across their entire infrastructure.&lt;/p&gt; 
  &lt;div class="Enhancement" data-align-center=""&gt; 
   &lt;div class="Enhancement-item"&gt; 
    &lt;div class="CodeBlockWP hide-language"&gt; 
     &lt;div class="code-toolbar"&gt; 
      &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;# Generate comprehensive compliance report (Security Tooling Account API) 
curl -X POST "https://&amp;lt;api-gateway-id&amp;gt;.execute-api.&amp;lt;region&amp;gt;.amazonaws.com/v1/api/v1/compliance-assessment" \ &amp;nbsp;&amp;nbsp;
	-H "Content-Type: application/json" \ &amp;nbsp;&amp;nbsp;
	-H "x-api-key: &amp;lt;your-api-key&amp;gt;" \ &amp;nbsp;&amp;nbsp;
	-d '{ &amp;nbsp;&amp;nbsp; &amp;nbsp;
		"rules": [ &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;
    		"required_tags", &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;
    		"approved_source_validation", &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;
    		"security_scan_status", &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;
    		"naming_convention", &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;
    		"lineage_verification" &amp;nbsp;&amp;nbsp; &amp;nbsp;
		], &amp;nbsp;&amp;nbsp; &amp;nbsp;
		"scope": "ORGANIZATION" &amp;nbsp;&amp;nbsp;
	}'&lt;/code&gt;&lt;/pre&gt; 
      &lt;p&gt;&lt;/p&gt;
     &lt;/div&gt; 
     &lt;p&gt;&lt;/p&gt;
    &lt;/div&gt; 
    &lt;p&gt;&lt;/p&gt;
   &lt;/div&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;The solution provides security automation and remediation through configurable automated responses to security events. Security Hub, operating in delegated administrator mode from the security tooling account, can be configured to automatically respond to findings by stopping instances using AMIs with critical vulnerabilities, quarantining instances launched from unapproved sources, and sending immediate notifications for high-severity findings.&lt;/p&gt; 
  &lt;p&gt;Security visualization and reporting capabilities, centralized in the security tooling account, provide real-time dashboards showing:&lt;/p&gt; 
  &lt;ul class="rte2-style-ul" id="rte-de54f390-1365-11f1-8b20-d59767ea7ebd"&gt; 
   &lt;li&gt;Compliance status across the organization&lt;/li&gt; 
   &lt;li&gt;Scoping visualization for rapid decision-making&lt;/li&gt; 
   &lt;li&gt;AMI approval workflow status for process monitoring&lt;/li&gt; 
   &lt;li&gt;Patch compliance metrics for maintaining security posture&lt;/li&gt; 
   &lt;li&gt;Automated remediation activity logs for audit purposes&lt;/li&gt; 
   &lt;li&gt;Custom security reports tailored to specific organizational needs.&lt;/li&gt; 
  &lt;/ul&gt; 
  &lt;p&gt;For security investigations and audit purposes, the solution maintains a queryable audit trail that provides a complete history of AMIs, including creation and modification events, security scanning results and findings, approval workflow history, and compliance status changes over time.&lt;/p&gt; 
  &lt;div class="Enhancement" data-align-center=""&gt; 
   &lt;div class="Enhancement-item"&gt; 
    &lt;div class="CodeBlockWP hide-language"&gt; 
     &lt;div class="code-toolbar"&gt; 
      &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;# Query comprehensive audit history (Security Tooling Account API) 
curl -X GET "https://&amp;lt;api-gateway-id&amp;gt;.execute-api.&amp;lt;region&amp;gt;.amazonaws.com/v1/api/v1/ami/ami-1234567890abcdef0/lineage?direction=both&amp;amp;depth=10" \ &amp;nbsp;&amp;nbsp;
	-H "x-api-key: &amp;lt;your-api-key&amp;gt;"&lt;/code&gt;&lt;/pre&gt; 
      &lt;p&gt;&lt;/p&gt;
     &lt;/div&gt; 
     &lt;p&gt;&lt;/p&gt;
    &lt;/div&gt; 
    &lt;p&gt;&lt;/p&gt;
   &lt;/div&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Clean up&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;To decommission the AMI Lineage solution, use the following steps to prevent dependency errors. The process is the reverse of the deployment.&lt;/p&gt; 
  &lt;ol class="rte2-style-ol" id="rte-b783dbe0-1366-11f1-8b20-d59767ea7ebd" start="1"&gt; 
   &lt;li&gt;&lt;b&gt;(Optional) Back up your data&lt;/b&gt;. Before you begin, export critical data for your audit and compliance records. This includes generating final compliance reports from the API or creating a final snapshot of the Neptune database (you will be prompted to do this when you delete the cluster).&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Run cleanup in member accounts.&lt;/b&gt; Sign in to each participating member account and run the cleanup script from the deployment files. This removes the local EventBridge rules, AWS Config rules, and cross-account IAM roles. 
    &lt;div class="Enhancement" data-align-center=""&gt; 
     &lt;div class="Enhancement-item"&gt; 
      &lt;div class="CodeBlockWP hide-language"&gt; 
       &lt;div class="code-toolbar"&gt; 
        &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;# In each Member Account 
cd deployment-scripts/child-account
./cleanup-child-account-resources.sh 
# Removes Config rules and cross-account roles from each member account&lt;/code&gt;&lt;/pre&gt; 
        &lt;p&gt;&lt;/p&gt;
       &lt;/div&gt; 
       &lt;p&gt;&lt;/p&gt;
      &lt;/div&gt; 
      &lt;p&gt;&lt;/p&gt;
     &lt;/div&gt; 
     &lt;p&gt;&lt;/p&gt;
    &lt;/div&gt; &lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Run cleanup in the security tooling account&lt;/b&gt;. Sign in to your security tooling account and run the cleanup script. This decommissions the core solution, including the API gateway, Lambda functions, Neptune cluster, and the associated VPC. 
    &lt;div class="Enhancement" data-align-center=""&gt; 
     &lt;div class="Enhancement-item"&gt; 
      &lt;div class="CodeBlockWP hide-language"&gt; 
       &lt;div class="code-toolbar"&gt; 
        &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;# Clean up security tooling account &amp;nbsp; 
cd deployment-scripts/shared

./cleanup-shared-resources.sh 
# Removes Neptune, Lambda, API Gateway, SNS, and Security Hub components&lt;/code&gt;&lt;/pre&gt; 
        &lt;p&gt;&lt;/p&gt;
       &lt;/div&gt; 
       &lt;p&gt;&lt;/p&gt;
      &lt;/div&gt; 
      &lt;p&gt;&lt;/p&gt;
     &lt;/div&gt; 
     &lt;p&gt;&lt;/p&gt;
    &lt;/div&gt; &lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Run cleanup in the organization management account&lt;/b&gt;. Sign in to your organization management account to remove the organization-level resources. 
    &lt;ol class="rte2-style-ol" id="rte-b783dbe1-1366-11f1-8b20-d59767ea7ebd" start="1"&gt; 
     &lt;li&gt;Run the cleanup script to remove the organization-wide EventBridge rules. 
      &lt;div class="Enhancement" data-align-center=""&gt; 
       &lt;div class="Enhancement-item"&gt; 
        &lt;div class="CodeBlockWP hide-language"&gt; 
         &lt;div class="code-toolbar"&gt; 
          &lt;pre class="unlimited-height-code language-text"&gt;&lt;code class="language-text"&gt;# Clean up organization management account

cd deployment-scripts/organization

./cleanup-organization-resources.sh &amp;nbsp; 
# Removes SCPs, EventBridge rules, and cross-account trust policies&lt;/code&gt;&lt;/pre&gt; 
          &lt;p&gt;&lt;/p&gt;
         &lt;/div&gt; 
         &lt;p&gt;&lt;/p&gt;
        &lt;/div&gt; 
        &lt;p&gt;&lt;/p&gt;
       &lt;/div&gt; 
       &lt;p&gt;&lt;/p&gt;
      &lt;/div&gt; &lt;/li&gt; 
     &lt;li&gt;In the AWS Organizations console, detach and delete the &lt;i&gt;AMI-Governance-Controls&lt;/i&gt; SCP.&lt;/li&gt; 
     &lt;li&gt;In the Security Hub and GuardDuty consoles, remove the security tooling account as the delegated administrator.&lt;/li&gt; 
    &lt;/ol&gt; &lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Delete final data and encryption keys&lt;/b&gt;. After the solution’s infrastructure is removed, you can delete the remaining assets. 
    &lt;ol class="rte2-style-ol" id="rte-b783dbe2-1366-11f1-8b20-d59767ea7ebd" start="1"&gt; 
     &lt;li&gt;In the security tooling account,&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/empty-bucket.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;empty and delete the S3 bucket&lt;/a&gt;&lt;/span&gt; that held the deployment artifacts.&lt;/li&gt; 
     &lt;li&gt;In the organization management account,&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;schedule the deletion&lt;/a&gt;&lt;/span&gt; of the KMS keys you created for encrypting the solution’s data.&lt;/li&gt; 
    &lt;/ol&gt; &lt;/li&gt; 
  &lt;/ol&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Conclusion&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;In this blog post, we showed you how you can use the AMI Lineage solution to build a comprehensive approach to tracking the complete history of your AMIs from creation to decommissioning. By storing this data in an Amazon Neptune graph database, you can build a hierarchical view of the relationships between your EC2 instances and the AMIs they were launched from. You learned how that data can be used to improve security response and remediation and assist in auditing and compliance activities.&lt;/p&gt; 
  &lt;p&gt;The solution uses AWS Organizations to provide preventative controls to help ensure that only approved AMIs are used and integrates AWS security services like Amazon GuardDuty, AWS Security Hub, and AWS Config to add additional layers of security monitoring and management. Finally, you saw how the solution can be used during a security event or when new CVEs are published, so that you can rapidly discover which systems are affected and automate responses based on those findings.&lt;/p&gt; 
  &lt;p&gt;While this solution provides powerful capabilities, it’s important to consider the operational and cost aspects. The core components, particularly Neptune, have associated costs that will scale with the size of your AMI estate. We recommend implementing cost monitoring and alerts as part of your deployment. Furthermore, because the solution is event-driven, you should plan a one-time backfill process to ingest your organization’s existing AMI history into the graph database. For organizations that require this level of granular control and visibility, these operational considerations are offset by the significant gains in security posture and compliance automation.&lt;/p&gt; 
  &lt;p&gt;AMI Lineage transforms AMI governance from a manual, error-prone process into an automated, comprehensive security capability that scales with your organization’s growth. By implementing this solution, your organization can gain the visibility, control, and automated response capabilities needed to maintain a strong security posture while enabling rapid, secure deployment of infrastructure across its AWS environment.&lt;/p&gt; 
  &lt;hr&gt; 
  &lt;p&gt;If you have feedback about this post, submit comments in the&lt;strong&gt; Comments&lt;/strong&gt; section below. If you have questions about this post, &lt;a href="https://console.aws.amazon.com/support/home" target="_blank" rel="noopener"&gt;contact AWS Support&lt;/a&gt;.&lt;/p&gt; 
  &lt;footer&gt; 
   &lt;div class="blog-author-box"&gt; 
    &lt;div class="blog-author-image"&gt; 
     &lt;img loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2023/01/19/Luis-Pastor.jpg" alt="Luis Pastor" width="120" height="160" class="aligncenter size-full wp-image-29371"&gt; 
    &lt;/div&gt; 
    &lt;h3 class="lb-h4"&gt;Luis Pastor&lt;/h3&gt; 
    &lt;p&gt;Luis is a Senior Security Solutions Architect at AWS leading the Infrastructure Security and Compliance Technical Field Communities. He drives security architecture for enterprise customers across financial services, healthcare, and retail, specializing in cloud security transformation and regulatory compliance frameworks. Before AWS, Luis architected security solutions in hybrid cloud environments.&lt;/p&gt; 
   &lt;/div&gt; 
   &lt;div class="blog-author-box"&gt; 
    &lt;div class="blog-author-image"&gt; 
     &lt;img loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2025/09/16/George-s-son-tib-author.jpeg" alt="George'son Tib." width="120" height="160" class="aligncenter size-full wp-image-29371"&gt; 
    &lt;/div&gt; 
    &lt;h3 class="lb-h4"&gt;George’son Tib.&lt;/h3&gt; 
    &lt;p&gt;George’son is a Solutions Architect focused on Infrastructure Security at AWS, working with Enterprise customers in the Auto and Manufacturing Industry. He specializes in helping organizations build robust, automated control frameworks that enhance their security posture and drive operational efficiency.&lt;/p&gt; 
   &lt;/div&gt; 
   &lt;div class="blog-author-box"&gt; 
    &lt;div class="blog-author-image"&gt; 
     &lt;img loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2022/08/01/Geoff-Sweet.jpg" alt="Geoff Sweet" width="120" height="160" class="aligncenter size-full wp-image-29371"&gt; 
    &lt;/div&gt; 
    &lt;h3 class="lb-h4"&gt;Geoff Sweet&lt;/h3&gt; 
    &lt;p&gt;Geoff has been in industry since the late 1990s. He began his career in electrical engineering. Starting in IT during the dot-com boom, he has held a variety of diverse roles, such as systems architect, network architect, and, for the past several years, security architect. Geoff specializes in infrastructure security.&lt;/p&gt; 
   &lt;/div&gt; 
   &lt;div class="blog-author-box"&gt; 
    &lt;div class="blog-author-image"&gt; 
     &lt;img loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/03/11/bharat-lakhiyani-author.jpg" alt="Bharat Lakhiyani" width="120" height="160" class="aligncenter size-full wp-image-29371"&gt; 
    &lt;/div&gt; 
    &lt;h3 class="lb-h4"&gt;Bharat Lakhiyani&lt;/h3&gt; 
    &lt;p&gt;Bharat is a senior solutions architect at AWS. With more than 12 years of experience spanning FinOps, cybersecurity, AI/ML, and enterprise architecture, he specializes in guiding travel and hospitality customers through their digital transformation journeys. Outside of work, Bharat enjoys baking, exploring new restaurants, driving scenic routes, and hiking the trails of North Carolina.&lt;/p&gt; 
   &lt;/div&gt; 
  &lt;/footer&gt;
 &lt;/div&gt; 
&lt;/div&gt;</content:encoded>
					
					
			
		
		
			</item>
		<item>
		<title>AWS European Sovereign Cloud achieves first compliance milestone: SOC 2 and C5 reports plus seven ISO certifications</title>
		<link>https://aws.amazon.com/blogs/security/aws-european-sovereign-cloud-achieves-first-compliance-milestone-soc-2-and-c5-reports-plus-seven-iso-certifications/</link>
					
		
		<dc:creator><![CDATA[Julian Herlinghaus]]></dc:creator>
		<pubDate>Tue, 10 Mar 2026 20:06:58 +0000</pubDate>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Europe]]></category>
		<category><![CDATA[Foundational (100)]]></category>
		<category><![CDATA[Security, Identity, & Compliance]]></category>
		<category><![CDATA[AWS Compliance]]></category>
		<category><![CDATA[AWS SOC 2]]></category>
		<category><![CDATA[C5]]></category>
		<category><![CDATA[Compliance reports]]></category>
		<category><![CDATA[Data protection]]></category>
		<category><![CDATA[Digital Sovereignty]]></category>
		<category><![CDATA[EU Data Protection]]></category>
		<category><![CDATA[European Union]]></category>
		<category><![CDATA[Security Blog]]></category>
		<guid isPermaLink="false">6a89217a2c2802e918da9baee6e814c3cd03c136</guid>

					<description>In January 2026, we announced the general availability of the AWS European Sovereign Cloud, a new, independent cloud for Europe entirely located within the European Union (EU), and physically and logically separate from all other AWS Regions. The unique approach of the AWS European Sovereign Cloud provides the only fully featured, independently operated sovereign cloud […]</description>
										<content:encoded>&lt;div class="Page-articleBody"&gt; 
 &lt;div class="RichTextArticleBody RichTextBody"&gt; 
  &lt;p&gt;In January 2026, we announced the general availability of the AWS European Sovereign Cloud, a new, independent cloud for Europe entirely located within the European Union (EU), and physically and logically separate from all other AWS Regions. The unique approach of the AWS European Sovereign Cloud provides the only fully featured, independently operated sovereign cloud backed by strong technical controls, sovereign assurances, and legal protections designed to meet the sensitive data needs of European governments and enterprises.&lt;/p&gt; 
  &lt;p&gt;One of the foundational components of how AWS European Sovereign Cloud enables verifiable trust of technical controls and delivers assurance is through our compliance programs and assurance frameworks. These programs help customers understand the robust controls in place at AWS European Sovereign Cloud to maintain security and compliance of the cloud. To meet the needs of our customers, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://www.aboutamazon.eu/news/aws/built-operated-controlled-and-secured-in-europe-aws-unveils-new-sovereign-controls-and-governance-structure-for-the-aws-european-sovereign-cloud" target="_blank" rel="noopener" data-cms-ai="0"&gt;we committed&lt;/a&gt;&lt;/span&gt; that the AWS European Sovereign Cloud will maintain key certifications such as &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/iso-27001-faqs/" target="_blank" rel="noopener" data-cms-ai="0"&gt;ISO/IEC 27001:2022&lt;/a&gt;&lt;/span&gt;, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/soc-faqs/" target="_blank" rel="noopener" data-cms-ai="0"&gt;System and Organization Controls (SOC)&lt;/a&gt;&lt;/span&gt; reports, and &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/bsi-c5/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Cloud Computing Compliance Criteria Catalogue (C5&lt;/a&gt;&lt;/span&gt;) attestation, all validated regularly by independent auditors to assure our controls are designed appropriately, operate effectively, and can help customers satisfy their compliance obligations.&lt;/p&gt; 
  &lt;p&gt;Today, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://www.aws.eu/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS European Sovereign Cloud&lt;/a&gt;&lt;/span&gt; is pleased to announce that &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/soc-faqs/" target="_blank" rel="noopener" data-cms-ai="0"&gt;SOC 2&lt;/a&gt;&lt;/span&gt; and &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/bsi-c5/" target="_blank" rel="noopener" data-cms-ai="0"&gt;C5&lt;/a&gt;&lt;/span&gt; Type 1 attestation reports, along with seven key ISO certifications (ISO &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/iso-27001-faqs/" target="_blank" rel="noopener" data-cms-ai="0"&gt;27001:2022,&lt;/a&gt;&lt;/span&gt; &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/iso-27017-faqs/" target="_blank" rel="noopener" data-cms-ai="0"&gt;27017:2015,&lt;/a&gt;&lt;/span&gt; &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/iso-27018-faqs/" target="_blank" rel="noopener" data-cms-ai="0"&gt;27018:2019&lt;/a&gt;&lt;/span&gt;, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/iso-27701-faqs/" target="_blank" rel="noopener" data-cms-ai="0"&gt;27701:2019&lt;/a&gt;&lt;/span&gt;, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/iso-22301-faqs/" target="_blank" rel="noopener" data-cms-ai="0"&gt;22301:2019&lt;/a&gt;&lt;/span&gt;, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/iso-20000-faqs/" target="_blank" rel="noopener" data-cms-ai="0"&gt;20000-1:2018&lt;/a&gt;&lt;/span&gt;, and &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/iso-9001-faqs/" target="_blank" rel="noopener" data-cms-ai="0"&gt;9001:2015&lt;/a&gt;&lt;/span&gt;) are now available. The attestation reports cover 69 AWS services operating within the AWS European Sovereign Cloud, while the certificates have integrated the AWS European Sovereign Cloud region into the global AWS Management Systems. This achievement marks a pivotal first step in our journey to establish the AWS European Sovereign Cloud as a trusted and compliant cloud for European organizations. By securing these foundational certifications and attestation reports early in our implementation, we are demonstrating our commitment to earning customer trust.&lt;b&gt; &lt;/b&gt;AWS European Sovereign Cloud customers in Germany and across Europe can now run their applications with enhanced assurance and confidence that our infrastructure aligns with internationally recognized security standards and the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/blogs/security/exploring-the-new-aws-european-sovereign-cloud-sovereign-reference-framework/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS European Sovereign Cloud: Sovereign Reference Framework (ESC-SRF)&lt;/a&gt;&lt;/span&gt;. These certifications and attestation reports provide independent validation of our security controls and operational practices, demonstrating our commitment to meeting the heightened expectations towards cloud service providers. Beyond compliance, these certifications and reports help customers meet regulatory requirements and innovate with confidence.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;&lt;b&gt;SOC 2 Type 1 report&lt;/b&gt;&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/soc-faqs/" target="_blank" rel="noopener" data-cms-ai="0"&gt;SOC&lt;/a&gt;&lt;/span&gt; reports are independent third-party examinations that show how AWS European Sovereign Cloud meets compliance controls and sovereignty objectives. The AWS European Sovereign Cloud SOC 2 report addresses three critical &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://www.aicpa-cima.com/topic/audit-assurance/audit-and-assurance-greater-than-soc-2" target="_blank" rel="noopener" data-cms-ai="0"&gt;AICPA Trust Services Criteria:&lt;/a&gt;&lt;/span&gt; Security, Availability, and Confidentiality and includes internal controls mapped to the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/blogs/security/exploring-the-new-aws-european-sovereign-cloud-sovereign-reference-framework/" target="_blank" rel="noopener" data-cms-ai="0"&gt;ESC-SRF&lt;/a&gt;&lt;/span&gt;. The ESC-SRF establishes sovereignty criteria across key domains including governance independence, operational control, data residency, and technical isolation. As part of the SOC 2 Type 1 attestation, independent third-party auditors have validated suitability of the design and implementation of our controls addressing measures such as independent European Union (EU) corporate structures, operation by EU-resident AWS personnel, strict residency requirements for Customer Content and Customer-Created Metadata, and separation from all other AWS Regions. The ESC-SRF controls in our SOC 2 report show customers how AWS delivers on its sovereignty commitments.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;&lt;b&gt;C5 Type 1 report&lt;/b&gt;&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/bsi-c5/" target="_blank" rel="noopener" data-cms-ai="0"&gt;C5 &lt;/a&gt;&lt;/span&gt;is a German Government-backed attestation scheme introduced in Germany by the Federal Office for Information Security (BSI) and represents one of the most comprehensive cloud security standards in Europe. The AWS European Sovereign Cloud C5 Type 1 report provides customers with independent third-party attestation on the suitability of the design and implementation of our controls to meet both &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://www.bsi.bund.de/SharedDocs/Downloads/EN/BSI/CloudComputing/ComplianceControlsCatalogue/2020/C5_2020.pdf?__blob=publicationFile&amp;amp;v=3" target="_blank" rel="noopener" data-cms-ai="0"&gt;C5 basic criteria and C5 additional criteria.&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; 
  &lt;p&gt;The basic criteria establish fundamental security requirements for cloud service providers, covering areas such as organization of information security, human resources security, asset management, access control, cryptography, physical security, operations security, communications security, system acquisition and development, supplier relationships, incident management, business continuity, and compliance. The additional criteria address enhanced requirements for handling sensitive data and critical applications, making this attestation particularly valuable for AWS European Sovereign Cloud customers with stringent data security and sovereignty requirements.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;&lt;b&gt;Key ISO certifications&lt;/b&gt;&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;AWS European Sovereign Cloud region has achieved successful onboarding to seven key ISO certifications that collectively demonstrate comprehensive operational excellence: &lt;/p&gt; 
  &lt;ul class="rte2-style-ul" id="rte-218a1b02-140f-11f1-a609-c72334c3427c"&gt; 
   &lt;li&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/iso-27001-faqs/" target="_blank" rel="noopener" data-cms-ai="0"&gt;ISO 27001:2022&lt;/a&gt;&lt;/span&gt; for information security management&lt;/li&gt; 
   &lt;li&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/iso-27017-faqs/" target="_blank" rel="noopener" data-cms-ai="0"&gt;ISO 27017:2015&lt;/a&gt;&lt;/span&gt; for cloud-specific security controls&lt;/li&gt; 
   &lt;li&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/iso-27018-faqs/" target="_blank" rel="noopener" data-cms-ai="0"&gt;ISO 27018:2019&lt;/a&gt;&lt;/span&gt; for personal data protection in cloud environments&lt;/li&gt; 
   &lt;li&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/iso-27701-faqs/" target="_blank" rel="noopener" data-cms-ai="0"&gt;ISO 27701:2019&lt;/a&gt;&lt;/span&gt; for privacy information management&lt;/li&gt; 
   &lt;li&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/iso-22301-faqs/" target="_blank" rel="noopener" data-cms-ai="0"&gt;ISO 22301:2019&lt;/a&gt;&lt;/span&gt; for business continuity and organizational resilience&lt;/li&gt; 
   &lt;li&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/iso-20000-faqs/" target="_blank" rel="noopener" data-cms-ai="0"&gt;ISO 20000-1:2018&lt;/a&gt;&lt;/span&gt; for IT service management&lt;/li&gt; 
   &lt;li&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/iso-9001-faqs/" target="_blank" rel="noopener" data-cms-ai="0"&gt;ISO 9001:2015&lt;/a&gt;&lt;/span&gt; for quality management&lt;/li&gt; 
  &lt;/ul&gt; 
  &lt;p&gt;These certifications confirm that AWS European Sovereign Cloud region has been integrated into comprehensive frameworks for managing security, privacy, continuity, service delivery, and quality, helping to ensure sensitive information remains secure, services remain available, and operations meet the highest standards through systematic risk management processes and continuous improvement practices.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;How to access the reports&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;To access SOC 2, C5 reports and ISO certifications, customers should sign in to their AWS European Sovereign Cloud account and navigate to &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/artifact/getting-started/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Artifact&lt;/a&gt;&lt;/span&gt; in the AWS Management Console. AWS Artifact is a self-service portal that provides on-demand access to AWS compliance reports and certifications.&lt;/p&gt; 
  &lt;p&gt;We recognize that compliance is not a destination but a continuous journey, and these initial SOC 2, C5 reports and ISO certifications represent the beginning of our certification portfolio. They lay the essential groundwork upon which we will continue to build to meet AWS European Sovereign Cloud customers’ compliance needs as they continue to evolve. As we expand our compliance coverage in the months ahead, customers can be confident that security, transparency, and regulatory alignment have been part of the very DNA of the AWS European Sovereign Cloud design from day one. To learn more about our compliance and security programs, visit &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.eu/compliance/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS European Sovereign Cloud Compliance&lt;/a&gt;&lt;/span&gt;, or reach out to your AWS European Sovereign Cloud account team.&lt;/p&gt; 
  &lt;p&gt;Security and compliance is a shared responsibility between AWS European Sovereign Cloud and the customer. For more information, see the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/shared-responsibility-model/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Shared Security Responsibility Model.&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; 
  &lt;p&gt;If you have feedback about this post, submit comments in the &lt;strong&gt;Comments&lt;/strong&gt; section below.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;footer&gt; 
    &lt;div class="blog-author-box"&gt; 
     &lt;div class="blog-author-image"&gt; 
      &lt;img loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/03/06/Julian-herling-author.jpg" alt="Julian Herlinghaus" width="120" height="160" class="aligncenter size-full wp-image-28160"&gt; 
     &lt;/div&gt; 
     &lt;h3 class="lb-h4"&gt;Julian Herlinghaus&lt;/h3&gt; 
     &lt;p&gt;Julian is a Manager in AWS Compliance &amp;amp; Security Assurance based in Berlin, Germany. He is the third-party audit program lead for EMEA and has worked on compliance and assurance for the AWS European Sovereign Cloud. He previously worked as an information security department lead of an accredited certification body and has multiple years of experience in information security and security assurance and compliance.&lt;/p&gt; 
     &lt;p&gt;&lt;/p&gt;
    &lt;/div&gt; 
    &lt;div class="blog-author-box"&gt; 
     &lt;div class="blog-author-image"&gt; 
      &lt;img loading="lazy" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2024/06/10/teajio.jpg" alt="Tea Jioshvili" width="120" height="160" class="aligncenter size-full wp-image-34490"&gt; 
     &lt;/div&gt; 
     &lt;h3 class="lb-h4"&gt;Tea Jioshvili&lt;/h3&gt; 
     &lt;p&gt;Tea is a Manager in AWS Compliance &amp;amp; Security Assurance based in Berlin, Germany. She leads various third-party audit programs across Europe. She previously worked in security assurance and compliance, business continuity, and operational risk management in the financial industry for 20 years.&lt;/p&gt; 
     &lt;p&gt;&lt;/p&gt;
    &lt;/div&gt; 
    &lt;div class="blog-author-box"&gt;
     &lt;img loading="lazy" class="alignleft size-full wp-image-33350" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2023/06/07/Atul-Patil.jpg" alt="Atul Patil" style="margin-left: 12px;margin-right:18px;margin-top: 12px;margin-bottom: 6px;width:93.750px;height: 125px"&gt;
     &lt;p&gt;&lt;/p&gt; 
     &lt;p&gt;&lt;span class="lb-h4" style="line-height: 0.5;padding-top: 0px"&gt;Atulsing Patil&lt;/span&gt;&lt;br&gt;Atulsing is a Compliance Program Manager at AWS. He has 29 years of consulting experience in information technology and information security management. Atulsing holds a Master of Science in Electronics degree and professional certifications such as CCSP, CISSP, CISM, ISO 42001 Lead Auditor, ISO 27001 Lead Auditor, HITRUST CSF, Archer Certified Consultant, and AWS CCP.&lt;/p&gt; 
    &lt;/div&gt; 
   &lt;/footer&gt; 
  &lt;/div&gt; 
 &lt;/div&gt; 
&lt;/div&gt;</content:encoded>
					
					
			
		
		
			</item>
		<item>
		<title>Security is a team sport: AWS at RSAC 2026 Conference</title>
		<link>https://aws.amazon.com/blogs/security/security-is-a-team-sport-aws-at-rsac-2026-conference/</link>
					
		
		<dc:creator><![CDATA[Idaliz Seymour]]></dc:creator>
		<pubDate>Tue, 10 Mar 2026 18:31:44 +0000</pubDate>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Security, Identity, & Compliance]]></category>
		<category><![CDATA[RSA]]></category>
		<guid isPermaLink="false">67d75140cbe36460321f0d574b1adc204fe3fb59</guid>

					<description>The RSAC 2026 Conference brings together thousands of professionals, practitioners, vendors, and associations to discuss issues covering the entire spectrum of cybersecurity—a place where innovation meets collaboration and the industry’s brightest minds converge to shape its future. This March, Amazon Web Services (AWS) returns to the annual RSAC Conference in San Francisco to share how […]</description>
										<content:encoded>&lt;div class="Page-articleBody"&gt; 
 &lt;div class="RichTextArticleBody RichTextBody"&gt; 
  &lt;p&gt;The RSAC 2026 Conference brings together thousands of professionals, practitioners, vendors, and associations to discuss issues covering the entire spectrum of cybersecurity—a place where innovation meets collaboration and the industry’s brightest minds converge to shape its future. This March, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Web Services (AWS)&lt;/a&gt;&lt;/span&gt; returns to the annual RSAC Conference in San Francisco to share how unifying security and data empowers teams to protect AI-driven workloads while maximizing existing security investments.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Experience innovation at the AWS booth&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Visit us at booth S-0466 in South Expo to experience three interactive demo kiosks:&lt;/p&gt; 
  &lt;ul class="rte2-style-ul" id="rte-2fd55302-11ad-11f1-80e8-db7e0778671c"&gt; 
   &lt;li&gt;&lt;b&gt;The AWS Security Solutions kiosk &lt;/b&gt;features live demonstrations of AWS security services including new launches showcasing the latest cloud security innovations and how they work with partner solutions to provide comprehensive protection for your organization. Meet with AWS Security Specialists to discuss your specific security challenges.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;The AWS Security Partners&lt;/b&gt; kiosk showcases live demos from more than 20 AWS Partners showcasing how these partners integrate seamlessly with AWS to address your most critical security challenges.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;The Humanoid Security Guardian kiosk &lt;/b&gt;offers an interactive AI-powered experience that generates customized well-architected framework guides, delivered through QR code for implementation reference.&lt;/li&gt; 
  &lt;/ul&gt; 
  &lt;p&gt;&lt;b&gt;Partner Passport program&lt;/b&gt;: Stop by the AWS booth to pick up your playbook to start exploring integrated AWS Partner security solutions across the show floor. Visit participating partner booths throughout the conference to learn about joint solutions that combine AWS infrastructure with partner innovations. After you’ve received all partner booth visit stamps, you’ll receive AWS swag and entry into a daily raffle to win an exclusive prize.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Beyond the booth: Deep dive sessions and hands-on workshops&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;AWS security experts will be sharing insights across four sessions throughout RSAC 2026 Conference. These sessions cover the most pressing challenges in AI security, from privacy-by-design principles to preparing for AI-native incidents. Don’t miss learning directly from AWS experts in these sessions.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Privacy by Design in the AI Era &lt;/b&gt;| &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://path.rsaconference.com/flow/rsac/us26/FullAgenda/page/catalog/session/1753972062517001Tbdn" target="_blank" rel="noopener" data-cms-ai="0"&gt;Reserve a seat&lt;/a&gt;&lt;/span&gt;&lt;br&gt;&lt;b&gt;Monday, March 23, 2026 | 8:30 AM–9:20 AM PDT&lt;/b&gt;&lt;br&gt; Attendees will learn how to design AI systems with privacy embedded from the start. This session will cover data minimization strategies, architectural patterns for consent-aware decision-making, and practical approaches for building privacy-respecting AI in dynamic environments. &lt;b&gt;Speakers&lt;/b&gt;: &lt;i&gt;Juan David Alvares Builes, Senior Security Consultant, Amazon Web Services and Zully Romero, Security and Solutions Architect, Bancolombia.&lt;/i&gt;&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Trusted Identity Propagation for Autonomous Agents Across Cloud &amp;amp; SaaS&lt;/b&gt; | &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://path.rsaconference.com/flow/rsac/us26/FullAgenda/page/catalog/session/1755548436040001CwbA" target="_blank" rel="noopener" data-cms-ai="0"&gt;Reserve a seat&lt;/a&gt;&lt;/span&gt;&lt;br&gt;&lt;b&gt;Monday, March 23, 2026 | 9:40 AM–10:30 AM PDT&lt;/b&gt;&lt;br&gt; This session will explore trusted identity propagation for autonomous agents across cloud, SaaS, and multi-domain environments. Compare AWS, Azure, Apple, and Cloudflare approaches, focusing on identity continuity, credential management, and privacy-aware designs for secure, agent-driven enterprise systems. &lt;b&gt;Speakers&lt;/b&gt;: &lt;i&gt;Swara Gandhi, Senior Solutions Architect, Amazon Web Services and Vijeth Lomada, Lead AI Engineer, Adobe.&lt;/i&gt;&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;How to Secure Containerized Applications from Supply Chain Attacks&lt;/b&gt; | &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://path.rsaconference.com/flow/rsac/us26/FullAgenda/page/catalog/session/1754579346244001BpZe" target="_blank" rel="noopener" data-cms-ai="0"&gt;Reserve a seat&lt;/a&gt;&lt;/span&gt;&lt;br&gt;&lt;b&gt;Monday, March 23, 2026 | 1:10 PM–2:00 PM PDT&lt;/b&gt;&lt;br&gt; Software supply chain attacks target development pipelines to inject malicious code into container images and dependencies. This session demonstrates how to secure containerized applications through automated scanning, Software Bill of Materials (SBOM) generation, and image signing. Learn to implement security controls in CI/CD pipelines using open-source and commercial solutions. &lt;b&gt;Speakers&lt;/b&gt;: &lt;i&gt;Patrick Palmer, Principal Security, Solutions Architect, Amazon Web Services and Monika Vu Minh, Quantitative Technologist, Qube Research &amp;amp; Technologies&lt;/i&gt;&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;From Prompt to Pager: Preparing for AI-Native Incidents Now | &lt;/b&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://path.rsaconference.com/flow/rsac/us26/FullAgenda/page/catalog/session/1756104001572001dI09" target="_blank" rel="noopener" data-cms-ai="0"&gt;Reserve a seat&lt;/a&gt;&lt;/span&gt;&lt;br&gt;&lt;b&gt;Wednesday, March 25, 2026 | 1:15 PM–2:05 PM PDT&lt;/b&gt;&lt;br&gt; AI incidents start as prompts and end as actions like code edits, SQL writes, workflow changes, yet most playbooks are not ready. This talk will explain why AI incidents differ, show where classic guardrails miss, and share field-tested steps to prepare now: log model-generated actions, add pre/post-conditions, capture provenance, limit blast radius, and rehearse one AI-native scenario. &lt;b&gt;Speaker&lt;/b&gt;: &lt;i&gt;Aviral Srivastava, Security Engineer, Amazon&lt;/i&gt;&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;&lt;b&gt;AWS activities and events&lt;/b&gt;&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;AWS will host events at Cloud Village, an interactive community space where security practitioners explore offensive and defensive cloud security through hands-on activities, technical talks, and collaborative discussions. AWS is hosting two technical workshops that provide hands-on practical skills security teams can implement immediately. AWS has also crafted multiple capture the flag (CTF) community challenges at both &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://www.cloud-village.org/rsa26" target="_blank" rel="noopener" data-cms-ai="0"&gt;RSAC 2026&lt;/a&gt;&lt;/span&gt; Conference and &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://bsidessf.org/ctf" target="_blank" rel="noopener" data-cms-ai="0"&gt;BSidesSF&lt;/a&gt;&lt;/span&gt; that advance the broader security community’s capabilities – built by the same team behind the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/security/vulnerability-reporting/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Vulnerability Disclosure Program&lt;/a&gt;&lt;/span&gt;, where researchers can responsibly report security concerns directly to AWS. Cloud Village will be located in Moscone South, Level 2, Room 204 and is open to All Access Pass and Expo Plus Pass holders.&lt;/p&gt; 
  &lt;p&gt;Finally, you can also join us at a customer soiree AWS is co-hosting with CrowdStrike, on Wednesday, March 25 at The Mint, for an evening of discovery, where artists, thinkers, and leaders gather to challenge convention, shape the future and have some fun. &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://events.crowdstrike.com/falconafterhoursatthesfmint/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Register to join us&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; 
  &lt;p&gt;If you’re looking for opportunities for meaningful connections across the security community, AWS is hosting several events including; &lt;/p&gt; 
  &lt;ul class="rte2-style-ul" id="rte-1b904632-18a0-11f1-92f2-959b7fb731d0"&gt; 
   &lt;li&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws-experience.com/amer/smb/e/7c318/aws-edge-startup-welcome-event" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Edge startup reception&lt;/a&gt;&lt;/span&gt; on Monday, March 23 at Movida in San Francisco&lt;/li&gt; 
   &lt;li&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://www.ocsfevents.com/breakfast" target="_blank" rel="noopener" data-cms-ai="0"&gt;OCSF networking breakfast&lt;/a&gt;&lt;/span&gt; on Wednesday, March 25 at the Intercontinental San Francisco&lt;/li&gt; 
  &lt;/ul&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;Join us in San Francisco&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Whether you’re exploring how to secure AI workloads, seeking to unify security across distributed environments, or looking to optimize your security data strategy, the AWS team at RSAC 2026 Conference is ready to collaborate. Visit booth S-0466 in South Expo, attend our technical workshops at the Cloud Village, or join AWS-led sessions. You can also schedule time to &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://awscustomerprograms.jifflenow.com/external-request/awsatrsac2026/meeting-request?token=54afde8c6f090b0af63f" target="_blank" rel="noopener" data-cms-ai="0"&gt;meet with AWS experts&lt;/a&gt;&lt;/span&gt; for more in-depth discussions. Together, we’ll demonstrate that when it comes to cybersecurity, we’re all on the same team.&lt;/p&gt; 
  &lt;p&gt;&lt;b&gt;Learn more about AWS Security solutions at &lt;/b&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="http://aws.amazon.com/security" target="_blank" rel="noopener" data-cms-ai="0"&gt;&lt;b&gt;aws.amazon.com/security&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;br&gt;&lt;i&gt;See you in San Francisco, March 23–26, 2026.&lt;/i&gt;&lt;/p&gt; 
  &lt;footer&gt; 
   &lt;div class="blog-author-box"&gt;
    &lt;img loading="lazy" class="alignleft size-full" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/03/09/Idaliz-Seymour-Author.jpg" alt="Idaliz Seymour" style="margin-left: 12px;margin-right:18px;margin-top: 12px;margin-bottom: 6px;width:93.750px;height: 125px"&gt;
    &lt;span class="lb-h4" style="line-height: 2.1em;padding-top: 12px;margin-top: 24px"&gt;Idaliz Seymour&lt;/span&gt;
    &lt;br&gt;Idaliz is a Product Marketing Manager at AWS Security, specializing in helping organizations understand the value of network and application protection in the cloud. In her free time, you’ll find her reading or boxing.
   &lt;/div&gt; 
  &lt;/footer&gt;
 &lt;/div&gt; 
&lt;/div&gt;</content:encoded>
					
					
			
		
		
			</item>
		<item>
		<title>AWS Security Hub is expanding to unify security operations across multicloud environments</title>
		<link>https://aws.amazon.com/blogs/security/aws-security-hub-is-expanding-to-unify-security-operations-across-multicloud-environments/</link>
					
		
		<dc:creator><![CDATA[Gee Rittenhouse]]></dc:creator>
		<pubDate>Tue, 10 Mar 2026 14:51:34 +0000</pubDate>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[AWS Security Hub]]></category>
		<category><![CDATA[Foundational (100)]]></category>
		<category><![CDATA[Security, Identity, & Compliance]]></category>
		<category><![CDATA[Security Blog]]></category>
		<guid isPermaLink="false">cd8d984ac965dc8fa0286042ccee99ff9c5d2fd8</guid>

					<description>After talking with many customers, one thing is clear: the security challenge has not gotten easier. Enterprises today operate across a complex mix of environments, including on-premises infrastructure, private data centers, and multiple clouds, often with tools that were never designed to work together. The result is enterprise security teams spend more time managing tools […]</description>
										<content:encoded>&lt;div class="Page-articleBody"&gt; 
 &lt;div class="RichTextArticleBody RichTextBody"&gt; 
  &lt;p&gt;After talking with many customers, one thing is clear: the security challenge has not gotten easier. Enterprises today operate across a complex mix of environments, including on-premises infrastructure, private data centers, and multiple clouds, often with tools that were never designed to work together. The result is enterprise security teams spend more time managing tools than managing risk, making it harder to stay ahead of threats across an increasingly complex environment.&lt;/p&gt; 
  &lt;p&gt;At &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Web Service (AWS)&lt;/a&gt;&lt;/span&gt;, we believe security should be simple, integrated, and built for the way enterprises actually operate. This belief is what drove us to reimagine &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/security-hub/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Security Hub&lt;/a&gt;&lt;/span&gt;, delivering full-stack security through a single experience, and this vision is driving our next chapter.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;&lt;b&gt;Building on a foundation of unified security&lt;/b&gt;&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;We transformed Security Hub into a &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/blogs/aws/aws-security-hub-now-generally-available-with-near-real-time-analytics-and-risk-prioritization/?trk=d8ec3b19-0f37-4f8c-8c12-189f913e205c&amp;amp;sc_channel=el" target="_blank" rel="noopener" data-cms-ai="0"&gt;unified security operations solution &lt;/a&gt;&lt;/span&gt;by bringing together AWS security services, including &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/guardduty" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon GuardDuty&lt;/a&gt;&lt;/span&gt;, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/inspector" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Inspector&lt;/a&gt;&lt;/span&gt;, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/security-hub/cspm/features/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Security Hub Cloud Security Posture Management (Security Hub CSPM)&lt;/a&gt;&lt;/span&gt;, and &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/macie" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Macie&lt;/a&gt;&lt;/span&gt;, into a single experience that automatically and continuously analyzes security signals across threats, vulnerabilities, misconfigurations, and sensitive data. Security Hub delivers a common foundation, bringing together findings from across your AWS environment so your security team spends less time translating signals and more time acting on them. Built on top of that foundation, a unified operations layer gives security teams near real-time risk analytics, automated analysis, and prioritized insights, helping them focus on what matters most, at scale.&lt;/p&gt; 
  &lt;p&gt;We also introduced new capabilities (&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/blogs/aws/aws-security-hub-extended-o%EF%AC%80ers-full-stack-enterprise-security-with-curated-partner-solutions/" target="_blank" rel="noopener" data-cms-ai="0"&gt;the Extended plan&lt;/a&gt;&lt;/span&gt;) that simplify how enterprises procure, deploy, and integrate a full-stack security solution across endpoint, identity, email, network, data, browser, cloud, AI, and security operations. Now, customers can use Security Hub to expand their security portfolio through a curated selection of AWS Partner solutions (at launch: 7AI, Britive, CrowdStrike, Cyera, Island, Noma, Okta, Oligo, Opti, Proofpoint, SailPoint, Splunk (a Cisco company), Upwind, and Zscaler), all through one unified experience. With AWS as the seller of record, you benefit from pay-as-you-go pricing, a single bill, and no long-term commitments. Our goal is simple: unified security, everywhere your enterprise operates.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;&lt;b&gt;Freedom to innovate, wherever your workloads are&lt;/b&gt;&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;At AWS, interoperability means giving customers the freedom to choose solutions that best suit their needs, and the ability to use them wherever their workloads run. But freedom to innovate across multicloud environments also means that it is critical to secure them consistently, and without adding operational complexity.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;&lt;b&gt;What’s coming for Security Hub&lt;/b&gt;&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;In the coming months, we are expanding Security Hub with new multicloud capabilities that extend unified security operations beyond AWS. The foundation of this expansion is a common data layer that unifies security signals from wherever your workloads run. On top of that, a unified policy and operations layer delivers consistent posture management, exposure analysis, and risk prioritization, so your security team operates from a single view of risk rather than a fragmented collection of consoles.&lt;/p&gt; 
  &lt;p&gt;Security Hub will deliver unified risk analytics that surface critical risks across your multicloud estate. You’ll be able to manage cloud security posture with Security Hub CSPM checks that give you consistent posture visibility, and extend vulnerability management with expanded Amazon Inspector capabilities, including virtual machine scanning, container image scanning, and serverless scanning. Security Hub will also deliver external network scanning that enriches security findings with context about internet-facing exposure across your multicloud environment, including for resources not running in AWS.&lt;/p&gt; 
  &lt;p&gt;The result is more comprehensive risk coverage across your enterprise. It’s about giving your security team a single, unified experience to detect and respond to risks, wherever you operate.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h2&gt;&lt;b&gt;Security as a business enabler&lt;/b&gt;&lt;/h2&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;The security leaders I speak with aren’t just asking for better tools. They’re asking for a way to get ahead of risk, not just manage it. They want security that keeps pace with the business, not security that slows it down.&lt;/p&gt; 
  &lt;p&gt;That’s the vision behind AWS Security Hub: unified security through a single, integrated security operations experience, built on a common data foundation, powered by intelligent analytics, and delivered through a consistent operations layer, to help reduce security risk, improve team productivity, and strengthen security operations across AWS and beyond.&lt;/p&gt; 
  &lt;p&gt;Our multicloud expansion is underway, and we are just getting started.&lt;/p&gt; 
  &lt;p&gt;You can learn more at &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/security-hub" target="_blank" rel="noopener" data-cms-ai="0"&gt;aws.amazon.com/security-hub&lt;/a&gt;&lt;/span&gt;, or visit us at the AWS booth (S-0466) at RSA Conference, March 23–26 in San Francisco.&lt;/p&gt; 
  &lt;p&gt;&lt;/p&gt;
 &lt;/div&gt; 
&lt;/div&gt; 
&lt;footer&gt; 
 &lt;div class="blog-author-box"&gt;
  &lt;img loading="lazy" class="alignleft size-full" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/03/09/Gee-Rittenhouse-Author.jpg" alt="Gee Rittenhouse" style="margin-left: 12px;margin-right:18px;margin-top: 12px;margin-bottom: 6px;width:93.750px;height: 125px"&gt;
  &lt;span class="lb-h4" style="line-height: 2.1em;padding-top: 12px;margin-top: 24px"&gt;Gee Rittenhouse&lt;/span&gt;
  &lt;br&gt;Gee is the Vice President of Security Services at AWS, overseeing key services including Security Hub, GuardDuty, and Inspector. He holds a PhD from MIT and brings extensive leadership experience across enterprise security and cloud. He previously served as CEO of Skyhigh Security and Senior Vice President and General Manager of Cisco’s Security Business Group, where he was responsible for Cisco’s worldwide cybersecurity business.
 &lt;/div&gt; 
&lt;/footer&gt;</content:encoded>
					
					
			
		
		
			</item>
		<item>
		<title>AWS completes the 2026 annual Dubai Electronic Security Centre (DESC) certification audit</title>
		<link>https://aws.amazon.com/blogs/security/aws-completes-the-2026-annual-dubai-electronic-security-centre-desc-certification-audit/</link>
					
		
		<dc:creator><![CDATA[Tariro Dongo]]></dc:creator>
		<pubDate>Thu, 05 Mar 2026 17:46:58 +0000</pubDate>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Foundational (100)]]></category>
		<category><![CDATA[Security, Identity, & Compliance]]></category>
		<category><![CDATA[Auditing]]></category>
		<category><![CDATA[AWS Compliance]]></category>
		<category><![CDATA[AWS security]]></category>
		<category><![CDATA[Compliance]]></category>
		<category><![CDATA[cybersecurity]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Security Blog]]></category>
		<guid isPermaLink="false">af3c942d20126055582b0268cd3e4f4d12370a1b</guid>

					<description>We’re excited to announce that Amazon Web Services (AWS) has completed the annual Dubai Electronic Security Centre (DESC) certification audit to operate as a Tier 1 Cloud Service Provider (CSP) for the AWS Middle East (UAE) Region. This alignment with DESC requirements demonstrates our continued commitment to adhere to the heightened expectations for CSPs. Government […]</description>
										<content:encoded>&lt;div class="Page-articleBody"&gt; 
 &lt;div class="RichTextArticleBody RichTextBody"&gt; 
  &lt;p&gt;We’re excited to announce that &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Web Services (AWS)&lt;/a&gt;&lt;/span&gt; has completed the annual &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://www.desc.gov.ae/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Dubai Electronic Security Centre (DESC)&lt;/a&gt;&lt;/span&gt; certification audit to operate as a Tier 1 Cloud Service Provider (CSP) for the AWS Middle East (UAE) Region.&lt;/p&gt; 
  &lt;p&gt;This alignment with DESC requirements demonstrates our continued commitment to adhere to the heightened expectations for CSPs. Government customers of AWS can run their applications in AWS Cloud-certified Regions with confidence.&lt;/p&gt; 
  &lt;p&gt;The AWS compliance to the DESC Framework requirements were validated by an independent third-party auditor (&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://www.bsigroup.com/" target="_blank" rel="noopener" data-cms-ai="0"&gt;BSI&lt;/a&gt;&lt;/span&gt;) prior to issuance of a renewed certificate by DESC. The updated DESC CSP certificate is available through &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/artifact/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Artifact&lt;/a&gt;&lt;/span&gt;, and is valid for one year to January 22, 2027. AWS Artifact is a self-service portal for on-demand access to AWS compliance reports. Sign in to &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://console.aws.amazon.com/artifact" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Artifact in the AWS Management Console&lt;/a&gt;&lt;/span&gt;, or learn more at &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/artifact/getting-started/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Getting Started with AWS Artifact&lt;/a&gt;&lt;/span&gt;.&lt;/p&gt; 
  &lt;p&gt;The certification includes the following 10 additional services in scope, for a total of 108 services:&lt;/p&gt; 
  &lt;ul class="rte2-style-ul" id="rte-a0042b06-0b46-11f1-8a45-cb3c0f3d8437"&gt; 
   &lt;li&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/elasticbeanstalk/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Elastic Beanstalk&lt;/a&gt;&lt;/span&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/managed-services/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Managed Services&lt;/a&gt;&lt;/span&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/resourceexplorer/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Resource Explorer&lt;/a&gt;&lt;/span&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/application-recovery-controller/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Application Recovery Controller&lt;/a&gt;&lt;/span&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/bedrock/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Bedrock (excludes Amazon Bedrock Marketplace)&lt;/a&gt;&lt;/span&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/inspector/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Inspector&lt;/a&gt;&lt;/span&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/prometheus/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Managed Service for Prometheus&lt;/a&gt;&lt;/span&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/quicksuite/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Quick Suite (formerly Amazon QuickSight)&lt;/a&gt;&lt;/span&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/ses/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Simple Email Service (Amazon SES)&lt;/a&gt;&lt;/span&gt;&lt;/li&gt; 
   &lt;li&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/verified-permissions/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Verified Permissions&lt;/a&gt;&lt;/span&gt;&lt;/li&gt; 
  &lt;/ul&gt; 
  &lt;p&gt;This is a 10% increase in the number of services in the Middle East (UAE) Region that are in scope of the DESC CSP certification.&lt;/p&gt; 
  &lt;p&gt;AWS strives to continuously bring services into the scope of its compliance programs to help you meet your architectural and regulatory needs. You can view the current list of services in scope on our &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/services-in-scope/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Services in Scope page&lt;/a&gt;&lt;/span&gt;. You can also reach out to your AWS account team if you have any questions or feedback about DESC compliance.&lt;/p&gt; 
  &lt;p&gt;To learn more about our compliance and security programs, see &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/programs/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Compliance Programs&lt;/a&gt;&lt;/span&gt;. As always, we value your feedback and questions; reach out to the AWS Compliance team through the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://pages.awscloud.com/compliance-contact-us.html" target="_blank" rel="noopener" data-cms-ai="0"&gt;Contact Us page&lt;/a&gt;&lt;/span&gt;.&lt;/p&gt; 
  &lt;p&gt;If you have feedback about this post, submit comments in the &lt;b&gt;Comments&lt;/b&gt; section below&lt;/p&gt; 
  &lt;footer&gt; 
   &lt;div class="blog-author-box"&gt;
    &lt;img loading="lazy" class="alignleft size-full" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2023/05/10/dongot.jpg" alt="Tariro Dongo" style="margin-left: 12px;margin-right:18px;margin-top: 12px;margin-bottom: 6px;width:93.750px;height: 125px"&gt;
    &lt;span class="lb-h4" style="line-height: 2.1em;padding-top: 12px;margin-top: 24px"&gt;Tariro Dongo&lt;/span&gt;
    &lt;br&gt;Tari is a Security Assurance Program Manager at AWS, based in London. Tari is responsible for third-party and customer audits, attestations, certifications, and assessments across EMEA. Previously, Tari worked in security assurance and technology risk in the big four and financial services industry over the last 15 years.
   &lt;/div&gt; 
  &lt;/footer&gt;
 &lt;/div&gt; 
&lt;/div&gt;</content:encoded>
					
					
			
		
		
			</item>
		<item>
		<title>2025 ISO and CSA STAR certificates are now available with one additional service and one new region</title>
		<link>https://aws.amazon.com/blogs/security/2025-iso-and-csa-star-certificates-are-now-available-with-one-additional-service-and-one-new-region/</link>
					
		
		<dc:creator><![CDATA[Chinmaee Parulekar]]></dc:creator>
		<pubDate>Thu, 05 Mar 2026 00:18:59 +0000</pubDate>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Foundational (100)]]></category>
		<category><![CDATA[Security, Identity, & Compliance]]></category>
		<category><![CDATA[AWS CSA STAR]]></category>
		<category><![CDATA[AWS CSA STAR Certificates]]></category>
		<category><![CDATA[AWS ISO]]></category>
		<category><![CDATA[AWS ISO Certificates]]></category>
		<category><![CDATA[Security Blog]]></category>
		<guid isPermaLink="false">2c837a01baebc14a8e08513da76edca3c98c1db1</guid>

					<description>Amazon Web Services (AWS) successfully completed the annual recertification audit with no findings for ISO 9001:2015, 27001:2022, 27017:2015, 27018:2019, 27701:2019, 20000-1:2018, 22301:2019, and Cloud Security Alliance (CSA) STAR Cloud Controls Matrix (CCM) v4.0. The objective of the audit was to enable AWS to expand their ISO and CSA STAR certifications to include one new AWS […]</description>
										<content:encoded>&lt;div class="Page-articleBody"&gt; 
 &lt;div class="RichTextArticleBody RichTextBody"&gt; 
  &lt;p&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Web Services (AWS)&lt;/a&gt;&lt;/span&gt; successfully completed the annual recertification audit with no findings for ISO &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/iso-9001-faqs/" target="_blank" rel="noopener" data-cms-ai="0"&gt;9001:2015&lt;/a&gt;&lt;/span&gt;, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/iso-27001-faqs/" target="_blank" rel="noopener" data-cms-ai="0"&gt;27001:2022&lt;/a&gt;&lt;/span&gt;, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/iso-27017-faqs/" target="_blank" rel="noopener" data-cms-ai="0"&gt;27017:2015&lt;/a&gt;&lt;/span&gt;, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/iso-27018-faqs/" target="_blank" rel="noopener" data-cms-ai="0"&gt;27018:2019&lt;/a&gt;&lt;/span&gt;, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/iso-27701-faqs/" target="_blank" rel="noopener" data-cms-ai="0"&gt;27701:2019&lt;/a&gt;&lt;/span&gt;, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/iso-20000-faqs/" target="_blank" rel="noopener" data-cms-ai="0"&gt;20000-1:2018&lt;/a&gt;&lt;/span&gt;, &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/iso-22301-faqs/" target="_blank" rel="noopener" data-cms-ai="0"&gt;22301:2019&lt;/a&gt;&lt;/span&gt;, and &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/csa/" target="_blank" rel="noopener" data-cms-ai="0"&gt;Cloud Security Alliance (CSA) STAR Cloud Controls Matrix (CCM) v4.0&lt;/a&gt;&lt;/span&gt;. The objective of the audit was to enable AWS to expand their ISO and CSA STAR certifications to include one new AWS Region and one new AWS service to the scope. The ISO standards cover areas including quality management, information security, cloud security, privacy protection, service management, and business continuity. The certifications demonstrate the commitment of AWS to maintaining robust security controls and protecting customer data across our services.&lt;/p&gt; 
  &lt;p&gt;As part of this recertification audit, one new Region [Asia Pacific (Taipei)] and one new service (AWS Deadline Cloud) were added into the scope since the last certification issued November 25, 2025.&lt;/p&gt; 
  &lt;ul class="rte2-style-ul" id="rte-51a6f922-f7f9-11f0-beee-c91d397eccb1"&gt; 
   &lt;li&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/deadline-cloud/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Deadline Cloud&lt;/a&gt;&lt;/span&gt;&lt;/li&gt; 
  &lt;/ul&gt; 
  &lt;p&gt;For a full list of AWS services that are certified under ISO and CSA Star, see the &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/iso-certified/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS &lt;/a&gt;&lt;/span&gt;&lt;br&gt;&lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/compliance/iso-certified/" target="_blank" rel="noopener" data-cms-ai="0"&gt;ISO and CSA STAR Certified&lt;/a&gt;&lt;/span&gt; page.&lt;br&gt; Customers can also access the certifications in the AWS Management Console through &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/artifact/" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Artifact&lt;/a&gt;&lt;/span&gt;.&lt;/p&gt; 
  &lt;p&gt;If you have feedback about this post, submit comments in the Comments section below.&lt;/p&gt; 
  &lt;p&gt;&lt;/p&gt;
 &lt;/div&gt; 
&lt;/div&gt; 
&lt;footer&gt; 
 &lt;div class="blog-author-box"&gt; 
  &lt;div class="blog-author-image"&gt;
   &lt;img loading="lazy" class="aligncenter size-full wp-image-33923" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2024/04/15/chinmaep.jpg" alt="Chinmaee Parulekar" width="120" height="160"&gt;
  &lt;/div&gt; 
  &lt;h3 class="lb-h4"&gt;Chinmaee Parulekar&lt;/h3&gt; 
  &lt;p&gt;Chinmaee is a Compliance Program Manager at AWS. She has 6 years of experience in information security. Chinmaee holds a Master of Science degree in Management Information Systems and professional certifications such as CISA, HITRUST CCSF practitioner.&lt;/p&gt; 
 &lt;/div&gt; 
&lt;/footer&gt; 
&lt;footer&gt; 
 &lt;div class="blog-author-box"&gt;
  &lt;img loading="lazy" class="alignleft size-full wp-image-33350" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2023/06/07/Atul-Patil.jpg" alt="Atul Patil" style="margin-left: 12px;margin-right:18px;margin-top: 12px;margin-bottom: 6px;width:93.750px;height: 125px"&gt;
  &lt;p&gt;&lt;/p&gt; 
  &lt;p&gt;&lt;span class="lb-h4" style="line-height: 0.5;padding-top: 0px"&gt;Atulsing Patil&lt;/span&gt;&lt;br&gt;Atulsing is a Compliance Program Manager at AWS. He has 27 years of consulting experience in information technology and information security management. Atulsing holds a Master of Science in Electronics degree and professional certifications such as CCSP, CISSP, CISM, CDPSE, ISO 27001 Lead Auditor, HITRUST CSF, ISO 42001 Lead Auditor, Archer Certified Consultant, and AWS CCP.&lt;/p&gt; 
 &lt;/div&gt; 
&lt;/footer&gt;</content:encoded>
					
					
			
		
		
			</item>
		<item>
		<title>Enhanced access denied error messages with policy ARNs</title>
		<link>https://aws.amazon.com/blogs/security/enhanced-access-denied-error-messages-with-policy-arns/</link>
					
		
		<dc:creator><![CDATA[Stella Hie]]></dc:creator>
		<pubDate>Wed, 04 Mar 2026 17:19:23 +0000</pubDate>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[AWS Identity and Access Management (IAM)]]></category>
		<category><![CDATA[Foundational (100)]]></category>
		<category><![CDATA[Security, Identity, & Compliance]]></category>
		<category><![CDATA[Security Blog]]></category>
		<guid isPermaLink="false">d1b0a69fb6cf50dac614b549a4b488735485161c</guid>

					<description>To help you troubleshoot access denied errors, we recently added the Amazon Resource Name (ARN) of the denying policy to access denied error messages. This builds on our 2021 enhancement that added the type of the policy denying the access to access denied error messages. The ARN of the denying policy is only provided in […]</description>
										<content:encoded>&lt;div class="Page-articleBody"&gt; 
 &lt;div class="RichTextArticleBody RichTextBody"&gt; 
  &lt;p&gt;To help you troubleshoot access denied errors, we recently added the Amazon Resource Name (ARN) of the denying policy to access denied error messages. This builds on our &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/blogs/security/aws-introduces-changes-to-access-denied-errors-for-easier-permissions-troubleshooting/" target="_blank" rel="noopener" data-cms-ai="0"&gt;2021 enhancement&lt;/a&gt;&lt;/span&gt; that added the type of the policy denying the access to access denied error messages. The ARN of the denying policy is only provided in same-account and same-organization scenarios. This change is gradually rolling out across all AWS services in all AWS Regions.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;What changed?&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;We added the policy ARN to access denied error messages for &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/iam" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Identity and Access Management (IAM)&lt;/a&gt;&lt;/span&gt; and &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/organizations" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Organizations&lt;/a&gt;&lt;/span&gt; policies. Because of this change, you can now pinpoint the exact policy causing the denial. You don’t have to evaluate all the policies of the same type in your AWS environment to identify the culprit. The policy types covered in this update are service control policies (SCPs), resource control policies (RCPs), permissions boundaries policies, session policies, and identity-based policies.&lt;/p&gt; 
  &lt;p&gt;For example, when a developer attempts to perform the &lt;code class="CodeInline" style="color: #000"&gt;ListRoles&lt;/code&gt; action in IAM and is denied because of an SCP:&lt;/p&gt; 
  &lt;p&gt;Before:&lt;br&gt;&lt;code class="CodeInline" style="color: #000"&gt;An error occurred (AccessDenied) when calling the ListRoles operation: User: arn:aws:iam::123456789012:user/Matt is not authorized to perform: iam:ListRoles on resource: arn:aws:iam::123456789012:role/* with an explicit deny in a service control policy&lt;/code&gt;&lt;/p&gt; 
  &lt;p&gt;Enhanced:&lt;br&gt;&lt;code class="CodeInline" style="color: #000"&gt;An error occurred (AccessDenied) when calling the ListRoles operation: User: arn:aws:iam::123456789012:user/Matt is not authorized to perform: iam:ListRoles on resource: arn:aws:iam::123456789012:role/* with an explicit deny in a service control policy: arn:aws:organizations::987654321098:policy/o-qv5af4abcd/service_control_policy/p-2kgnabcd&lt;/code&gt;&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;How this enhancement works&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;This enhancement is designed with three principles:&lt;/p&gt; 
  &lt;ul class="rte2-style-ul" id="rte-959c7111-0ea0-11f1-b317-f740e8a52705"&gt; 
   &lt;li&gt;&lt;b&gt;Limited scope – Same account and same organization only&lt;/b&gt;: Policy ARNs are only included when the request originates from either the same AWS account or the same organization as the policy. This limits the scope of the flow of information.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;Additional context in the form of ARN only and not policy content&lt;/b&gt;:&lt;b&gt; &lt;/b&gt;The additional context covers only the policy ARN, which is a resource identifier, not the policy document itself. It does not reveal the policy’s permissions or conditions that you would have to update to grant access. Users would still need appropriate permissions to read the policy content or take actions.&lt;/li&gt; 
   &lt;li&gt;&lt;b&gt;No change to authorization logic&lt;/b&gt;:&lt;b&gt; &lt;/b&gt;This enhancement only affects the error message displayed, not the authorization decision-making process. The same policies deny or allow access as before, and we are not changing how the decision is made.&lt;/li&gt; 
  &lt;/ul&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;How this benefits you&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;This accelerates troubleshooting across your organization. Previously, when you received an access denied error from a policy, for example an SCP, you had to review all SCPs in your organization, determine which applied to the account, and evaluate each one—a process that could take time. Now, with the specific SCP ARN included in the error message, whoever has the necessary permission can review the identified SCP and more quickly resolve the issue. This precision reduces the investigative burden. Clear error messages with policy ARNs also improve communication between teams who need access and teams who troubleshoot issues by providing a common reference point, eliminating ambiguity and reducing back-and-forth communication. Lastly, when validating security controls, the policy ARN in access denied errors provides immediate confirmation of which policy is enforcing the restriction, enabling customers to quickly verify their policies are correctly denying access.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;How you can use the new information&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;Let’s say you’re trying to describe your &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://aws.amazon.com/rds" target="_blank" rel="noopener" data-cms-ai="0"&gt;Amazon Relational Database Service (Amazon RDS)&lt;/a&gt;&lt;/span&gt; snapshots in the us-east-2 Region by calling this API:&lt;br&gt;&lt;code class="CodeInline" style="color: #000"&gt;aws rds describe-db-snapshots --region us-east-2&lt;/code&gt;&lt;/p&gt; 
  &lt;p&gt;Unfortunately you get an access denied error. The error message shows:&lt;br&gt;&lt;code class="CodeInline" style="color: #000"&gt;An error occurred (AccessDenied) when calling the DescribeDBSnapshots operation: User: arn:aws:sts::123456789012:assumed-role/ReadOnly/ReadOnlySession is not authorized to perform: rds:DescribeDBSnapshots on resource: arn:aws:rds:us-east-2:123456789012:snapshot:* with an explicit deny in a service control policy: arn:aws:organizations::987654321098:policy/o-qv5af4abcd/service_control_policy/p-lvi9abcd&lt;/code&gt;&lt;/p&gt; 
  &lt;p&gt; You can see the context to understand what happens: &lt;/p&gt; 
  &lt;ul class="rte2-style-ul" id="rte-ca95cc00-0cd8-11f1-a041-272e6ecfdd5f"&gt; 
   &lt;li&gt;It’s an explicit deny. This means there’s a policy that denies this action for a specific context&lt;/li&gt; 
   &lt;li&gt;The deny comes from the SCP with this ARN: &lt;code class="CodeInline" style="color: #000"&gt;arn:aws:organizations::987654321098:policy/o-qv5af4abcd/service_control_policy/p-lvi9abcd&lt;/code&gt;&lt;/li&gt; 
  &lt;/ul&gt; 
  &lt;p&gt;Here’s how you can troubleshoot this error:&lt;/p&gt; 
  &lt;ol class="rte2-style-ol" id="rte-ca95cc01-0cd8-11f1-a041-272e6ecfdd5f" start="1"&gt; 
   &lt;li&gt;Ensure you have necessary permission to view the SCP. If you don’t, contact your administrator and provide the message that includes the policy ARN.&lt;/li&gt; 
   &lt;li&gt;If you have the necessary permission, go to the AWS Management Console for AWS Organizations to access the SCP.&lt;/li&gt; 
   &lt;li&gt;Check for a &lt;code class="CodeInline" style="color: #000"&gt;Deny&lt;/code&gt; statement for the action. In the preceding example, the action is &lt;code class="CodeInline" style="color: #000"&gt;rds:DescribeDBSnapshots&lt;/code&gt;.&lt;/li&gt; 
   &lt;li&gt;You can alter the statement to remove the &lt;code class="CodeInline" style="color: #000"&gt;Deny&lt;/code&gt; if it’s no longer applicable. For more information, see &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_policies_update.html#update_policy" target="_blank" rel="noopener" data-cms-ai="0"&gt;Update a service control policy (SCP)&lt;/a&gt;&lt;/span&gt;.&lt;/li&gt; 
   &lt;li&gt;Re-try your operation. Repeat the troubleshooting process if you get other access denied errors due to different reasons or policies.&lt;/li&gt; 
  &lt;/ol&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;When will this change become available?&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;This update is gradually rolling out across all AWS services in all AWS Regions, beginning early 2026.&lt;/p&gt; 
  &lt;div class="RichTextHeading"&gt; 
   &lt;h3&gt;Need more assistance?&lt;/h3&gt; 
   &lt;p&gt;&lt;/p&gt;
  &lt;/div&gt; 
  &lt;p&gt;If you have any questions or issues, contact &lt;span class="LinkEnhancement"&gt;&lt;a class="Link" href="https://console.aws.amazon.com/support/home" target="_blank" rel="noopener" data-cms-ai="0"&gt;AWS Support&lt;/a&gt;&lt;/span&gt; or your Technical Account Manager (TAM).&lt;/p&gt; 
  &lt;p&gt;&lt;/p&gt;
 &lt;/div&gt; 
&lt;/div&gt; 
&lt;footer&gt; 
 &lt;div class="blog-author-box"&gt; 
  &lt;div class="blog-author-image"&gt;
   &lt;img loading="lazy" class="aligncenter size-full wp-image-25308" src="https://d2908q01vomqb2.cloudfront.net/22d200f8670dbdb3e253a90eee5098477c95c23d/2026/02/24/Stella-hie-author.jpg" alt="Stella Hie" width="107" height="160"&gt;
  &lt;/div&gt; 
  &lt;h3 class="lb-h4"&gt;Stella Hie&lt;/h3&gt; 
  &lt;p&gt;Stella is a Senior Technical Product Manager for AWS Identity and Access Management (IAM). She specializes in improving developer experience and tooling while maintaining strong security standards. Her work focuses on making IAM straightforward to use and improving the troubleshooting experience for AWS customers. In her free time, she enjoys playing piano and bouldering. &lt;/p&gt;
 &lt;/div&gt; 
&lt;/footer&gt;</content:encoded>
					
					
			
		
		
			</item>
	</channel>
</rss>