1. Luôn sử dụng một khóa API duy nhất cho mỗi thành viên nhóm trong tài khoản của bạn.
Khóa API là một mã duy nhất dùng để định danh các yêu cầu của bạn tới API. Khóa API của bạn được thiết kế để 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 mở rộng quyền truy cập API cho nhóm của mình. OpenAI không hỗ trợ việc chia sẻ khóa API. Vui lòng mời thành viên mới vào tài khoản của bạn từ trang Thành viên và họ sẽ nhanh chóng nhận được khóa duy nhất của riêng mình khi đăng nhập. Bạn cũng có thể gá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 cho khóa API
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 đặt tên biến là OPENAI_API_KEY. Việc thống nhất tên biến này trong toàn nhóm giúp bạn commit và chia sẻ mã mà không có nguy cơ làm lộ khóa API.
Thiết lập trên Windows
Cách 1: Thiết lập biến môi trường ‘OPENAI_API_KEY’ qua dấu nhắc lệnh cmd
Chạy lệnh sau trong dấu nhắc 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%Tùy chọn 2: Đặt biến môi trường “OPENAI_API_KEY” qua Bảng điều khiển
Mở thuộc tính Hệ thống và chọn Cài đặt hệ thống nâng cao
Chọn Biến môi trường...
Chọn Mới… trong phần Biến người dùng (ở trên cùng). Thêm cặp tê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/macOS
Tùy chọn 1: Đặt biến môi trường “OPENAI_API_KEY” bằng zsh
Chạy lệnh sau trong terminal, thay yourkey bằng khóa API của bạn.
echo "export OPENAI_API_KEY='yourkey'" >> ~/.zshrcCập nhật shell bằng biến mới:
source ~/.zshrcXác nhận rằng bạn đã đặt biến môi trường bằng lệnh sau.
echo $OPENAI_API_KEYGiá 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 quản lý an toàn các khóa API bí mật. Các công cụ này giúp bạn kiểm soát quyền truy cập vào khóa và tăng cường khả năng bảo mật dữ liệu tổng thể. Nếu ứng dụng bị rò rỉ dữ liệu, khóa của bạn sẽ không bị xâm phạm vì chúng được mã hóa và quản lý ở một vị trí hoàn toàn riêng biệt.
Đối với các nhóm triển khai ứng dụng vào môi trường sản xuất, chúng tôi khuyên bạn nên cân nhắc sử dụng một trong các 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 các dự án của bạn và bật chế độ thực thi giới hạn cứng để giúp hạn chế chi phí ngoài dự kiến do khóa bị rò rỉ. Chỉ bật cảnh báo chi tiêu thì không ngăn được lưu lượng truy cập API. Chế độ thực thi giới hạn cứng có thể chặn cả những yêu cầu hợp lệ. Chi tiêu cũng có thể vượt nhẹ mức giới hạn vì việc thực thi không diễn ra tức thời.
Khóa API bị xâm phạm có thể cho phép người khác sử dụng hạn ngạch tài khoản mà không có sự đồng ý của bạn. Điều này có thể dẫn đến mất dữ liệu, phát sinh phí ngoài dự kiến, cạn hạn ngạch 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 tài khoản bị 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 bạn hay không. Với người dùng thuộc nhiều tổ chức (ví dụ: tổ chức 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 để ghi nhận và theo dõi mức sử dụng.
Nếu cho rằng khóa của mình đã bị rò rỉ, hãy thay khóa ngay trên trang Khóa API. Nếu có ứng dụng đang chạy trong môi trường sản xuất, bạn cần cập nhật giá trị khóa tương ứng trong các ứng dụng đó.
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 cho phép bạn giới hạn những địa chỉ IP có thể truy cập API OpenAI của bạn. Khi tính năng này được bật, chỉ các yêu cầu từ địa chỉ hoặc dải IP đã cấu hình mới được phép truy cập. 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 chỉ có thể truy cập API của bạn 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 dành 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 các đ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 của 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 về cách thiết lập, hãy xem hướng dẫn về Private Link.
