OpenAI
Тази страница е машинно преведена. Вижте оригиналната статия на английски език.

Инструкции за интеграция на OpenAI / AWS EKM

Инструкции стъпка по стъпка за настройка на AWS и активиране на EKM

Актуализирано: 3 days ago

Общ преглед

Enterprise Key Management (EKM) позволява на OpenAI да шифрова данни с помощта на главен ключ, който контролирате. Този документ показва как да настроите своя AWS акаунт, за да дадете на OpenAI ограничени разрешения във вашия KMS.

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

Стъпки

1. Създайте нов KMS ключ

  1. Отидете на KMS -> Customer managed keys, след което щракнете върху Create Key.

  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

2. Създайте персонализирана политика за ограничен достъп до KMS ключа

  1. Отидете на IAM -> Policies, след което щракнете върху Create Policy.

  2. В стъпката Specify permissions изберете 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>
        }
    ]
}

3. Създайте IAM роля, която OpenAI да поеме, и я присвоете към политиката с ограничен достъп до вашия KMS

OpenAI ще извика AssumeRole от AWS акаунт, собственост на OpenAI. Тази стъпка позволява на AWS принципала на OpenAI да поеме ограничената роля за достъп до вашия KMS.

  1. Отидете на IAM -> Roles, след което щракнете върху Create Role.

  2. В стъпката Select trusted entity изберете Custom trust policy.

AWS IAM Select trusted entity screen with Custom trust policy selected

След това въведете следното в Custom trust policy, за да разрешите достъп до AWS принципала на OpenAI.

  • Принципалът е AWS принципалът на OpenAI: arn:aws:iam::790389265272:role/EnterpriseKeyManagement.

  • Посочете кой ExternalId трябва да предава OpenAI по време на процеса AssumeRole.

    • За ChatGPT или API използвайте идентификатора на организацията (org-xxx), свързан с вашето работно пространство: https://platform.api.openai.org/settings/organization/general.

    • За 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>,
                     ]
                }
            }
        }
    ]
}

След това в стъпката Add permissions потърсете името на политиката на IAM, която създадохте в предишната стъпка. Щракнете върху квадратчето за отметка до името на политиката, след което щракнете върху Next.

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

Накрая, в секцията Name, review, and create, изберете произволно име на роля.

4. Приложете всички допълнителни ограничения съгласно собствените си практики за сигурност

По-горе е посочена минимално необходимата информация, от която OpenAI се нуждае, за да настрои EKM. Можете да приложите допълнителни политики за ключове или ограничения съгласно вътрешните си практики за сигурност, стига 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 на Key Management System за главния ключ, който управлявате.

Ще активираме EKM за вашата ChatGPT организация/работно пространство.

API

Регистрирайте външния си ключ в OpenAI

Следвайте инструкциите в тази справка за API: Външни ключове в Management 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 конфигурация",
  "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": "Някакъв проект",

   "external_key_id": "extkey_xxxx"
}'

Беше ли Ви полезна тази статия?