-
Notifications
You must be signed in to change notification settings - Fork 2
Add concepts doc for Intelligent Assessment control. #360
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
da29414
Add concepts doc for Intelligent Assessment.
SumitPopat 77e8fc7
Update docs/concepts/guardrails/index.md
SumitPopat 69c7165
Update header
SumitPopat e2d2883
Update docs/concepts/guardrails/intelligent-assessment.md
SumitPopat 53a3ecc
Addressed review comments.
SumitPopat 712bdac
minor fixes.
SumitPopat File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
--- | ||
title: Intelligent Assessment Guardrails | ||
sidebar_label: Intelligent Assessment | ||
--- | ||
|
||
# Intelligent Assessment Guardrails | ||
|
||
## Overview | ||
|
||
**Intelligent Assessment** introduces an AI-powered way to define and evaluate governance policies in Turbot Guardrails. | ||
|
||
Instead of crafting complex calculated policies, you can describe the check you want — in plain natural language — and let Guardrails interpret and check it. | ||
|
||
This unlocks flexible, free-form compliance use cases that would otherwise require significant coding or multiple traditional guardrails. | ||
|
||
Intelligent Assessment is complementary to existing controls (e.g., **Approved** and **Active**). | ||
|
||
Where those controls rely on structured sub-policies, Intelligent Assessment excels when you need bespoke logic, conditional checks, or multi-step reasoning. | ||
|
||
The primary Intelligent Assessment policy has a consistent form: | ||
`{provider} > {service} > {resource} > Intelligent Assessment` | ||
|
||
<div className="example"> | ||
<ul> | ||
<li><code>AWS > S3 > Bucket > Intelligent Assessment</code></li> | ||
<li><code>AWS > SNS > Topic > Intelligent Assessment</code></li> | ||
<li><code>AWS > EC2 > Instance > Intelligent Assessment</code></li> | ||
</ul> | ||
</div> | ||
|
||
The Intelligent Assessment guardrail and policy have a number of sub-settings to determine the | ||
attributes of the assessment. The format of these policy types is | ||
`{provider} > {service} > {resource} > Intelligent Assessment > {Items}`: | ||
|
||
``` | ||
{provider} > {service} > {resource} > Intelligent Assessment > Context | ||
{provider} > {service} > {resource} > Intelligent Assessment > User Prompt | ||
``` | ||
|
||
The `Context` sub-policy includes the resource metadata by default but can be updated to include additional data. | ||
The `User Prompt` sub-policy is where you would define a prompt to assess the resource. | ||
|
||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Can we add info on what the AI model will output as part of evaluation, e.g., state (describe what states are possible and when they appear) and reason (typically a short response of the evaluation) |
||
As part of the evaluation, the AI provider will respond with `State` and `Reason`. | ||
|
||
The `State` attribute is either: | ||
|
||
- `OK` - Evaluation matches the given user prompt | ||
- `Alarm` - Evaluation does not match the given user prompt | ||
- `Error` - User prompt is empty or AI cannot determine the outcome based on the user prompt and context | ||
|
||
### Example Guardrail: AWS > S3 > Bucket > Intelligent Assessment | ||
|
||
The `AWS > S3 > Bucket > Intelligent Assessment` policy determines the action to take on a resource. You can set the policy to skip (don't run at all), or to check whether the resource is compliant per the user prompt. | ||
|
||
The Intelligent Assessment sub-policies allow you to set the context and the user prompt: | ||
|
||
<div className="example"> | ||
<ul> | ||
<li><code>AWS > S3 > Bucket > Intelligent Assessment > Context</code></li> | ||
<li><code>AWS > S3 > Bucket > Intelligent Assessment > User Prompt</code></li> | ||
</ul> | ||
</div> | ||
|
||
Let's assume that an S3 bucket has tags `"Environment": "Non-Compliant Tag"`, and has versioning disabled. | ||
|
||
```yaml | ||
Tags: | ||
- Key: Environment | ||
Value: Non-Compliant Tag | ||
Versioning: | ||
MFADelete: Disabled | ||
Status: Suspended | ||
``` | ||
|
||
To check if the bucket has the correct `Environment` tag value and has versioning enabled: | ||
|
||
- Set `AWS > S3 > Bucket > Intelligent Assessment > User Prompt`: `The bucket must have an Environment tag value of staging and versioning must be enabled` | ||
|
||
The control will then evaluate the result using AI, and go to alarm with the response `The current tag Environment has a value of Non-Compliant Tag which is incorrect. Versioning is not enabled and set to Suspended`. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Headers should appear on the
ON THIS PAGE
section