OpenAI
این صفحه به‌صورت ماشینی ترجمه شده است. مقاله اصلی انگلیسی را مشاهده کنید.

دستورالعمل‌های یکپارچه‌سازی OpenAI / GCP EKM

دستورالعمل‌های گام‌به‌گام برای آماده‌سازی GCP و فعال‌سازی EKM

به‌روزرسانی: 11 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

مراحل

۱. یک هویت فدره‌شده برای OpenAI ایجاد کنید

OpenAI یک توکن هویت از یک حساب GCP متعلق به OpenAI صادر خواهد کرد که چیزی شبیه به این است.

  • azp و sub شناسه حساب سرویس OpenAI در GCP هستند

  • aud شناسه سازمان OpenAI شماست. همچنین می‌توانید مخاطب دیگری مانند شناسه پروژه OpenAI خود را انتخاب کنید؛ دستورالعمل‌های زیر را ببینید

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

این مرحله ادعاهای موجود در آن توکن هویت را شناسایی می‌کند و به GCP STS شما امکان می‌دهد وقتی آن توکن هویت ارائه می‌شود، یک توکن دسترسی صادر کند.

  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 هنگام ارسال توکن به شما باید مشخص کند.

  1. برای ChatGPT یا API: می‌توانید شناسه سازمان OpenAI API (org-xxx) را وارد کنید

  2. برای API: برای جزئیات بیشتر می‌توانید یک شناسه پروژه API مشخص وارد کنید.

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. اکنون باید workload identity pool و workload identity provider خود را در صفحه https://console.cloud.google.com/iam-admin/workload-identity-pools فهرست‌شده ببینید

  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

۲. مطمئن شوید KMS فعال است

برای فعال کردن KMS به https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview بروید. لازم نیست KMS خود را در همان پروژه GCP ایجاد کنید که هویت فدره‌شده OpenAI را در آن شناسایی کرده‌اید؛ با این حال، اگر پروژه‌ها متفاوت باشند، محصول KMS باید دست‌کم در هر دو پروژه فعال باشد.

۳. یک کلید KMS جدید ایجاد کنید

  1. به Security -> Data Protection > Key Management بروید

  2. در زبانه Overview روی Create key ring کلیک کنید

  1. هر نامی که می‌خواهید برای key ring خود انتخاب کنید

  2. برای Purpose و 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. هر نامی که می‌خواهید برای کلید خود انتخاب کنید

۴. یک نقش محدود برای عملیات رمزگذاری/رمزگشایی در KMS ایجاد کنید

  1. به IAM & Admin -> Roles -> Create role بروید

  2. برای عنوان نقش و ID هر چیزی وارد کنید

  3. روی Add Permissions کلیک کنید، سپس موارد زیر را اضافه کنید

  1. cloudkms.cryptoKeyVersions.useToDecrypt

  2. cloudkms.cryptoKeyVersions.useToEncrypt

۵. هویت فدره‌شده 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 ایجاد کرده‌اید انتخاب کنید

۶. هرگونه محدودیت اضافی را مطابق با رویه‌های امنیتی خود اعمال کنید

موارد بالا حداقل اطلاعات مورد نیاز برای تنظیم EKM توسط OpenAI است. آزادید سیاست‌ها یا محدودیت‌های کلیدی اضافی را مطابق با رویه‌های امنیتی داخلی خود اعمال کنید، به شرطی که 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 را دنبال کنید: کلیدهای خارجی در API مدیریت

  • ابتدا کلید خارجی خود را در سطح سازمان OpenAI ثبت کنید؛ با این کار یک شناسه کلید خارجی ایجاد می‌شود.

  • در این مرحله، با بررسی اینکه می‌توانیم به KMS شما احراز هویت کنیم، تنظیمات شما را در GCP اعتبارسنجی می‌کنیم.

  • این کار هنوز 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": <شناسه سازمان یا شناسه پروژه شما>,
   "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"

}'

آیا این مقاله مفید بود؟