Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 50 additions & 0 deletions src/content/docs/ai-gateway/configuration/authentication.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
pcx_content_type: configuration
title: Authentication
sidebar:
order: 7
head: []
description: Add security by requiring a valid authorization token for each request.
---

The Authenticated Gateway feature in AI Gateway adds security by requiring a valid authorization token for each request. This feature is especially useful when storing logs persistently, as it prevents unauthorized access and protects against "log bombing." With Authenticated Gateway enabled, only requests with the correct token are processed.

:::note[Note]
We recommend enabling Authenticated Gateway when opting to store logs with AI Gateway.
:::

:::caution[Caution]
If Authenticated Gateway is enabled but a request does not include the required `cf-aig-authorization` header, the request will fail. This setting ensures that only verified requests pass through the gateway. To bypass the need for the `cf-aig-authorization` header, make sure to disable Authenticated Gateway.
:::

## Setting up Authenticated Gateway using the Dashboard

1. Go to the Settings for the specific gateway you want to enable authentication for.
2. Select **Create authentication token** to generate a custom token with the required `Run` permissions. Be sure to securely save this token, as it will not be displayed again.
3. Include the `cf-aig-authorization` header with your API token in each request for this gateway.
4. Return to the settings page and toggle on Authenticated Gateway.

## Example request with OpenAI

```bash
curl https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/openai/chat/completions \
--header 'cf-aig-authorization: Bearer {CF_AIG_TOKEN}' \
--header 'Authorization: Bearer OPENAI_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"model": "gpt-3.5-turbo", "messages": [{"role": "user", "content": "What is Cloudflare?"}]}'
```

## Setting Authenticated Gateway using the API

For API setup, see the [API documentation](/api/operations/aig-config-create-gateway/).

## Expected behavior

The following table outlines gateway behavior based on the authentication settings and header status:

| Authentication Setting | Header Info | Gateway State | Response |
| ---------------------- | -------------- | ----------------------- | ------------------------------------------ |
| On | Header present | Authenticated gateway | Request succeeds |
| On | No header | Error | Request fails due to missing authorization |
| Off | Header present | Unauthenticated gateway | Request succeeds |
| Off | No header | Unauthenticated gateway | Request succeeds |
4 changes: 4 additions & 0 deletions src/content/docs/ai-gateway/get-started.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@ Then, create a new AI Gateway.

<Render file="create-gateway" />

## Choosing Gateway Authentication

When setting up a new gateway, you can choose between an authenticated and unauthenticated gateway. Enabling an authenticated gateway requires each request to include a valid authorization token, adding an extra layer of security. We recommend using an authenticated gateway when storing logs persistently to prevent unauthorized access and potential "log bombing". Learn more about setting up an [authenticated gateway](/ai-gateway/configuration/authentication/).

## Connect application

Next, connect your AI provider to your gateway.
Expand Down
2 changes: 2 additions & 0 deletions src/content/docs/ai-gateway/observability/logging/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ You can store up to 10 million logs per gateway. If your limit is reached, new l

To learn more about your plan limits, refer to [Limits](/ai-gateway/reference/limits/).

We recommend using an authenticated gateway when storing logs persistently to prevent unauthorized access and potential "log bombing". Learn more about setting up an [authenticated gateway](/ai-gateway/configuration/authentication/).

## Default configuration

Logs, which include metrics as well as request and response data, are enabled by default for each gateway. This logging behavior will be uniformly applied to all requests in the gateway. If you are concerned about privacy or compliance and want to turn log collection off, you can go to settings and opt out of logs. If you need to modify the log settings for specific requests, you can override this setting on a per-request basis.
Expand Down
Loading