Skip to content
Merged
Changes from all 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
29 changes: 28 additions & 1 deletion docs/customization_guide/deploy.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,9 @@ standalone process. This guide is intended to provide some key points
and best practices that users deploying Triton based solutions should
consider.

| [Deploying Behind a Secure Gateway or Proxy](#deploying-behind-a-secure-proxy-or-gateway) | [Running with Least Privilege](#running-with-least-privilege) |
| [Deploying Behind a Secure Proxy or Gateway](#deploying-behind-a-secure-proxy-or-gateway) |
[Securing Model and Backend Code](#securing-model-and-backend-code) |
[Running with Least Privilege](#running-with-least-privilege) |

> [!IMPORTANT]
> Ultimately the security of a solution based on Triton
Expand Down Expand Up @@ -84,6 +86,31 @@ as an "Application" or "Service" within the trusted internal network.
* [https://konghq.com/blog/enterprise/envoy-service-mesh]
* [https://www.solo.io/topics/envoy-proxy/]

## Securing Model and Backend Code

> [!WARNING]
> Some Triton backends execute code loaded from the model repository.
> Depending on the backend, this code may run in the Triton server
> process or in a separate process managed by the backend. It can
> exercise the operating-system privileges and access available to that
> process, including filesystem access, available credentials, and
> network access. Triton does not provide a security sandbox for
> arbitrary model or backend code.

Only deploy executable model and backend code from trusted sources.
Restrict write access to model repositories and backend directories,
restrict model control APIs to trusted operators when they are enabled,
and review executable code before deployment.

Even when a caller is authenticated and authorized, treat
request-derived values as untrusted until they have been validated for
their intended use. Before using these values in outbound network
requests, filesystem operations, subprocess invocations,
deserialization, or media decoding, validate them against an explicit
policy and enforce limits on input size, execution time, concurrency,
and other resource use. Use deployment-level controls, such as outbound
network restrictions, to limit the impact of validation failures.

## Running with Least Privilege

The security principle of least privilege advocates that a process be
Expand Down
Loading