Chuyển đến nội dung chính
hyperlocalise đọc thông tin xác thực của nhà cung cấp từ:
  • Xuất các biến trong phiên shell hiện tại của bạn.
  • .env.env.local tệp trong thư mục dự án hiện tại của bạn.
Độ ưu tiên:
  • Các biến shell đã được xuất sẽ được giữ nguyên.
  • Đối với các biến chưa được xuất, .env.local ghi đè .env.
Ví dụ:
export OPENAI_API_KEY="your-openai-api-key"
export AZURE_OPENAI_BASE_URL="https://<resource>.openai.azure.com/openai/v1"
export AZURE_OPENAI_API_KEY="your-azure-openai-api-key"

Các nhà cung cấp LLM

OpenAI

export OPENAI_API_KEY="your-openai-api-key"

Azure OpenAI

# Example: https://<resource>.openai.azure.com/openai/v1
export AZURE_OPENAI_BASE_URL="https://<resource>.openai.azure.com/openai/v1"
export AZURE_OPENAI_API_KEY="your-azure-openai-api-key"

Gemini

export GEMINI_BASE_URL="https://generativelanguage.googleapis.com/v1beta/openai"
export GEMINI_API_KEY="your-gemini-api-key"

Anthropic

export ANTHROPIC_BASE_URL="https://api.anthropic.com/v1"
export ANTHROPIC_API_KEY="your-anthropic-api-key"

AWS Bedrock

export AWS_REGION="us-east-1"
export AWS_ACCESS_KEY_ID="your-access-key-id"
export AWS_SECRET_ACCESS_KEY="your-secret-access-key"
# Optional when using temporary credentials:
export AWS_SESSION_TOKEN="your-session-token"

LM Studio

export LM_STUDIO_BASE_URL="http://127.0.0.1:1234/v1"
export LM_STUDIO_API_KEY="lm-studio"

Ollama

export OLLAMA_BASE_URL="http://127.0.0.1:11434/v1"
export OLLAMA_API_KEY="ollama"

Groq

export GROQ_BASE_URL="https://api.groq.com/openai/v1"
export GROQ_API_KEY="your-groq-api-key"

Bộ điều hợp lưu trữ

POEditor

export POEDITOR_API_TOKEN="your-poeditor-token"

LILT AI

export LILT_API_TOKEN="your-lilt-token"

Lokalise

export LOKALISE_API_TOKEN="your-lokalise-token"

Crowdin

export CROWDIN_API_TOKEN="your-crowdin-token"
Nếu bạn sử dụng Crowdin Enterprise, hãy đặt storage.config.apiBaseURL trong i18n.yml thành máy chủ API Enterprise của bạn. Ví dụ: https://example.api.crowdin.com.

Smartling

export SMARTLING_USER_SECRET="your-smartling-user-secret"
Smartling cũng yêu cầu storage.config.userIdentifier trong i18n.yml.

Hướng dẫn bảo mật

  • Ưu tiên biến môi trường hơn các token được mã hóa cứng.
  • Giữ .env.env.local ngoài hệ thống kiểm soát phiên bản.
  • Xoay vòng các token thường xuyên và giới hạn chúng ở mức đặc quyền tối thiểu.

Chuẩn quản lý thông tin xác thực cho môi trường cục bộ và CI

Sử dụng mô hình vận hành này cho tất cả các bộ điều hợp lưu trữ từ xa, bao gồm Smartling, Lokalise và các bộ điều hợp tùy chỉnh nội bộ.

Phát triển cục bộ

  1. Chỉ commit cấu hình không bí mật (tên biến *Env) vào i18n.yml.
  2. Lưu các token thực vào .env.local (chỉ dành cho máy của nhà phát triển).
  3. Thêm .env.env.local vào .gitignore.
  4. Dùng thông tin xác thực TMS riêng cho môi trường phát triển và sản xuất.

Môi trường CI

  1. Lưu trữ bí mật trong trình quản lý bí mật CI của bạn (ví dụ: GitHub Actions Secrets).
  2. Chỉ chèn bí mật vào tác vụ đồng bộ cần chúng.
  3. Ánh xạ các bí mật CI sang các biến môi trường mà cấu hình bộ chuyển đổi của bạn mong đợi.
  4. Sử dụng bí mật theo phạm vi môi trường và bảo vệ nhánh cho đồng bộ sản xuất.

Xoay vòng và đặc quyền tối thiểu

  • Xoay vòng token theo lịch cố định (ví dụ mỗi 90 ngày) và khi thành viên trong nhóm rời đi.
  • Tạo người dùng dịch vụ CI riêng cho từng workspace hoặc dự án TMS.
  • Hạn chế mỗi token chỉ ở các phạm vi API tối thiểu cần thiết cho pull/push.
  • Xác thực việc xoay vòng bằng cách chạy một lần đồng bộ thử trước khi xóa thông tin xác thực trước đó.

Chính sách ghi nhật ký thân thiện với kiểm toán

  • Không bao giờ in các bí mật thô ra logs, đầu ra debug, ảnh chụp màn hình hoặc bình luận về lỗi.
  • Chỉ ghi lại tên nguồn thông tin xác thực (SMARTLING_USER_SECRET, LOKALISE_API_TOKEN), không ghi giá trị.
  • Giữ đầu ra CLI ở các định dạng có thể đọc bằng máy (--output json hoặc --output csv) để phục vụ dấu vết kiểm tra.
  • Lưu trữ nhật ký CI và đồng bộ các artifact theo chính sách lưu giữ của bạn.

Danh sách kiểm tra bảo mật bộ điều hợp TMS

Sử dụng danh sách kiểm tra này trước khi bật các công việc CI có quyền ghi.
  • Tất cả bí mật của adapter được cung cấp thông qua biến môi trường, không phải cấu hình nội tuyến.
  • CI sử dụng thông tin xác thực dịch vụ chuyên dụng (không dùng mã truy cập cá nhân).
  • Phạm vi thông tin xác thực được giới hạn ở các dự án và thao tác cần thiết.
  • Lịch xoay ca được ghi chép và thuộc sở hữu của một nhóm.
  • Nhật ký pipeline không tiết lộ giá trị token.
  • Đã chạy thành công các tác vụ thử nghiệm theo lịch sync pullsync push.
  • Cần phê duyệt thủ công trước khi đồng bộ ghi vào môi trường sản xuất, nếu cần.
Danh sách kiểm tra tương tự cũng áp dụng cho Smartling, Lokalise và các bộ chuyển đổi tùy chỉnh được xây dựng trên giao diện bộ chuyển đổi lưu trữ.