OpenAI
Trang này được dịch bằng máy học. Xem bài viết gốc bằng tiếng Anh.

Các biện pháp tốt nhất để bảo vệ khóa API

Bảo vệ khóa API bằng cách lưu trữ an toàn, kiểm soát quyền truy cập, giám sát, luân phiên khóa và hạn chế IP.

Đã cập nhật: 5 days ago

1. Luôn dùng khóa API riêng cho từng thành viên nhóm trong tài khoản của bạn.

Khóa API là mã duy nhất dùng để nhận diện các yêu cầu bạn gửi đến API. Khóa API của bạn chỉ dành cho bạn sử dụng. Việc chia sẻ khóa API vi phạm Điều khoản sử dụng.

Khi bắt đầu thử nghiệm, bạn có thể muốn cấp quyền truy cập API cho cả nhóm. OpenAI không hỗ trợ việc chia sẻ khóa API. Hãy mời thành viên mới vào tài khoản của bạn từ trang Thành viên. Họ sẽ nhanh chóng nhận được khóa riêng khi đăng nhập. Bạn cũng có thể phân quyền cho từng khóa API.

2. Tạo khóa API có ngày hết hạn và thiết lập quy trình thay khóa định kỳ

Bạn có thể đặt ngày hết hạn khi tạo khóa dự án. Sau ngày đó, mọi yêu cầu sử dụng các khóa này sẽ bị từ chối. Chúng tôi đặc biệt khuyến nghị bạn tạo khóa có ngày hết hạn và thiết lập quy trình thay khóa định kỳ. Trước khi khóa hết hạn, hãy tạo khóa thay thế, cập nhật các ứng dụng để sử dụng khóa mới và thu hồi khóa cũ sau khi xác minh khóa mới hoạt động. Những biện pháp này có thể giảm đáng kể tác động của việc rò rỉ khóa API.

Quản trị viên có thể áp dụng thời hạn hiệu lực tối đa cho khóa API ở cấp tổ chức hoặc dự án trong phần cài đặt nền tảng. Các khóa mới phải được cấu hình trong giới hạn cho phép để không có khóa nào có hiệu lực vô thời hạn. Giới hạn của dự án không được vượt quá giới hạn của tổ chức.

Với các khối lượng công việc được hỗ trợ, hãy sử dụng cơ chế liên kết danh tính khối lượng công việc thay vì lưu trữ khóa API OpenAI có hiệu lực dài hạn. Khối lượng công việc của bạn dùng danh tính do một nhà cung cấp đáng tin cậy cấp để đổi lấy mã thông báo truy cập OpenAI có hiệu lực ngắn hạn. Hãy cấu hình một tài khoản dịch vụ riêng, chỉ cấp các quyền mà khối lượng công việc cần.

3. Không bao giờ triển khai khóa trong môi trường phía máy khách như trình duyệt hoặc ứng dụng di động.

Để lộ khóa API OpenAI trong môi trường phía máy khách như trình duyệt hoặc ứng dụng di động có thể khiến kẻ xấu lấy được khóa và gửi yêu cầu dưới danh nghĩa của bạn. Điều này có thể làm phát sinh phí ngoài dự kiến hoặc khiến một số dữ liệu tài khoản bị xâm phạm. Các yêu cầu luôn phải được chuyển qua máy chủ backend của chính bạn, nơi bạn có thể bảo vệ khóa API an toàn.

4. Tuyệt đối không commit khóa vào kho lưu trữ

Commit khóa API vào mã nguồn là một nguyên nhân phổ biến khiến thông tin xác thực bị xâm phạm. Nếu dùng kho lưu trữ công khai, bạn có thể vô tình chia sẻ khóa của mình trên Internet theo cách này. Kho lưu trữ riêng tư an toàn hơn, nhưng sự cố rò rỉ dữ liệu cũng có thể làm lộ khóa của bạn. Vì những lý do này, chúng tôi đặc biệt khuyến nghị sử dụng biến môi trường như một biện pháp chủ động để bảo vệ khóa.

5. Sử dụng biến môi trường thay vì dùng trực tiếp khóa API

Thiết lập trên Windows

Biến môi trường là biến được thiết lập trên hệ điều hành, thay vì bên trong ứng dụng. Biến này gồm tên và giá trị. Chúng tôi khuyên bạn nên đặt tên biến là OPENAI_API_KEY. Khi cả nhóm dùng thống nhất tên biến này, bạn có thể tạo commit và chia sẻ mã mà không có nguy cơ làm lộ khóa API.


Cách 1: Thiết lập biến môi trường “OPENAI_API_KEY” qua cửa sổ lệnh cmd

Chạy lệnh sau trong cửa sổ lệnh cmd, thay <yourkey> bằng khóa API của bạn:

setx OPENAI_API_KEY "<yourkey>"

Thay đổi này sẽ áp dụng cho các cửa sổ dấu nhắc lệnh cmd mở sau đó, vì vậy bạn cần mở cửa sổ mới để sử dụng biến đó với curl. Để xác nhận biến này đã được đặt, hãy mở cửa sổ dấu nhắc lệnh cmd mới và nhập

echo %OPENAI_API_KEY%

Cách 2: Thiết lập biến môi trường “OPENAI_API_KEY” qua Bảng điều khiển

  1. Mở thuộc tính Hệ thống rồi chọn Cài đặt hệ thống nâng cao

Windows 10 System settings with Advanced system settings highlighted in Control Panel
  1. Chọn Biến môi trường...

