TLDRocket
Sign in

Build multi-tenant agentic chat applications on enterprise data with Amazon Bedrock Managed Knowledge Base

Amazon Web Services George Belsian Covered by 2 sources

AWS built a Bedrock setup for chat over user files, with tenant isolation baked in. It handles upload, indexing, and retrieval so one user’s docs don’t leak into another’s results.

Based on reporting by Amazon Web Services, George Belsian — read the original for the full story.

Summary, retelling and take written by AI under human oversight; images are AI-generated illustrations. How we work · Report an error

AWS is pitching a cleaner way to build one of the messier enterprise features: a chat app that lets each user upload documents, ask questions, and keep their data to themselves. The hard part isn’t the chat box. It’s everything behind it — ingestion, indexing, retrieval, and the rule that one tenant’s files must never show up in another tenant’s answers.

The reference architecture uses Amazon Bedrock Managed Knowledge Base as the center of gravity. It handles ingestion, storage, embedding, ranking, and the agentic retrieval workflow, including multi-hop queries when a question needs to be broken into smaller parts. The app itself keeps to the product-specific work: sign-in, upload UI, authentication, and whatever business logic sits around the edges.

Uploads go through Amazon Cognito, API Gateway, Lambda, SQS, DynamoDB, and S3. The user’s JWT is validated by API Gateway, then the server derives identity from that token rather than trusting anything the client sends. Files up to 6 MB go inline; larger ones are staged in S3, with the SQS message carrying the S3 URI. A worker Lambda tags each document with a user_id from the caller’s Cognito sub, sends it to the knowledge base, and records status in DynamoDB so the browser can show received, processing, and ready without a refresh.

The indexing lifecycle matters here because a document is not instantly searchable just because the upload succeeded. The knowledge base returns STARTING, then PENDING, then IN_PROGRESS, then TEXT_INDEXED, and finally INDEXED. Text becomes queryable at TEXT_INDEXED, while PDFs and other multimodal files only become fully available at INDEXED. AWS says plain text in its own testing became queryable in 2 to 3 seconds, while PDFs took 5 to 30 seconds for text and about 90 seconds to finish fully.

For isolation, the app filters every query on user_id, with the filter value built on the server from the verified JWT. That’s the actual boundary, not whatever the user typed into a request body. AWS also points out that a shared knowledge base is the better fit for lots of end users, while separate knowledge bases still make sense for a small number of large tenants that need harder separation. Either way, the pitch is the same: let Bedrock do the retrieval plumbing, and stop rebuilding a tiny search engine every time someone wants document chat.

My take — AI-written commentary, not fact-checked reporting

This is the boring enterprise AI people should ask for more often: less demo glitter, more permission checks. Open or closed model arguments matter less here than the unglamorous part — if the tenant filter isn’t real, the whole thing is a lawsuit with a chatbot face. The industry keeps trying to sell magic; customers usually just need the lock on the filing cabinet to work.

Read more about this at: Amazon Web Services

Related stories

The daily briefing

Every AI story that matters, in your inbox by 8am.

TLDRocket reads all relevant sources, removes duplicate coverage, and summarises the day in two minutes. Follow companies and topics for alerts, or get the briefing in Slack. Free, no spam, unsubscribe anytime.