OpenAI

Petunjuk Integrasi OpenAI/AWS EKM

Instruksi langkah demi langkah untuk menyediakan AWS dan mengaktifkan EKM

Diperbarui: 18 hours ago

Ringkasan

Manajemen Kunci Enterprise (EKM) memungkinkan OpenAI mengenkripsi data menggunakan kunci master yang Anda kendalikan. Dokumen ini menjelaskan cara menyiapkan akun AWS Anda untuk memberikan izin terbatas kepada OpenAI pada KMS Anda.

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

Langkah

1. Buat kunci KMS baru

  1. Buka KMS -> Kunci yang dikelola pelanggan, lalu klik Buat Kunci.

  2. Pilih algoritma enkripsi simetris.

  3. Setelah kunci Anda dibuat, catat ARN-nya. Format yang didukung mencakup arn:aws:kms:<region>:<account_number>:key/<uuid>, ...:key/mrk-*, atau ...:alias/<alias_name>.

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

2. Buatlah kebijakan khusus untuk akses terbatas ke kunci KMS

  1. Buka IAM -> Kebijakan, lalu klik Buat Kebijakan.

  2. Pada langkah Tentukan izin, pilih JSON dan masukkan yang berikut untuk memberikan tindakan akses KMS pada kebijakan tersebut. Pastikan Anda mengganti YOUR_KMS_ARN dengan ARN dari Kunci yang Anda buat.

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>
        }
    ]
}

3. Buat IAM Role agar dapat digunakan oleh OpenAI, lalu tetapkan ke kebijakan dengan akses terbatas ke KMS Anda

OpenAI akan memanggil AssumeRole dari akun AWS milik OpenAI. Langkah ini memungkinkan prinsipal AWS OpenAI mengambil peran terbatas untuk mengakses KMS Anda.

  1. Buka IAM -> Peran, lalu klik Buat Peran.

  2. Pada langkah Pilih entitas tepercaya, pilih Kebijakan kepercayaan khusus.

AWS IAM Select trusted entity screen with Custom trust policy selected

Selanjutnya, masukkan teks berikut ke dalam kebijakan kepercayaan kustom untuk mengizinkan akses ke principal AWS OpenAI.

  • Prinsipal tersebut adalah prinsipal AWS milik OpenAI: arn:aws:iam::790389265272:role/EnterpriseKeyManagement.

  • Tunjukkan ExternalId mana yang harus disampaikan OpenAI selama proses AssumeRole.

{
    "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>,
                     ]
                }
            }
        }
    ]
}

Kemudian, pada langkah Tambahkan izin, cari nama kebijakan dari kebijakan IAM yang Anda buat pada langkah sebelumnya. Klik kotak centang di samping nama kebijakan, lalu klik Selanjutnya.

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

Terakhir, di bagian Nama, tinjau, dan buat, pilih nama peran apa pun.

4. Terapkan batasan tambahan apa pun sesuai dengan praktik keamanan Anda sendiri

Di atas adalah informasi minimum yang diperlukan OpenAI untuk menyiapkan EKM. Anda bebas menerapkan kebijakan atau pembatasan kunci tambahan sesuai dengan praktik keamanan internal Anda sendiri, selama OpenAI dapat memanggil operasi enkripsi dan dekripsi pada KMS Anda. Saat Anda memanggil endpoint pendaftaran kunci dengan OpenAI yang dijelaskan di bawah ini, kami akan memvalidasi penyiapan Anda.

Setelah menyelesaikan langkah-langkah di atas

ChatGPT Enterprise

Silakan hubungi kontak OpenAI Anda dan bagikan hal berikut:

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

    • Role ARN yang akan diasumsikan OpenAI di cloud Anda.

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

    • ARN Sistem Manajemen Kunci untuk kunci utama yang Anda kelola.

Kami akan mengaktifkan EKM untuk organisasi/workspace ChatGPT Anda.

API

Daftarkan kunci eksternal Anda dengan OpenAI

Ikuti petunjuk dalam referensi API ini: Kunci Eksternal di Management API.

  1. Pertama, daftarkan kunci eksternal Anda di tingkat organisasi OpenAI, yang akan menghasilkan ID kunci eksternal.

  2. Pada langkah ini, kami akan memvalidasi bahwa masukan Anda valid dan bahwa kami dapat mengautentikasi ke KMS Anda.

  3. Langkah ini belum akan menambahkan EKM ke proyek OpenAI Anda.

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

Lalu, buat proyek OpenAI yang terkait dengan kunci eksternal. Setelah ini, EKM diaktifkan pada proyek Anda. Isi badan respons dari panggilan API ini akan memberikan ID proyek (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"
}'

Apakah artikel ini membantu?