OpenAI
הדף הזה תורגם באופן אוטומטי. לצפייה במאמר המקורי באנגלית.

הוראות לשילוב EKM בין OpenAI ל-GCP

הוראות שלב אחר שלב להגדרת GCP ולהפעלת EKM

עודכן: 9 days ago

סקירה כללית

ניהול מפתחות ארגוני (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 תנפיק אסימון זהות מחשבון GCP שבבעלותה. האסימון ייראה בערך כך.

  • הערכים של azp ושל sub הם מזהה חשבון השירות של OpenAI ב-GCP

  • הערך של aud הוא מספר הזהות הארגוני שלכם ב-OpenAI. אפשר גם לבחור קהל יעד אחר, כמו מזהה הפרויקט שלכם ב-OpenAI — ראו את ההוראות בהמשך

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

שלב זה מגדיר הכרה בטענות שבאסימון הזהות, ומאפשר לשירות STS שלכם ב-GCP להנפיק אסימון גישה כאשר אסימון הזהות הזה מוצג לו.

  1. עברו אל IAM וניהול -> איחוד זהויות של עומסי עבודה ולחצו על יצירת מאגר

GCP IAM & Admin with Workload Identity Federation selected
  1. בשלב יצירת מאגר זהויות, הזינו שם כלשהו בשדה שם המאגר.

  1. בשלב הוספת ספק למאגר:

  1. תחת בחירת ספק, בחרו OpenID Connect (OIDC)

  2. הזינו שם כלשהו בשדה שם הספק.

  3. בקטע מנפיק (כתובת URL), הזינו https://accounts.google.com

  4. בקטע קהלי יעד

  1. בחרו קהלי יעד מורשים

  2. הזינו את קהל היעד שעל OpenAI לציין כשנעביר לכם אסימון.

  1. עבור ChatGPT או API: אפשר להזין את מספר הזהות הארגוני ב-API של OpenAI (org-xxx)

  2. עבור API: אפשר להזין מזהה של פרויקט API מסוים כדי להגדיר קהל יעד ממוקד יותר.

GCP Workload Identity Provider edit page with Allowed audiences selected and Audience 1 entered
  1. בקטע מיפוי מאפיינים

  1. עבור google.subject, הזינו assertion.sub

Google Cloud attribute mapping with Google 1 google.subject mapped to OIDC 1 assertion.sub
  1. בקטע תנאים למאפיינים

  1. כעת מאגר הזהויות של עומסי העבודה וספק הזהויות של עומסי העבודה שלכם אמורים להופיע בדף https://console.cloud.google.com/iam-admin/workload-identity-pools

  1. מזהה מאגר הזהויות של עומסי העבודה

GCP Workload Identity Pools page highlighting the provider ID value needed for OpenAI EKM setup
  1. מזהה ספק הזהויות של עומסי העבודה

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

2. ודאו ש-KMS מופעל

עברו אל https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview כדי להפעיל את KMS. אין חובה ליצור את ה-KMS באותו פרויקט GCP שבו הגדרתם הכרה בזהות המאוחדת של OpenAI. עם זאת, אם מדובר בפרויקטים שונים, שירות KMS חייב לכל הפחות להיות מופעל בשניהם.

3. צרו מפתח KMS חדש

  1. עברו אל אבטחה -> הגנה על נתונים > ניהול מפתחות

  2. בכרטיסייה סקירה כללית, לחצו על יצירת צרור מפתחות

  1. בחרו שם כלשהו לצרור המפתחות שלכם

  2. תחת מטרה ואלגוריתם, בחרו הצפנה ופענוח סימטריים

GCP Key Management Overview page with the Create Key Ring button highlighted
  1. לאחר יצירת צרור המפתחות, הוא אמור להופיע בכרטיסייה צרורות מפתחות. לחצו על צרור המפתחות.

  2. בפרטי צרור המפתחות, לחצו על יצירת מפתח

  1. בחרו שם כלשהו למפתח שלכם

4. צרו תפקיד עם הרשאות מוגבלות לפעולות הצפנה ופענוח ב-KMS

  1. עברו אל IAM וניהול -> תפקידים -> יצירת תפקיד

  2. הזינו כותרת ומזהה כלשהם לתפקיד

  3. לחצו על הוספת הרשאות, ואז הוסיפו את ההרשאות הבאות

  1. cloudkms.cryptoKeyVersions.useToDecrypt

  2. cloudkms.cryptoKeyVersions.useToEncrypt

5. שייכו את הזהות המאוחדת של OpenAI לתפקיד ה-KMS בעל ההרשאות המוגבלות לפעולות הצפנה ופענוח

  1. עברו אל אבטחה -> הגנה על נתונים > ניהול מפתחות

  2. לחצו על שם צרור המפתחות שלכם, ואז על שם המפתח כדי לעבור לדף פרטי המפתח.

  1. לחצו על הכרטיסייה הרשאות, ואז על הכפתור הענקת גישה

Google Cloud KMS key details page with Permissions tab open and Grant Access highlighted
  1. שייכו את הזהות המאוחדת של OpenAI לתפקיד המותאם אישית שיצרתם קודם

  1. בקטע הוספת ישויות אבטחה, הזינו principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365

  1. בקטע הקצאת תפקידים, בחרו בתפקיד המותאם אישית שיצרתם בשלב הקודם עבור הרשאות EKM מוגבלות

6. החילו הגבלות נוספות בהתאם לנוהלי האבטחה שלכם

המידע שלעיל הוא המידע המינימלי הנדרש ל-OpenAI לצורך הגדרת EKM. אפשר להחיל כללי מדיניות או הגבלות נוספים על המפתחות בהתאם לנוהלי האבטחה הפנימיים שלכם, כל עוד OpenAI יכולה להפעיל פעולות הצפנה ופענוח ב-KMS שלכם. כשתשלחו בקשה ל-endpoint לרישום מפתחות ב-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"

  • האזור שבו נמצא המפתח הראשי של מערכת ניהול המפתחות שלכם

נפעיל EKM עבור הארגון או ה-workspace שלכם ב-ChatGPT.

API

רשמו את המפתח החיצוני שלכם ב-OpenAI

פעלו לפי ההוראות בתיעוד ה-API: מפתחות חיצוניים ב-API לניהול

  • תחילה, רשמו את המפתח החיצוני שלכם ברמת הארגון ב-OpenAI. פעולה זו תיצור מזהה מפתח חיצוני.

  • בשלב זה, נאמת את ההגדרות שלכם ב-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": <your org id or 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"

}'

האם המאמר הזה היה מועיל?