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

پیکربندی EKM با OpenAI و AWS

با نحوهٔ آماده‌سازی AWS و فعال‌سازی مدیریت کلید سازمانی (EKM) آشنا شوید.

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

نمای کلی

مدیریت کلید سازمانی (EKM) به OpenAI امکان می‌دهد داده‌ها را با استفاده از کلید اصلی‌ای که شما کنترل می‌کنید رمزگذاری کند. این سند نشان می‌دهد چگونه حساب AWS خود را تنظیم کنید تا به OpenAI مجوزهای محدودی روی KMS خود بدهید.

AWS EKM integration flow between OpenAI EKM Service, your STS, your KMS, and your master KEK

مراحل

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

  1. به KMS > کلیدهای مدیریت‌شده توسط مشتری بروید، سپس ایجاد کلید را انتخاب کنید.

  2. یک الگوریتم رمزگذاری متقارن انتخاب کنید.

  3. پس از ایجاد کلید، ARN آن را یادداشت کنید. قالب‌های پشتیبانی‌شده عبارت‌اند از arn:aws:kms:<region>:<account_number>:key/<uuid>، ...:key/mrk-* یا ...:alias/<alias_name>.

AWS KMS customer managed key details page with key ID and ARN for test-kms

۲. یک خط‌مشی سفارشی برای دسترسی محدود به کلید KMS ایجاد کنید

  1. به IAM > خط‌مشی‌ها بروید، سپس ایجاد خط‌مشی را انتخاب کنید.

  2. در مرحلهٔ تعیین مجوزها، JSON را انتخاب کنید و متن زیر را وارد کنید تا مجوز عملیات دسترسی به KMS در خط‌مشی تعریف شود. حتماً YOUR_KMS_ARN را با ARN کلیدی که ایجاد کرده‌اید جایگزین کنید.

AWS IAM Create policy page with Specify permissions open and the JSON policy editor selected
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowEncryptDecrypt",
"Effect": "Allow",
"Action": [
"kms:Decrypt",
"kms:Encrypt"
],
"Resource": "<YOUR_KMS_ARN>"
}
]
}

۳. یک نقش IAM برای استفادهٔ OpenAI ایجاد کنید و خط‌مشی دسترسی محدود به KMS خود را به آن اختصاص دهید

OpenAI از یک حساب AWS متعلق به خود، AssumeRole را فراخوانی می‌کند. این مرحله به هویت AWS متعلق به OpenAI اجازه می‌دهد برای دسترسی به KMS شما، نقش دارای مجوزهای محدود را بر عهده بگیرد.

  1. به IAM > نقش‌ها بروید، سپس ایجاد نقش را انتخاب کنید.

  2. در مرحلهٔ انتخاب موجودیت مورد اعتماد، خط‌مشی اعتماد سفارشی را انتخاب کنید.

AWS IAM Select trusted entity screen with Custom trust policy selected

سپس متن زیر را در خط‌مشی اعتماد سفارشی وارد کنید تا به هویت AWS متعلق به OpenAI اجازهٔ دسترسی بدهید.

  • هویت موردنظر، هویت AWS متعلق به OpenAI است: arn:aws:iam::790389265272:role/EnterpriseKeyManagement.

  • مشخص کنید OpenAI باید کدام ExternalId را طی فرایند AssumeRole ارسال کند.

    • برای ChatGPT یا API، از شناسهٔ سازمان (org-xxx) مرتبط با فضای کاری خود استفاده کنید: تنظیمات سازمان.

    • برای API، می‌توانید از یک شناسهٔ پروژهٔ API مشخص استفاده کنید تا کنترل دقیق‌تری داشته باشید.

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::790389265272:role/EnterpriseKeyManagement"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"sts:ExternalId": [
"<YOUR_OPENAI_ORGANIZATION_ID>"
]
}
}
}
]
}

سپس در مرحلهٔ افزودن مجوزها، نام خط‌مشی IAM را که در مرحلهٔ قبل ایجاد کرده‌اید جست‌وجو کنید. کادر انتخاب کنار نام خط‌مشی را علامت بزنید، سپس بعدی را انتخاب کنید.

AWS IAM Add permissions page filtered to customer managed KMS policies with test-allow-kms-access selected

در پایان، در بخش نام‌گذاری، بازبینی و ایجاد، نام دلخواهی برای نقش انتخاب کنید.

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

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

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

ChatGPT Enterprise

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

  • "role_arn": "arn:aws:iam::<YOUR_AWS_ACCOUNT_NUMBER>:role/<YOUR_ROLE>"

    • ARN نقشی که OpenAI در ابر شما به عهده خواهد گرفت.

  • "kms_arn": "arn:aws:kms:<REGION>:<YOUR_AWS_ACCOUNT_NUMBER>:key/<UUID>"

    • ARN سامانه مدیریت کلید برای کلید اصلی‌ای که شما مدیریت می‌کنید.

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

API

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

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

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

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

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

curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys" \
-d '{
"type": "aws",
"name": "AWS EKM Config",
"role_arn": "arn:aws:iam::<YOUR_AWS_ACCOUNT_NUMBER>:role/<YOUR_ROLE>",
"kms_arn": "arn:aws:kms:<REGION>:<YOUR_AWS_ACCOUNT_NUMBER>:key/<UUID>",
"external_id": "<your org id or project id>"
}'

سپس، یک پروژه 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"
}'

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