OpenAI

Petunjuk Integrasi OpenAI/AWS EKM

Instruksi langkah demi langkah untuk menyediakan AWS dan mengaktifkan EKM

Diperbarui: 13 days 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-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-*, or ...: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 mengenali bahwa prinsipal AWS OpenAI dapat 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
  3. Masukkan yang berikut ini ke dalam kebijakan kepercayaan Kustom untuk mengizinkan akses ke principal AWS OpenAI.

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

    2. Tunjukkan Externald mana yang harus OpenAI sampaikan selama proses AssumeRole.

      1. Untuk ChatGPT atau API, Anda dapat menggunakan ID Organisasi (org-xxx) yang terkait dengan workspace Anda - https://platform.api.openai.org/settings/organization/general

      2. Untuk API, Anda dapat memasukkan ID proyek API tertentu untuk perincian yang lebih spesifik

        {
            "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>,
                             ]
                        }
                    }
                }
            ]
        }
  4. 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
  5. 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 encrypt dan decrypt 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 digunakan 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 atau 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. Ini belum akan menambahkan EKM ke proyek OpenAI Anda untuk saat ini.

    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>
    }'
  4. Lalu, buat proyek OpenAI yang terkait dengan kunci eksternal. Setelah ini, EKM diaktifkan pada proyek Anda.

  5. Isi 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?