安全与身份验证#

作为开发人员,您有责任保护对使用 NeMo 生态系统的任何应用程序的访问,包括在用户和您的应用程序之间建立身份验证层,并确保应用程序中服务之间的通信安全。

速率限制#

NIM 不施加速率限制。如果您想限制对应用程序的访问,则有责任实施相应的策略。

端口#

NIM 使用多个端口,但只有 HTTP API 端口需要从集群外部访问。服务端口在启动时根据 NIM_HTTP_API_PORT 环境变量设置(默认值:8000)。

其他安全提示#

作为开发人员,您必须保护自己的 API 端点。我们建议使用代理以及 HTTPS/TLS 1.2。

事件响应#

密钥#

如果您使用 Helm charts 部署 Text Embedding NIM 组件,您将至少需要设置两个密钥在该命名空间中

  • 用于 NGC 的镜像拉取密钥

  • NGC API 密钥

如果您的集群需要用于自定义 init 容器的其他镜像拉取密钥,您也需要这些密钥。

根据您组织的要求和 Kubernetes 密钥最佳实践 创建密钥,但对于 POC 和快速设置密钥,您可以像下面这样使用,其中 NAMESPACE 是您的命名空间的名称

kubectl \
    --create secret -n NAMESPACE docker-registry ngc-secret  \
    --docker-server=nvcr.io --docker-username='$oauthtoken' \
    --docker-password=$NGC_API_KEY

kubectl \
    --create secret -n NAMESPACE generic ngc-api-secret  \
    --from-literal=NGC_API_KEY=$NGC_API_KEY

NeMo Retriever 使用可能包含凭据的连接字符串。建议将此连接字符串存储在密钥管理解决方案中。有关更多信息,请参阅 NeMo Retriever 文档

日志记录#

使用以下命令查看使用 Docker 的服务日志消息。

docker logs <container-id> -f

或者,使用以下命令查看部署在 Kubernetes 上的容器的服务日志消息。

kubectl logs -n <namespace> <pod-name> -f

提示

有关日志记录的更多信息,请参阅 日志记录 部分。

有关保护 Docker 容器(包括日志文件)的信息,请参阅 Docker 安全性