OpenAI
ეს გვერდი მანქანური თარგმანის მეშვეობით ითარგმნა. სტატიის ინგლისური დედნის ნახვა.

OpenAI / GCP EKM ინტეგრაციის ინსტრუქციები

ნაბიჯ-ნაბიჯ ინსტრუქციები GCP-ის მოსამზადებლად და EKM-ის გასააქტიურებლად

განახლებულია: 7 days ago

მიმოხილვა

Enterprise Key Management (EKM) OpenAI-ს საშუალებას აძლევს, მონაცემები დაშიფროს მთავარი გასაღებით, რომელსაც თქვენ აკონტროლებთ. ეს დოკუმენტი აჩვენებს, როგორ დააყენოთ თქვენი GCP ანგარიში ისე, რომ OpenAI-ს თქვენს KMS-ზე შეზღუდული ნებართვები მისცეთ.

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

ნაბიჯები

1. შექმენით ფედერაციული იდენტობა OpenAI-სთვის

OpenAI გამოსცემს იდენტობის token-ს OpenAI-ის კუთვნილი GCP ანგარიშიდან, რომელიც დაახლოებით ასე გამოიყურება.

  • azp და sub არის OpenAI-ის სერვისის ანგარიშის ID GCP-ში

  • aud არის თქვენი OpenAI ორგანიზაციის ID. ასევე შეგიძლიათ აირჩიოთ სხვა აუდიტორია, მაგალითად თქვენი OpenAI პროექტის ID — იხილეთ ქვემოთ მოცემული ინსტრუქციები

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

ეს ნაბიჯი ამოიცნობს იმ იდენტობის token-ის მიერ წარმოდგენილ მოთხოვნებს და თქვენს GCP STS-ს საშუალებას აძლევს, გასცეს წვდომის token, როდესაც ეს იდენტობის token მიეწოდება.

  1. გადადით IAM & Admin -> Workload Identity Federation -ზე და დააწკაპუნეთ Create Pool-ზე

GCP IAM & Admin with Workload Identity Federation selected
  1. Create an identity pool, ნაბიჯში pool name.-ისთვის შეიყვანეთ ნებისმიერი მნიშვნელობა

  1. Add a provider to pool ნაბიჯში:

  1. Select a provider-ში აირჩიეთ OpenID Connect (OIDC)

  2. provider name-ისთვის შეიყვანეთ ნებისმიერი მნიშვნელობა.

  3. Issuer (URL) სექციაში შეიყვანეთ https://accounts.google.com

  4. Audiences სექციაში

  1. აირჩიეთ Allowed audiences

  2. შეიყვანეთ აუდიტორია, რომელიც OpenAI-მ უნდა მიუთითოს, როცა token-ს გადმოგცემთ.

  1. ChatGPT-ისთვის ან API-სთვის: შეგიძლიათ მიუთითოთ OpenAI API organization ID (org-xxx)

  2. API-სთვის: მეტი დეტალიზაციისთვის შეგიძლიათ მიუთითოთ კონკრეტული API project id.

GCP Workload Identity Provider edit page with Allowed audiences selected and Audience 1 entered
  1. Attribute mapping სექციაში

  1. google.subject-ისთვის შეიყვანეთ assertion.sub

Google Cloud attribute mapping with Google 1 google.subject mapped to OIDC 1 assertion.sub
  1. Attribute conditions სექციაში

  1. ახლა https://console.cloud.google.com/iam-admin/workload-identity-pools გვერდზე უნდა ხედავდეთ თქვენს workload identity pool -ს და workload identity provider -ს

  1. Workload identity pool id

GCP Workload Identity Pools page highlighting the provider ID value needed for OpenAI EKM setup
  1. Workload identity provider ID

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

2. დარწმუნდით, რომ KMS ჩართულია

KMS-ის ჩასართავად გადადით https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview-ზე. არ არის აუცილებელი, თქვენი KMS იმავე GCP პროექტში შექმნათ, სადაც OpenAI-ის ფედერაციული იდენტობა ამოიცანით; თუმცა, თუ პროექტები განსხვავდება, KMS პროდუქტი სულ მცირე ორივე პროექტში უნდა იყოს ჩართული.

3. შექმენით ახალი KMS გასაღები

  1. გადადით Security -> Data Protection > Key Management-ზე

  2. Overview ჩანართში დააწკაპუნეთ Create key ring-ზე

  1. აირჩიეთ ნებისმიერი სახელი თქვენი key ring-ისთვის

  2. Purpose and algorithm-ისთვის აირჩიეთ Symmetric encrypt/decrypt

