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.

Hướng dẫn tích hợp OpenAI / GCP EKM

Hướng dẫn từng bước để cấp phát GCP và kích hoạt EKM

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

Tổng quan

Quản lý khóa doanh nghiệp (EKM) cho phép OpenAI mã hóa dữ liệu bằng khóa chính do bạn kiểm soát. Tài liệu này trình bày cách thiết lập tài khoản GCP của bạn để cấp cho OpenAI quyền hạn chế trên KMS của bạn.

Diagram of OpenAI GCP EKM integration flow using STS token exchange and KMS encrypt or decrypt requests

Các bước

1. Tạo danh tính liên kết cho OpenAI

OpenAI sẽ phát hành một token danh tính từ một tài khoản GCP thuộc sở hữu của OpenAI trông tương tự như sau.

  • azp và sub là ID tài khoản dịch vụ của OpenAI trong GCP

  • aud là ID tổ chức OpenAI của bạn. Bạn cũng có thể chọn một audience khác, chẳng hạn như ID dự án OpenAI của bạn - xem hướng dẫn bên dưới

{
  "aud": "org-xxxx",
  "azp": "105900137572174660365",
  "exp": 1747876928,
  "iat": 1747873328,
  "iss": "https://accounts.google.com",
  "sub": "105900137572174660365"
}

Bước này nhận diện các claim do token danh tính đó đưa ra và cho phép GCP STS của bạn phát hành token truy cập khi token danh tính đó được cung cấp.

  1. Chuyển đến IAM & Quản trị -> Liên kết danh tính workload và nhấp vào Tạo nhóm

GCP IAM & Admin with Workload Identity Federation selected
  1. Ở bước Tạo nhóm danh tính, nhập bất kỳ nội dung nào cho tên nhóm.

  1. Ở bước Thêm nhà cung cấp vào nhóm:

  1. Trong Chọn nhà cung cấp, chọn OpenID Connect (OIDC)

  2. Nhập bất kỳ nội dung nào cho tên nhà cung cấp.

  3. Trong phần Nhà phát hành (URL), nhập https://accounts.google.com

  4. Trong phần Đối tượng nhận

  1. Chọn Đối tượng được phép

  2. Nhập đối tượng nhận mà OpenAI nên chỉ định khi chúng tôi chuyển token cho bạn.

  1. Đối với ChatGPT hoặc API: Bạn có thể nhập ID tổ chức OpenAI API (org-xxx)

  2. Đối với API: bạn có thể nhập một ID dự án API cụ thể để chi tiết hơn.

GCP Workload Identity Provider edit page with Allowed audiences selected and Audience 1 entered
  1. Trong phần Ánh xạ thuộc tính

  1. đối với google.subject, nhập assertion.sub

Google Cloud attribute mapping with Google 1 google.subject mapped to OIDC 1 assertion.sub
  1. Trong phần Điều kiện thuộc tính

  1. Bây giờ, bạn sẽ thấy nhóm danh tính workload nhà cung cấp danh tính workload của mình được liệt kê trên trang https://console.cloud.google.com/iam-admin/workload-identity-pools

  1. ID nhóm danh tính workload

GCP Workload Identity Pools page highlighting the provider ID value needed for OpenAI EKM setup
  1. ID nhà cung cấp danh tính workload

GCP Workload Identity Provider edit page with the provider ID field highlighted

2. Đảm bảo KMS đã được bật

Truy cập https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview để bật KMS. Bạn không bắt buộc phải tạo KMS trong cùng dự án GCP nơi bạn đã nhận diện danh tính liên kết của OpenAI; tuy nhiên, nếu các dự án khác nhau, sản phẩm KMS ít nhất phải được bật trong cả hai dự án.

3. Tạo khóa KMS mới

  1. Chuyển đến Bảo mật -> Bảo vệ dữ liệu > Quản lý khóa

  2. Trong thẻ Tổng quan, nhấp vào Tạo vòng khóa

  1. Chọn bất kỳ tên nào cho vòng khóa của bạn

  2. Đối với Mục đích và thuật toán, chọn Mã hóa/giải mã đối xứng

GCP Key Management Overview page with the Create Key Ring button highlighted
  1. Sau khi bạn đã tạo vòng khóa, vòng khóa đó sẽ được liệt kê trong thẻ Vòng khóa. Nhấp vào vòng khóa.

  2. Trong chi tiết vòng khóa, nhấp vào Tạo khóa

  1. Chọn bất kỳ tên nào cho khóa của bạn

