← AWS Security Specialty: evidence-based security
24 / 25 · 100 MIN

Guardrails and application access

Evaluate what is inspected, when it is delivered, and which policies and paths permit access.

1. Separate query, source, and response

In a fictional APS assistant, the answer should help an operator interpret a runbook. Contextual grounding compares the answer with the source and query: a fact may be correct in the document yet answer about the wrong service. Supply all three components and test contradictory, irrelevant, and useful answers. The threshold is minimum confidence, not a certified accuracy percentage; increasing it may block more legitimate answers. Documentation limits supported use cases and does not promise universal conversational QA or chatbot coverage. At the committee, present evaluation-set results and application limitations. Avoid turning a short demonstration into a guarantee about every future conversation.

2. Define when text may leave

In synchronous streaming, chunks are inspected before delivery; in asynchronous mode they may reach the client while evaluation runs. Blocking subsequent chunks does not erase what was received. If the requirement forbids delivery before inspection, latency choices must respect that boundary. Sensitive-information masking is unsupported in asynchronous mode. In addition to streaming mode, check the filter action: NONE returns detection without blocking. Build acceptance testing around what the client actually receives rather than only the backend detection event. Also record latency and blocked legitimate answers so security and experience are evaluated against the same configuration version.

3. Delimit input and control tools

In the Invoke APIs, the prompt-attack filter requires input tags. Use a fresh random suffix per request to reduce the chance that a user closes a predictable delimiter and places content outside the evaluated area. Do not confuse this specific rule with the Converse integration. Content filtering also has limits in tool structures: it does not validate toolUse.input. An executor changing infrastructure must validate schema, resource, operation, and operator authorization before acting. The team can keep the pilot advisory while building those controls. Include syntactically valid but unauthorized arguments in tests and confirm that the executor rejects them without depending on the explanation produced by the model.

4. Demonstrate policy combination

Verified Access evaluates trust data using Cedar policies. Within a document, an applicable permit and no applicable forbid are required. When both group and endpoint have documents, both must allow. When no endpoint document exists, the group decision applies. Creating resources without any policy does not open a free-access phase. Syntax acceptance also does not confirm that condition attributes match trust-provider data. Build a matrix of allowed and denied identity and device contexts. This lesson local code models only the Boolean combination of already computed decisions; it does not interpret Cedar or authenticate people. It helps explain why a broad endpoint permit does not remove the group requirement.

5. Follow the private path to the service

With an interface endpoint, DNS, connectivity, and authorization need different evidence. Private DNS allows the usual regional hostname to resolve to private interfaces in the VPC when required DNS settings are enabled. An endpoint-specific name can resolve publicly to private addresses; that does not create connectivity from the internet. If the application times out, check source, port, interface security group, NACL, and path. Do not use failed ping as the final diagnosis: interface endpoints do not answer ICMP. Test the expected port and then an authenticated request, preserving TLS validation. During handover, provide results per relevant subnet and identify the calling identity so administrative success is not confused with actual application permissions.

6. Rehearse failures and record limits

An application in two AZs still depends on one AZ when the endpoint exists only there. Distribute interfaces and rehearse client behavior, resolution, and recovery. For the assistant, also rehearse the path where the tool rejects an operation, the filter blocks an answer, and latency exceeds its budget. Define who receives alerts and what the operator sees without exposing sensitive content. The acceptance report must distinguish authorization, network reachability, text inspection, and tool authorization. None of these proofs replaces all the others. Summarize version, executed scenarios, expected negative results, and recovery procedures before handing daily operation to the RUN team.

# Original decision-combination model, not a Cedar evaluator.
# No credentials, network calls, or AWS changes.
def allow(group, endpoint=None):
 return group and (endpoint is None or endpoint)
assert allow(True, True) is True
assert allow(False, True) is False
assert allow(True, False) is False
assert allow(True) is True
assert allow(False) is False
print('five policy-combination cases passed; no identity was authenticated')
IN PRACTICE

Acceptable response text accompanies arguments attempting to change a resource outside the operator scope.

Common pitfalls

Detection as blocking; streaming as revocation; syntax as correct policy; DNS as connectivity.

Related topics: Evidence and operational acceptance · Security and continuity

Take this idea with you

Validate each boundary using the actual identity, content, and path of the use case.

Create account

Reference: Contextual grounding checks · SCS-C03

AWS is a trademark of Amazon.com, Inc. or its affiliates. bigsavant.com is an independent preparation platform and is not affiliated with, associated with, sponsored, authorised or endorsed by AWS. Content and questions are original, are not official exam questions, and completing our tests does not award or guarantee any certification. Names are used only to identify the subject. All other trademarks belong to their respective owners.