Tổng quan
Quản lý khóa doanh nghiệp (EKM) cho phép bạn mã hóa nội dung khách hàng tại OpenAI bằng các khóa do Hệ thống quản lý khóa (KMS) bên ngoài của riêng bạn quản lý. Tính năng này hỗ trợ cả ChatGPT Enterprise và API.
OpenAI hỗ trợ mã hóa Mang theo khóa của riêng bạn (BYOK) bằng các tài khoản bên ngoài trên AWS KMS, Google Cloud (GCP) và Azure Key Vault.
Hiện tại, việc triển khai EKM chỉ dành cho các không gian làm việc Enterprise và Edu có đại diện phụ trách tài khoản OpenAI được chỉ định.
Cách hoạt động của mã hóa OpenAI EKM
Luồng tổng quát
Chúng tôi tạo một Data Encryption Key (DEK) cho nhà cung cấp đám mây của bạn.
KMS đám mây của bạn quản lý một Key Encryption Key (KEK) chủ, được lưu trữ trong đám mây của bạn hoặc ở bên ngoài. Cách triển khai là tùy bạn.
Chúng tôi yêu cầu đám mây của bạn mã hóa DEK để nhận được một DEK đã mã hóa (eDEK). Nếu KEK của bạn được lưu trữ bên ngoài, đám mây của bạn chỉ thực hiện thêm một bước chuyển tiếp đến kho lưu trữ bên ngoài đó, trong một bước mà OpenAI không nhìn thấy chi tiết.
Mã hóa
Khi mã hóa, dữ liệu của bạn được mã hóa bằng DEK và eDEK được lưu dưới dạng siêu dữ liệu của tệp.

Giải mã
Khi giải mã, chúng tôi yêu cầu KMS đám mây của bạn giải mã eDEK thành DEK, rồi dùng DEK để giải mã dữ liệu.

Thuật ngữ chính
Data Encryption Key (DEK) - khóa mã hóa dữ liệu của bạn.
Encrypted Data Encryption Key (eDEK) - DEK đã được mã hóa, do KMS của bạn tạo ra
Key Encryption Key (KEK) - khóa chủ do bạn quản lý, dùng để mã hóa DEK -> eDEK và giải mã eDEK -> DEK. Khóa này luôn nằm ngoài các hệ thống của OpenAI.
Các yêu cầu triển khai ở mức cao
Trong môi trường của nhà cung cấp dịch vụ đám mây
Tạo một khóa mới trong KMS trên đám mây của bạn (Azure, AWS hoặc GCP)
Tạo một chính sách tùy chỉnh có giới hạn với quyền Mã hóa/Giải mã trên KMS
Tạo một chính sách tin cậy (AWS), một danh tính khối lượng công việc (GCP) hoặc một đối tượng dịch vụ (Azure) cho OpenAI
Chỉ định cho OpenAI một vai trò có chính sách giới hạn để truy cập KMS của bạn
Trong các nền tảng OpenAI
ChatGPT Enterprise
Tạo một không gian làm việc ChatGPT sandbox cho mục đích thử nghiệm.
API
Trong bảng điều khiển OpenAI của bạn, hãy tạo một dự án mới nơi mã hóa sẽ được áp dụng.
Các chức năng theo từng nhà cung cấp
Đối với AWS, OpenAI sẽ:
Gọi AssumeRole với một ExternalID
Đối với GCP, OpenAI sẽ:
Gọi điểm cuối STS của bạn từ một tài khoản GCP của OpenAI
Sử dụng token truy cập GCP để gọi encrypt/decrypt trên KMS của bạn.
Đối với Azure, OpenAI sẽ:
Yêu cầu một token truy cập cho vault của tenant Azure của bạn
Sử dụng token truy cập đó để gọi encrypt/decrypt trên Key Vault của bạn.
Thông tin bạn cần từ OpenAI
Xác thực
Bạn sẽ cần nhận diện các token danh tính liên kết của OpenAI cho AWS và GCP. Đối với Azure, bạn sẽ cần nhận diện ID ứng dụng của OpenAI cho đăng ký ứng dụng của họ.
Tóm tắt các tham số xác thực
| principal AWS của OpenAI | arn:aws:iam::790389265272:role/EnterpriseKeyManagement |
| ID tài khoản dịch vụ GCP của OpenAI | 105900137572174660365 |
| ID ứng dụng Azure của OpenAI | 20a14814-5ab7-4612-a671-1382b412bf93 |
Thông tin bắt buộc khi triển khai theo nhà cung cấp dịch vụ đám mây
Đối với AWS, bạn phải thiết lập một chính sách tin cậy có khả năng nhận diện:
Đối với GCP, bạn phải thiết lập một danh tính khối lượng công việc có khả năng nhận diện:
Đối với Azure, bạn phải tạo một đối tượng dịch vụ trong đối tượng thuê Azure của mình cho đăng ký ứng dụng của OpenAI
Tạo một đối tượng cho ID máy khách ứng dụng của OpenAI: 20a14814-5ab7-4612-a671-1382b412bf9
Bạn có thể thực hiện việc này bằng cách gửi yêu cầu POST đến điểm cuối https://graph.microsoft.com/v1.0/servicePrincipals.
Ủy quyền
Bạn cần tạo một chính sách cho phép danh tính của OpenAI có quyền truy cập giới hạn vào KMS của bạn.
| AWS | GCP | Azure |
| kms:Decryptkms:Encrypt | cloudkms.cryptoKeyVersions.useToDecryptcloudkms.cryptoKeyVersions.useToEncrypt | Microsoft.KeyVault/vaults/keys/encrypt/actionMicrosoft.KeyVault/vaults/keys/decrypt/action |
Khác
Trong Azure, ở loại khóa (thuật toán mã hóa khóa), hãy chọn RSA, không phải EC.
Thông tin OpenAI cần từ bạn
Làm theo hướng dẫn trong tài liệu này để đăng ký KMS của bạn với OpenAI. Dưới đây là nội dung tóm tắt các tham số bạn cần cung cấp.
Liên quan đến xác thực
AWS
GCP
Azure
ID đối tượng thuê
| AWS | GCP | Azure | |
| Liên quan đến xác thực | ID đối tượng thuê | ||
| Liên quan đến KMS | ARN của KMS – (ví dụ: arn:aws:kms:REGION:ACCOUNT_NUMBER:key:KEY_UUID) | ID dự án KMS (ví dụ: adjective-noun-12345) Tên vòng khóa KMS Tên khóa KMS Vị trí khóa KMS (ví dụ: us-east1) | URI của kho khóa (ví dụ: https://your-vault-name.vault.azure.net/) Tên khóa |
Sau khi đăng ký KMS với OpenAI, hãy tiếp tục làm theo hướng dẫn trong tài liệu để kích hoạt cấu hình EKM cho một dự án API. Tạo một dự án API OpenAI mới để thử nghiệm.
Hướng dẫn triển khai riêng cho từng nhà cung cấp
Để xem hướng dẫn từng bước, hãy truy cập các liên kết tương ứng bên dưới. Xin lưu ý rằng các hướng dẫn này tập trung vào yêu cầu tích hợp với OpenAI và không nhằm cung cấp hướng dẫn toàn diện cho toàn bộ môi trường của bạn
Các tính năng không được hỗ trợ khi bật EKM
Các tính năng sau không khả dụng khi bật EKM:
Các tính năng chưa được cung cấp rộng rãi, bao gồm các tính năng ở bản beta hoặc alpha.