4. Tạo một vai trò giới hạn cho các thao tác mã hóa/giải mã trên KMS

  1. Chuyển đến IAM & Quản trị -> Vai trò -> Tạo vai trò

  2. Nhập bất kỳ nội dung nào cho tiêu đề và ID của vai trò

  3. Nhấp vào Thêm quyền, rồi thêm nội dung sau

  1. cloudkms.cryptoKeyVersions.useToDecrypt

  2. cloudkms.cryptoKeyVersions.useToEncrypt

5. Gán danh tính liên kết của OpenAI cho vai trò KMS giới hạn cho các thao tác mã hóa/giải mã

  1. Chuyển đến Bảo mật -> Bảo vệ dữ liệu > Quản lý khóa

  2. Nhấp vào tên vòng khóa của bạn, rồi nhấp vào tên khóa của bạn để đến trang chi tiết khóa.

  1. Nhấp vào thẻ Quyền, rồi nhấp vào nút Cấp quyền truy cập

Google Cloud KMS key details page with Permissions tab open and Grant Access highlighted
  1. Gán danh tính liên kết của OpenAI cho vai trò tùy chỉnh bạn đã tạo trước đó

  1. Trong phần Thêm đối tượng chính, nhập principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365

  1. Trong phần Gán vai trò, chọn vai trò tùy chỉnh bạn đã tạo ở bước trước cho các quyền EKM giới hạn

6. Áp dụng mọi hạn chế bổ sung phù hợp với thực tiễn bảo mật của riêng bạn

Trên đây là thông tin tối thiểu bắt buộc mà OpenAI cần để thiết lập EKM. Bạn có thể tự do áp dụng các chính sách khóa hoặc hạn chế bổ sung phù hợp với thực tiễn bảo mật nội bộ của mình, miễn là OpenAI có thể gọi các thao tác mã hóa và giải mã trên KMS của bạn. Khi bạn gọi điểm cuối đăng ký khóa với OpenAI như được mô tả bên dưới, chúng tôi sẽ xác thực thiết lập của bạn.

Sau khi hoàn tất các bước trên

ChatGPT Enterprise

Vui lòng liên hệ với đầu mối OpenAI của bạn và chia sẻ nội dung sau:

  • "workload_identity_project_number": "123456789012",

  • "workload_identity_pool_id": "openai-azure",

  • "workload_identity_provider_id": "openai-ekm-service-role",

  • "kms_project_id": "adjective-noun-12345",

  • "kms_key_name": "openai-kms-key",

  • "kms_key_ring_name": "openai-kms-key-ring",

  • "kms_key_location": "us-east1"

  • Khu vực nơi khóa chính của Hệ thống quản lý khóa của bạn được đặt

Chúng tôi sẽ bật EKM cho tổ chức/không gian làm việc ChatGPT của bạn.

API

Đăng ký khóa bên ngoài của bạn với OpenAI

Làm theo hướng dẫn trong tài liệu tham khảo API này Khóa bên ngoài trong API quản lý

  • Trước tiên, hãy đăng ký khóa bên ngoài của bạn ở cấp tổ chức OpenAI, thao tác này sẽ tạo một ID khóa bên ngoài.

  • Trong bước này, chúng tôi sẽ xác thực thiết lập của bạn trên GCP bằng cách kiểm tra rằng chúng tôi có thể xác thực với KMS của bạn.

  • Điều này chưa thêm EKM vào dự án OpenAI của bạn.

curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys" \
-d '{
   "type": "gcp",
   "name": "GCP EKM Config",
   "workload_identity_project_number": "123456789012",
   "workload_identity_pool_id": "openai-azure",
   "workload_identity_provider_id": "openai-ekm-service-role",
   "audience": <ID tổ chức hoặc ID dự án của bạn>,
   "kms_project_id": "adjective-noun-12345",
   "kms_key_name": "openai-kms-key",
   "kms_key_ring_name": "openai-kms-key-ring",
   "kms_key_location": "us-east1"
}'

Sau đó, tạo một dự án OpenAI được liên kết với khóa bên ngoài. Sau bước này, EKM được kích hoạt trên dự án của bạn.

curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/projects" \
-d '{
   "name": "Some Project",

   "external_key_id": "extkey_xxxx"

}'

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