aegis-bedrock
⚠️ Sprint 25 freeze (2026-06-26):
aegis-bedrockis now maintenance-only. The Aegis team has narrowed focus to a single hero SDK,aegis-anthropic, while we drive design-partner revenue.aegis-bedrockcontinues to receive security patches but no new features until further notice. The drop-in Bedrock contract below remains fully supported against the canonical/executeAPI; you can keep using it in production.
AWS Bedrock Agents governance middleware for Aegis ACP. Intercepts
invoke_agent action-group calls and consults Aegis /execute before any
tool runs — same SDK contract as aegis-anthropic and aegis-openai.
Install
pip install "aegis-bedrock[bedrock]"
Use
Drop-in replacement for boto3.client("bedrock-agent-runtime"):
from aegis_bedrock import AegisBedrockAgentRuntime
client = AegisBedrockAgentRuntime(
aegis_key="acp_…",
aegis_url="https://aegisagent.in",
tenant_id="00000000-0000-0000-0000-000000000001",
agent_id="<your-aegis-agent-id>",
region_name="us-east-1", # standard boto3 kwarg
)
response = client.invoke_agent(
agentId="…",
agentAliasId="…",
sessionId="…",
inputText="Find the customer that owes the most.",
)
Every Bedrock action-group invocation is checked by Aegis before the underlying lambda fires. Blocked actions are replaced with a text-only response explaining the denial; the buyer's Bedrock agent sees a clean governance message instead of a side-effecting tool call.
What Aegis governs
| Bedrock primitive | Aegis maps to | Notes |
|---|---|---|
| Action group invocation | tool.<action_name> |
arguments = the JSON parameter block |
| Knowledge-base query | tool.kb_search |
arguments = {query, retrievalConfiguration} |
| Code-interpreter call | tool.python_exec |
arguments.code is the Python body |
The same per-tool ALLOW grants you've already configured for your Aegis agent are honoured by Bedrock calls — no separate Bedrock permission model.
Standard wrapper guarantees
- Verdicts are pre-checked. A blocked tool never invokes the lambda / knowledge base / interpreter.
- HTML 403 (WAFv2) surfaces as
findings=["waf_blocked"], same as the other SDKs. - JSON parse / network errors fail closed (
action="deny").
Metadata
Release files for aegis-bedrock 1.1.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aegis_bedrock-1.1.7.tar.gz | 11.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aegis_bedrock-1.1.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.9 kB
Release files / aegis_bedrock-1.1.7.tar.gz
| Download URL | aegis_bedrock-1.1.7.tar.gz |
|---|---|
| Size | 11.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b81486bade68ed598d0e29dcfec280daff3731ab60c4533ac0657e5545c39fef
|
|
BLAKE2b-256 checksum How to use checksums |
60fb8fea4095ce9804a23c7049342779b71b43b0762121d935e329883f9dbf53
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.5
|
Release files / aegis_bedrock-1.1.7-py3-none-any.whl
| Download URL | aegis_bedrock-1.1.7-py3-none-any.whl |
|---|---|
| Size | 12.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
413393912ed24908f522ce4077bbdb4c127ead7cf0c904269b8077efd97de60a
|
|
BLAKE2b-256 checksum How to use checksums |
22afef85bec10941fb0ab6e545dbfbd5f29fb4f7815a3f094cdbfdd95a43014f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.5
|