OpenAI
Ta strona została przetłumaczona maszynowo. Wyświetl oryginalny artykuł w języku angielskim.

Instrukcje integracji OpenAI / AWS EKM

Instrukcje krok po kroku dotyczące konfiguracji AWS i aktywacji EKM

Zaktualizowano: 1 hour ago

Omówienie

Enterprise Key Management (EKM) umożliwia OpenAI szyfrowanie danych przy użyciu klucza głównego, który kontrolujesz. Ten dokument pokazuje, jak skonfigurować konto AWS, aby przyznać OpenAI ograniczone uprawnienia do Twojego KMS.

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

Kroki

1. Utwórz nowy klucz KMS

  1. Przejdź do KMS -> Klucze zarządzane przez klienta, a następnie kliknij Utwórz klucz.

  2. Wybierz algorytm szyfrowania symetrycznego.

  3. Po utworzeniu klucza zanotuj jego ARN. Obsługiwane formaty obejmują arn:aws:kms:<region>:<account_number>:key/<uuid>, ...:key/mrk-* lub ...:alias/<alias_name>.

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

2. Utwórz niestandardową zasadę z ograniczonym dostępem do klucza KMS

  1. Przejdź do IAM -> Zasady, a następnie kliknij Utwórz zasadę.

  2. W kroku Określ uprawnienia wybierz JSON i wprowadź poniższe ustawienia, aby przyznać zasadzie akcje dostępu do KMS. Pamiętaj, aby zastąpić YOUR_KMS_ARN identyfikatorem ARN utworzonego klucza.

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": <TWÓJ_KMS_ARN>
        }
    ]
}

3. Utwórz rolę IAM, którą OpenAI będzie przyjmować, i przypisz ją do zasady z ograniczonym dostępem do Twojego KMS

OpenAI wywoła AssumeRole z konta AWS należącego do OpenAI. Ten krok umożliwia podmiotowi głównemu AWS OpenAI przyjęcie ograniczonej roli w celu uzyskania dostępu do Twojego KMS.

  1. Przejdź do IAM -> Role, a następnie kliknij Utwórz rolę.

  2. W kroku Wybierz zaufaną jednostkę wybierz Niestandardowa zasada zaufania.

AWS IAM Select trusted entity screen with Custom trust policy selected

Następnie wprowadź poniższe informacje w sekcji Niestandardowa zasada zaufania, aby zezwolić na dostęp podmiotowi głównemu AWS OpenAI.

  • Podmiot główny to podmiot główny AWS OpenAI: arn:aws:iam::790389265272:role/EnterpriseKeyManagement.

  • Wskaż, który ExternalId OpenAI ma przekazać podczas procesu AssumeRole.

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

Następnie w kroku Dodaj uprawnienia wyszukaj nazwę utworzonej w poprzednim kroku zasady IAM. Kliknij pole wyboru obok nazwy zasady, a następnie kliknij Dalej.

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

Na koniec w sekcji Nazwa, przegląd i utworzenie wybierz dowolną nazwę roli.

4. Zastosuj wszelkie dodatkowe ograniczenia zgodnie z własnymi praktykami bezpieczeństwa

Powyżej znajduje się minimalny wymagany zestaw informacji, którego OpenAI potrzebuje do skonfigurowania EKM. Możesz stosować dodatkowe zasady kluczy lub ograniczenia zgodnie z własnymi wewnętrznymi praktykami bezpieczeństwa, o ile OpenAI może wywoływać operacje szyfrowania i odszyfrowywania w Twoim KMS. Gdy wywołasz opisany poniżej punkt końcowy rejestracji klucza w OpenAI, sprawdzimy Twoją konfigurację.

Po wykonaniu powyższych kroków

ChatGPT Enterprise

Skontaktuj się z osobą kontaktową po stronie OpenAI i udostępnij następujące informacje:

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

    • ARN roli, którą OpenAI będzie przyjmować w Twojej chmurze.

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

    • ARN systemu zarządzania kluczami dla zarządzanego przez Ciebie klucza głównego.

Włączymy EKM dla Twojej organizacji/przestrzeni roboczej ChatGPT.

API

Zarejestruj swój klucz zewnętrzny w OpenAI

Postępuj zgodnie z instrukcjami w tej dokumentacji API: Klucze zewnętrzne w Management API.

  1. Najpierw zarejestruj swój klucz zewnętrzny na poziomie organizacji OpenAI, co wygeneruje identyfikator klucza zewnętrznego.

  2. W tym kroku sprawdzimy, czy wprowadzone dane są prawidłowe i czy możemy uwierzytelnić się w Twoim KMS.

  3. Nie doda to jeszcze EKM do Twojego projektu 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": "Konfiguracja 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": <identyfikator organizacji lub identyfikator projektu>
}'

Następnie utwórz projekt OpenAI powiązany z kluczem zewnętrznym. Po wykonaniu tej czynności EKM zostanie aktywowane w Twoim projekcie. Treść odpowiedzi tego wywołania API poda Ci identyfikator projektu (proj_xxx).

curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/projects" \
-d '{
   "name": "Jakiś projekt",

   "external_key_id": "extkey_xxxx"
}'

Czy ten artykuł był pomocny?