Skip to content

Guardrail ​

The Guardrail resource allows you to manage AWS Bedrock Guardrails that help in enforcing compliance and security policies for your machine learning models.

Minimal Example ​

Create a basic Guardrail with required properties and a couple of common optional configurations.

ts
import AWS from "alchemy/aws/control";

const basicGuardrail = await AWS.Bedrock.Guardrail("basicGuardrail", {
  name: "BasicGuardrail",
  blockedInputMessaging: "Input is not allowed.",
  blockedOutputsMessaging: "Output is restricted.",
  description: "A basic guardrail for model compliance.",
  Tags: [
    { Key: "Environment", Value: "Development" }
  ]
});

Advanced Configuration ​

Configure a Guardrail with additional security and policy settings.

ts
const advancedGuardrail = await AWS.Bedrock.Guardrail("advancedGuardrail", {
  name: "AdvancedGuardrail",
  blockedInputMessaging: "Input is not allowed.",
  blockedOutputsMessaging: "Output is restricted.",
  Description: "An advanced guardrail with policies.",
  KmsKeyArn: "arn:aws:kms:us-east-1:123456789012:key/abcd1234-56ef-78gh-90ij-klmnopqrst",
  ContextualGroundingPolicyConfig: {
    // Example of a contextual grounding policy
    Policy: JSON.stringify({
      Statement: [
        {
          Effect: "Deny",
          Action: "bedrock:ModelInvoke",
          Resource: "*",
          Condition: {
            StringEquals: {
              "bedrock:InputType": "sensitive"
            }
          }
        }
      ]
    })
  },
  SensitiveInformationPolicyConfig: {
    // Example of sensitive information policy
    Policy: JSON.stringify({
      Statement: [
        {
          Effect: "Deny",
          Action: "bedrock:ModelInvoke",
          Resource: "*",
          Condition: {
            StringEquals: {
              "bedrock:InputType": "sensitive_data"
            }
          }
        }
      ]
    })
  },
  Tags: [
    { Key: "Department", Value: "Data Science" }
  ]
});

Specific Use Case: Content Filtering ​

Create a Guardrail specifically for content filtering scenarios.

ts
const contentFilteringGuardrail = await AWS.Bedrock.Guardrail("contentFilteringGuardrail", {
  name: "ContentFilteringGuardrail",
  blockedInputMessaging: "Input violates content policies.",
  blockedOutputsMessaging: "Output violates content policies.",
  WordPolicyConfig: {
    // List of blocked words
    BlockedWords: ["inappropriate", "offensive"]
  },
  ContentPolicyConfig: {
    // Example content policy
    Policy: JSON.stringify({
      Statement: [
        {
          Effect: "Deny",
          Action: "bedrock:ModelInvoke",
          Resource: "*",
          Condition: {
            StringLike: {
              "bedrock:InputContent": "*inappropriate*"
            }
          }
        }
      ]
    })
  },
  Tags: [
    { Key: "UseCase", Value: "ContentModeration" }
  ]
});