GCP Key Management Overview page with the Create Key Ring button highlighted
  1. key ring-ის შექმნის შემდეგ, ის უნდა გამოჩნდეს Key Rings ჩანართში. დააწკაპუნეთ key ring-ზე.

  2. key ring-ის დეტალებში დააწკაპუნეთ Create Key-ზე

  1. აირჩიეთ ნებისმიერი სახელი თქვენი გასაღებისთვის

4. შექმენით შეზღუდული როლი KMS-ზე დაშიფვრის/გაშიფვრის ოპერაციებისთვის

  1. გადადით IAM & Admin -> Roles -> Create role-ზე

  2. როლის სათაურისა და ID-სთვის შეიყვანეთ ნებისმიერი მნიშვნელობა

  3. დააწკაპუნეთ Add Permissions-ზე, შემდეგ დაამატეთ შემდეგი

  1. cloudkms.cryptoKeyVersions.useToDecrypt

  2. cloudkms.cryptoKeyVersions.useToEncrypt

5. მიანიჭეთ OpenAI-ის ფედერაციული იდენტობა შეზღუდულ KMS როლს დაშიფვრის/გაშიფვრის ოპერაციებისთვის

  1. გადადით Security -> Data Protection > Key Management-ზე

  2. დააწკაპუნეთ თქვენი key ring-ის სახელზე, შემდეგ დააწკაპუნეთ თქვენი key name-ზე, რათა მოხვდეთ გასაღების დეტალების გვერდზე.

  1. დააწკაპუნეთ Permissions ჩანართზე, შემდეგ ღილაკზე Grant Access

Google Cloud KMS key details page with Permissions tab open and Grant Access highlighted
  1. მიანიჭეთ OpenAI-ის ფედერაციული იდენტობა ადრე შექმნილ მორგებულ როლს

  1. Add principals სექციაში შეიყვანეთ principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365

  1. Assign roles სექციაში აირჩიეთ წინა ნაბიჯში შექმნილი მორგებული როლი EKM-ის შეზღუდული ნებართვებისთვის

6. გამოიყენეთ ნებისმიერი დამატებითი შეზღუდვა თქვენი უსაფრთხოების პრაქტიკის შესაბამისად

ზემოთ მოცემულია მინიმალური აუცილებელი ინფორმაცია, რომელიც OpenAI-ს EKM-ის დასაყენებლად სჭირდება. შეგიძლიათ გამოიყენოთ დამატებითი გასაღების პოლიტიკები ან შეზღუდვები თქვენი შიდა უსაფრთხოების პრაქტიკის შესაბამისად, თუ OpenAI-ს თქვენს KMS-ზე დაშიფვრისა და გაშიფვრის ოპერაციების გამოძახება შეეძლება. როდესაც OpenAI-სთან ქვემოთ აღწერილ გასაღების რეგისტრაციის საბოლოო წერტილს გამოიძახებთ, ჩვენ შევამოწმებთ თქვენს კონფიგურაციას.

ზემოთ მოცემული ნაბიჯების დასრულების შემდეგ

ChatGPT Enterprise

გთხოვთ, დაუკავშირდეთ თქვენს OpenAI-ის საკონტაქტო პირს და გაუზიაროთ შემდეგი:

  • "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"

  • რეგიონი, სადაც თქვენი Key Management System-ის მთავარი გასაღებია განთავსებული

ჩვენ ჩავრთავთ EKM-ს თქვენი ChatGPT ორგანიზაციის/სამუშაო სივრცისთვის.

API

დაარეგისტრირეთ თქვენი გარე გასაღები OpenAI-ში

მიჰყევით ინსტრუქციებს ამ API ცნობარში: გარე გასაღებები Management API-ში

  • პირველ რიგში, დაარეგისტრირეთ თქვენი გარე გასაღები OpenAI ორგანიზაციის დონეზე, რაც შექმნის გარე გასაღების ID-ს.

  • ამ ნაბიჯში შევამოწმებთ თქვენს კონფიგურაციას GCP-ზე და დავადასტურებთ, რომ შეგვიძლია თქვენს KMS-ზე ავთენტიფიკაცია.

  • ეს ჯერ არ დაამატებს EKM-ს თქვენს OpenAI პროექტში.

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": <თქვენი org id ან project id>,
   "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"
}'

შემდეგ შექმენით OpenAI-ის პროექტი, რომელიც გარე გასაღებს უკავშირდება. ამის შემდეგ EKM გააქტიურდება თქვენს პროექტში.

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"

}'

სასარგებლო იყო ეს სტატია?