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

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

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

به‌روزرسانی: 11 days ago

مرور کلی

مدیریت کلید سازمانی (EKM) به OpenAI امکان می‌دهد داده‌ها را با استفاده از یک کلید اصلی که شما کنترل می‌کنید رمزگذاری کند. برای اینکه OpenAI بتواند عملیات رمزگذاری/رمزگشایی را روی Key Vault شما فراخوانی کند، لازم است به ما دسترسی داده شود. این سند نشان می‌دهد چگونه حساب Azure خود را تنظیم کنید تا OpenAI بتواند نقشی با مجوزهای Key Vault را بر عهده بگیرد.

Azure EKM flow where OpenAI EKM uses Microsoft Entra ID to access your Key Vault and master KEK

مراحل

۱. یک سرویس پرینسیپال برای OpenAI در حساب خود ایجاد کنید

  1. یک توکن دسترسی دریافت کنید

az account get-access-token --resource https://graph.microsoft.com
--tenant YOUR_TENANT_ID
  1. سرویس پرینسیپال را ایجاد کنید؛ appId در درخواست زیر، شناسه کلاینت برنامه OpenAI است. این کار یک پرینسیپال با نام نمایشی «EKM - OpenAI Azure» ایجاد می‌کند؛ این نام را برای مراحل بعد به خاطر بسپارید.

دستورالعمل‌های یکپارچه‌سازی OpenAI / Azure EKM - ایجاد سرویس پرینسیپال

curl -X POST https://graph.microsoft.com/v1.0/servicePrincipals \
-H "Authorization: Bearer $TOKEN_FROM_ABOVE" \
-H "Content-Type: application/json" \
–d '{"appId": "20a14814-5ab7-4612-a671-1382b412bf93"}'

۲. یک نقش سفارشی برای دسترسی محدود به KMS ایجاد کنید

  1. به Subscriptions -> Access Control (IAM) بروید

  2. در منوی کشویی + Add، گزینه Add custom role را انتخاب کنید

  3. به زبانه JSON بروید، روی Edit کلیک کنید و موارد زیر را اضافه کنید:

    1. هر نام نقشی؛ نامی را که انتخاب کرده‌اید به خاطر بسپارید

    2. مجوزهای زیر در dataActions:

      1. Microsoft.KeyVault/vaults/keys/encrypt/action

      2. Microsoft.KeyVault/vaults/keys/decrypt/action

      3. Microsoft.KeyVault/vaults/keys/read

OpenAI / Azure EKM Integration Instructions Custom Role

۳. یک Key Vault + کلید ایجاد کنید

اگر از قبل ندارید، یک Key Vault جدید در همان اشتراکی ایجاد کنید که همین حالا نقش سفارشی خود را در آن ایجاد کرده‌اید.

در آن Key Vault، یک کلید جدید ایجاد کنید:

  1. به Key Vault -> Objects -> Keys بروید، سپس روی Generate/Import کلیک کنید

  2. در بخش Options گزینه Generate را انتخاب کنید

Azure Key Vault Keys page with Generate/Import highlighted to add a key
  1. برای الگوریتم رمزگذاری، RSA را انتخاب کنید.

  2. می‌توانید هر اندازه کلید RSA را انتخاب کنید

  3. یک نام کلید با قالب زیر ارائه کنید: <org-xxx>--<any_name> که در آن org-xxx شناسه سازمان OpenAI شماست و می‌توانید آن را در https://platform.openai.com/settings/organization/general پیدا کنید

Azure Key Vault key generation form with RSA selected and key name org-abcdefg--test-keyvault-key

اگر نمی‌توانید کلیدی را مشاهده یا ایجاد کنید، مطمئن شوید که نقش Key Vault Administrator را دارید. این مورد حتی اگر نقش Owner را داشته باشید نیز لازم است. برای اختصاص یافتن نقش:

  1. به Key Vault -> Access Control (IAM) بروید

  2. روی Add -> Add role assignment کلیک کنید

Azure Key Vault Access control (IAM) page with Add menu open to Add role assignment

۴. یک انتساب نقش برای سرویس پرینسیپال OpenAI + KMS سفارشی جدید + کلید جدید ایجاد کنید

  1. به Key Vault -> Objects -> Keys بروید، سپس روی ردیف کلیدی که ایجاد کرده‌اید کلیک کنید

  2. به Access control (IAM) برای کلیدی که همین حالا روی آن کلیک کردید بروید (نه Key Vault شما).

  3. در منوی کشویی + Add، گزینه Add role assignment را انتخاب کنید

Azure Key Vault Access control (IAM) page with Add menu open to Add role assignment
  1. در زبانه Role، نام نقش سفارشی‌ای را که همین حالا ایجاد کردید انتخاب کنید.

Azure role list filtered for openai- with the openai-azure-kms-role entry
  1. در زبانه Members:

    1. روی «+ Select members» کلیک کنید

    2. در نوار جست‌وجو «ekm -» را تایپ کنید؛ سپس سرویس پرینسیپال OpenAI که در مرحله ۱ ایجاد کرده‌اید باید بارگذاری شود

Azure role assignment Members step with EKM - OpenAI Azure Application selected as a member

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

موارد بالا حداقل اطلاعات موردنیاز OpenAI برای راه‌اندازی EKM است. تا زمانی که OpenAI بتواند عملیات رمزگذاری و رمزگشایی را روی KMS شما فراخوانی کند، می‌توانید سیاست‌ها یا محدودیت‌های اضافی کلید را مطابق با رویه‌های امنیتی داخلی خود اعمال کنید. وقتی نقطه پایان ثبت کلید با OpenAI را که در ادامه توضیح داده شده فراخوانی می‌کنید، ما تنظیمات شما را اعتبارسنجی خواهیم کرد.

پس از تکمیل مراحل بالا

ChatGPT Enterprise

لطفاً با مخاطب خود در OpenAI تماس بگیرید و موارد زیر را به اشتراک بگذارید:

  • "tenant_id": "<YOUR_AZURE_TENANT_UUID>"

  • "vault_uri": "https://<YOUR_KEYVAULT_NAME>.vault.azure.net/"

  • "key_name": "<YOUR_KEY_NAME>"

  • نام کلید اصلی Azure Key Vault که شما مدیریت می‌کنید

  • نام کلید باید به شکل <org-xxx>--<any_name> باشد، که در آن org-xxx شناسه سازمان OpenAI شماست که می‌توانید آن را در https://platform.openai.com/settings/organization/general پیدا کنید

ما EKM را برای سازمان/فضای کاری ChatGPT شما فعال خواهیم کرد.

API

کلید خارجی خود را در OpenAI ثبت کنید

دستورالعمل‌های این مرجع API را دنبال کنید: کلیدهای خارجی در Management API

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

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

  • این کار هنوز EKM را به پروژه OpenAI شما اضافه نمی‌کند.

# This generates an external key ID of the form extkey_xxx
curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys" \
-d '{
"type": "azure",
"name": "<ANY_FRIENDLY_NAME>",
"tenant_id": "<YOUR_AZURE_TENANT_UUID>",
"vault_uri": "https://<YOUR_KEYVAULT_NAME>.vault.azure.net/",
"key_name": "<YOUR_KEY_NAME>"
}'
  • سپس، یک پروژه OpenAI مرتبط با کلید خارجی ایجاد کنید. پس از این، EKM روی پروژه شما فعال می‌شود.

  • بدنه پاسخ این فراخوانی API شناسه پروژه (proj_xxx) را به شما می‌دهد

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"
}'

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