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.

Tổng quan về OpenAI Enterprise Key Management (EKM)

Tìm hiểu cách EKM hoạt động, những nhà cung cấp nào được hỗ trợ và cách bắt đầu

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

Tổng quan

Enterprise Key Management (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 chính Hệ thống quản lý khóa (KMS) bên ngoài của bạn quản lý, khả dụng cho cả ChatGPT Enterprise và API.

OpenAI hỗ trợ mã hóa Bring Your Own Key (BYOK) với các tài khoản bên ngoài trong AWS KMS, Google Cloud (GCP) và Azure Key Vault.

Hiện tại, việc triển khai EKM chỉ giới hạn cho các không gian làm việc Enterprise và Edu có đại diện 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

  1. Chúng tôi tạo một Data Encryption Key (DEK) cho nhà cung cấp đám mây của bạn.

  2. 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.

  3. 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 trên tệp.

EKM encryption flow where OpenAI requests a DEK from your KMS, encrypts data, and stores encrypted data with eDEK

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.

EKM decryption flow where OpenAI requests a DEK from your KMS to decrypt encrypted data for download

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 nhà cung cấp đám mây của bạn

  1. Tạo một khóa mới trong KMS đám mây của bạn (Azure, AWS hoặc GCP)

  2. Tạo một chính sách tùy chỉnh, giới hạn với quyền Encrypt/Decrypt trên KMS

  3. Tạo một trust policy (AWS), một workload identity (GCP) hoặc một service principal (cho Azure) cho OpenAI

  4. Gán 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 OpenAIarn:aws:iam::790389265272:role/EnterpriseKeyManagement
ID tài khoản dịch vụ GCP của OpenAI105900137572174660365
ID ứng dụng Azure của OpenAI20a14814-5ab7-4612-a671-1382b412bf93

Thông tin bắt buộc trong quá trình triển khai theo nhà cung cấp đám mây của bạn

  • Đối với AWS, bạn phải thiết lập một trust policy nhận diện:

    • principal của OpenAI (số tài khoản + vai trò)

    • Một ExternalID là ID dự án OpenAI của bạn

  • Đối với GCP bạn phải thiết lập một workload identity nhận diện:

    • ID tài khoản dịch vụ của OpenAI

    • Một audience là ID dự án OpenAI của bạn

  • Đối với Azure bạn phải tạo một service principal trong tenant Azure của bạn cho đăng ký ứng dụng của OpenAI

    • Tạo một service principal cho application client id 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 sẽ cần tạo một chính sách cho phép danh tính của OpenAI có được quyền truy cập giới hạn vào KMS của bạn. 

AWSGCPAzure
kms:Decryptkms:Encryptcloudkms.cryptoKeyVersions.useToDecryptcloudkms.cryptoKeyVersions.useToEncryptMicrosoft.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à bản tóm tắt các tham số bạn sẽ cần cung cấp.

  1. Liên quan đến xác thực

    1. AWS

      1. IAM Role ARN - vai trò để OpenAI đảm nhận (ví dụ: arn:aws:iam::123456789:role/role-name)

      2. ExternalID - ID tổ chức OpenAI của bạn

    2. GCP

      1. Workload Identity Project Number (ví dụ: 123456789)

      2. Workload Identity Pool ID

      3. Workload Identity Provider ID

      4. Allowed audience: ID tổ chức OpenAI của bạn

    3. Azure

      1. Tenant ID

AWSGCPAzure
Liên quan đến xác thực Tenant ID
Liên quan đến KMSKMS ARN - (ví dụ: arn:aws:kms:REGION:ACCOUNT_NUMBER:key:KEY_UUID)KMS Project ID (ví dụ: adjective-noun-12345)Tên key ring KMSTên khóa KMSVị trí khóa KMS (ví dụ: us-east1)Vault URI (ví dụ: https://your-vault-name.vault.azure.net/)Tên khóa

Sau khi bạn đã đăng ký KMS với OpenAI, 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 trên một dự án API. Tạo một dự án API OpenAI mới cho mục đích thử nghiệm.

Hướng dẫn triển khai theo từng nhà cung cấp

Để được hướng dẫn từng bước, hãy xem các liên kết tương ứng bên dưới. Lưu ý rằng các tài liệu này tập trung vào các yêu cầu tích hợp với OpenAI và không nhằm đóng vai trò là 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 EKM được bật

Trong bản phát hành ban đầu này, các tính năng sau sẽ không khả dụng nếu EKM được bật:

  • Ứng dụng có đồng bộ hóa

  • Các tính năng chưa phát hành chính thức (ví dụ: bất kỳ nội dung nào vẫn đang ở beta/alpha)

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