نمای کلی
مدیریت کلید سازمانی (EKM) به شما امکان میدهد محتوای مشتریان خود را در OpenAI با کلیدهایی رمزگذاری کنید که در سامانه مدیریت کلید خارجی (KMS) خودتان مدیریت میشوند. این قابلیت برای ChatGPT Enterprise و API در دسترس است.
OpenAI از رمزگذاری «استفاده از کلید خودتان» (BYOK) با حسابهای خارجی در AWS KMS، Google Cloud (GCP) و Azure Key Vault پشتیبانی میکند.
در حال حاضر، پیادهسازی EKM فقط برای فضاهای کاری Enterprise و Edu که نماینده حساب مشخصی در OpenAI دارند، امکانپذیر است.
نحوه کار رمزگذاری EKM در OpenAI
جریان کلی
ما یک Data Encryption Key (DEK) برای ارائهدهنده ابر شما تولید میکنیم.
KMS ابری شما یک Key Encryption Key (KEK) اصلی را مدیریت میکند که یا در ابر شما ذخیره شده یا بهصورت خارجی نگهداری میشود. نحوه پیادهسازی به انتخاب شماست.
ما از ابر شما درخواست میکنیم DEK را رمزگذاری کند تا یک encrypted DEK (eDEK) به دست آید. اگر KEK شما بهصورت خارجی ذخیره شده باشد، ابر شما فقط یک پرش اضافه به مخزن خارجیتان انجام میدهد؛ مرحلهای که برای OpenAI شفاف نیست.
رمزگذاری
هنگام رمزگذاری، دادههای شما با DEK رمزگذاری میشوند و eDEK بهعنوان فراداده در فایل ذخیره میشود.

رمزگشایی
هنگام رمزگشایی، درخواست میکنیم eDEK توسط KMS ابری شما به DEK رمزگشایی شود، و سپس دادهها را با DEK رمزگشایی میکنیم.