Windows System Properties Advanced tab with Environment Variables button highlighted
  1. Chọn Mới… trong phần Biến người dùng (ở trên cùng). Thêm cặp tên biến/giá trị khóa, thay <yourkey> bằng khóa API của bạn.

Tên biến: OPENAI_API_KEY
Giá trị biến: <yourkey>

Thiết lập trên Linux và macOS

Cách 1: Thiết lập biến môi trường “OPENAI_API_KEY” bằng zsh

  1. Chạy lệnh sau trong terminal, thay yourkey bằng khóa API của bạn.

echo "export OPENAI_API_KEY='yourkey'" >> ~/.zshrc
  1. Cập nhật shell bằng biến mới:

source ~/.zshrc
  1. Xác nhận rằng bạn đã đặt biến môi trường bằng lệnh sau.

echo $OPENAI_API_KEY

Giá trị của khóa API của bạn sẽ là kết quả đầu ra.


Tùy chọn 2: Đặt biến môi trường ‘OPENAI_API_KEY’ bằng bash

Làm theo hướng dẫn trong Tùy chọn 1, thay .zshrc bằng .bash_profile.

Bạn đã thiết lập xong! Giờ đây, bạn có thể tham chiếu khóa trong curl hoặc tải khóa đó trong Python:

import os
import openai

openai.api_key = os.environ["OPENAI_API_KEY"]

6. Sử dụng dịch vụ quản lý khóa

Có nhiều sản phẩm giúp bạn quản lý khóa API bí mật một cách an toàn. Các công cụ này cho phép bạn kiểm soát quyền truy cập khóa và nâng cao mức độ bảo mật dữ liệu tổng thể. Nếu ứng dụng xảy ra sự cố rò rỉ dữ liệu, các khóa của bạn sẽ không bị lộ vì chúng được mã hóa và quản lý ở một nơi hoàn toàn riêng biệt.

Với các nhóm triển khai ứng dụng vào môi trường vận hành chính thức, chúng tôi khuyên bạn nên cân nhắc sử dụng một trong những dịch vụ này.

7. Theo dõi mức sử dụng tài khoản và thay khóa khi cần

Đặt giới hạn chi tiêu hằng tháng cho tổ chức hoặc dự án của bạn, đồng thời bật chế độ thực thi giới hạn nghiêm ngặt để giúp hạn chế chi phí ngoài dự kiến do khóa bị lộ. Chỉ riêng cảnh báo chi tiêu sẽ không ngăn các yêu cầu gửi đến API. Việc thực thi giới hạn nghiêm ngặt có thể chặn cả yêu cầu hợp lệ, và chi tiêu có thể vượt nhẹ giới hạn vì cơ chế này không có hiệu lực tức thì.

Khóa API bị lộ sẽ cho phép người khác sử dụng hạn mức tài khoản của bạn mà không có sự đồng ý của bạn. Điều này có thể gây mất dữ liệu, phát sinh phí ngoài dự kiến, làm cạn hạn mức hằng tháng và gián đoạn quyền truy cập API của bạn.

Bạn có thể theo dõi mức sử dụng của các nhóm trên trang Mức sử dụng. Nếu lo ngại về việc sử dụng trái phép, bạn có thể thực hiện một số biện pháp sau để bảo vệ tài khoản:

  • Kiểm tra mức sử dụng để xem có phù hợp với công việc của nhóm hay không. Với người dùng thuộc nhiều tổ chức (ví dụ: tổ chức của công ty và tổ chức cá nhân), hãy đảm bảo họ đã bật tính năng theo dõi và đặt tổ chức mặc định cho việc sử dụng và theo dõi.

  • Nếu cho rằng khóa của mình đã bị lộ, hãy thay khóa ngay trên trang Khóa API. Nếu có ứng dụng đang vận hành chính thức, bạn cần cập nhật giá trị khóa trong ứng dụng cho phù hợp.

  • Liên hệ với chúng tôi qua help.openai.com để được hỗ trợ điều tra thêm.

8. Bảo vệ quyền truy cập API bằng các biện pháp kiểm soát mạng

Danh sách IP được phép giúp bạn giới hạn những địa chỉ IP có thể truy cập API OpenAI của mình. Khi bật tính năng này, chỉ các yêu cầu từ địa chỉ hoặc dải IP đã cấu hình mới được chấp nhận. Mọi yêu cầu khác đều bị từ chối—ngay cả khi có khóa API hợp lệ.

Tính năng này bổ sung một lớp bảo vệ bằng cách đảm bảo API của bạn chỉ có thể được truy cập từ cơ sở hạ tầng đáng tin cậy, chẳng hạn như máy chủ backend hoặc môi trường đám mây của bạn.

Để biết thêm thông tin, hãy xem bài viết về danh sách IP được phép cho API OpenAI.

Private Link là một lựa chọn khác cho các tổ chức cần truy cập qua mạng riêng. Tính năng này cho phép các khối lượng công việc trên Azure kết nối với điểm cuối API OpenAI theo khu vực thông qua Azure Private Link. Hãy liên hệ với đại diện OpenAI phụ trách bạn hoặc bộ phận kinh doanh để yêu cầu quyền truy cập. Bạn vẫn phải xác thực API, và Private Link không tương thích với danh sách IP được phép hoặc TLS hai chiều (mTLS). Để biết chi tiết cách thiết lập, hãy xem hướng dẫn về Private Link.

Bài viết này có hữu ích không?