اصطلاحات کلیدی
Data Encryption Key (DEK) - کلیدی که دادههای شما را رمزگذاری میکند.
Encrypted Data Encryption Key (eDEK) - DEK رمزگذاریشده که توسط KMS شما تولید میشود
Key Encryption Key (KEK) - کلید اصلیای که شما مدیریت میکنید و DEK را به eDEK رمزگذاری و eDEK را به DEK رمزگشایی میکند. این کلید همیشه خارج از سامانههای OpenAI باقی میماند.
الزامات کلی پیادهسازی
در ارائهدهنده خدمات ابری شما
یک کلید جدید در KMS ابری خود (Azure، AWS یا GCP) ایجاد کنید.
یک خطمشی سفارشی و محدود با مجوزهای Encrypt/Decrypt در KMS ایجاد کنید.
برای OpenAI یک خطمشی اعتماد (AWS)، یک هویت بار کاری (GCP) یا یک اصل سرویس (برای Azure) ایجاد کنید.
برای دسترسی به KMS خود، یک نقش دارای خطمشی محدود به OpenAI اختصاص دهید.
در پلتفرمهای OpenAI
ChatGPT Enterprise
برای اهداف آزمایشی، یک فضای کاری sandbox در ChatGPT ایجاد کنید.
API
در داشبورد OpenAI خود، یک پروژه جدید ایجاد کنید که رمزگذاری در آن اعمال خواهد شد.
عملکردهای مخصوص ارائهدهنده
برای AWS، OpenAI این کار را انجام میدهد:
AssumeRole را با یک ExternalID فراخوانی میکند
برای GCP، OpenAI این کار را انجام میدهد:
نقطه پایان STS شما را از یک حساب GCP متعلق به OpenAI فراخوانی میکند
از توکن دسترسی GCP برای فراخوانی encrypt/decrypt روی KMS شما استفاده میکند.
برای Azure، OpenAI این کار را انجام میدهد:
برای vault مستاجر Azure شما یک توکن دسترسی درخواست میکند
از آن توکن دسترسی برای فراخوانی encrypt/decrypt روی Key Vault شما استفاده میکند.
اطلاعاتی که از OpenAI نیاز دارید
احراز هویت
برای AWS و GCP باید توکنهای هویت فدرهشده OpenAI را شناسایی کنید. برای Azure، باید شناسه برنامه OpenAI را برای ثبت برنامه آن شناسایی کنید.
خلاصه پارامترهای احراز هویت
| اصل AWS در OpenAI | arn:aws:iam::790389265272:role/EnterpriseKeyManagement |
| شناسه حساب سرویس GCP در OpenAI | 105900137572174660365 |
| شناسه برنامه Azure در OpenAI | 20a14814-5ab7-4612-a671-1382b412bf93 |
اطلاعات موردنیاز هنگام پیادهسازی بر اساس ارائهدهنده خدمات ابری شما
برای AWS، باید یک خطمشی اعتماد تنظیم کنید که موارد زیر را شناسایی کند:
برای GCP باید یک هویت بار کاری تنظیم کنید که موارد زیر را شناسایی کند:
برای Azure باید در مستأجر Azure خود یک اصل سرویس برای ثبت برنامه OpenAI ایجاد کنید.
یک مورد برای شناسه کلاینت برنامه OpenAI ایجاد کنید: 20a14814-5ab7-4612-a671-1382b412bf9
برای این کار میتوانید یک درخواست POST به نقطه پایان https://graph.microsoft.com/v1.0/servicePrincipals ارسال کنید.
مجوزدهی
باید خطمشیای ایجاد کنید که به هویت OpenAI اجازه دسترسی محدود به KMS شما را بدهد.
| AWS | GCP | Azure |
| kms:Decryptkms:Encrypt | cloudkms.cryptoKeyVersions.useToDecryptcloudkms.cryptoKeyVersions.useToEncrypt | Microsoft.KeyVault/vaults/keys/encrypt/actionMicrosoft.KeyVault/vaults/keys/decrypt/action |
سایر موارد
در Azure، برای نوع کلید (الگوریتم رمزگذاری کلید)، RSA را انتخاب کنید، نه EC.
اطلاعات موردنیاز OpenAI از شما
برای ثبت KMS خود در OpenAI، دستورالعملهای این سند را دنبال کنید. در ادامه، خلاصهای از پارامترهایی که باید ارائه کنید آمده است.
مرتبط با احراز هویت
AWS
GCP
Azure
شناسه مستأجر
| AWS | GCP | Azure | |
| مرتبط با احراز هویت | شناسه مستأجر | ||
| مرتبط با KMS | ARN مربوط به KMS — (مثال: arn:aws:kms:REGION:ACCOUNT_NUMBER:key:KEY_UUID) | شناسه پروژه KMS (مثال: adjective-noun-12345) نام حلقه کلید KMS نام کلید KMS مکان کلید KMS (مثال: us-east1) | نشانی URI خزانه (مثال: https://your-vault-name.vault.azure.net/) نام کلید |
پس از ثبت KMS خود در OpenAI، همچنان دستورالعملهای سند را دنبال کنید تا پیکربندی EKM را در یک پروژه API فعال کنید. برای آزمایش، یک پروژه جدید در API OpenAI ایجاد کنید.
راهنماهای پیادهسازی مختص هر ارائهدهنده
برای راهنمای گامبهگام، پیوندهای مربوطه را در ادامه ببینید. توجه داشته باشید که این راهنماها بر الزامات یکپارچهسازی با OpenAI تمرکز دارند و قرار نیست راهنمای جامعی برای کل محیط شما باشند.
ویژگیهای پشتیبانینشده در صورت فعال بودن EKM
در صورت فعال بودن EKM، ویژگیهای زیر در دسترس نیستند:
ویژگیهایی که بهطور عمومی در دسترس نیستند، از جمله ویژگیهای در نسخه بتا یا آلفا.
