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

Konfigurowanie EKM w OpenAI i AWS

Dowiedz się, jak przygotować zasoby AWS i aktywować zarządzanie kluczami w przedsiębiorstwie (EKM).

Zaktualizowano: 2 days 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 wybierz Utwórz klucz.

  2. Wybierz algorytm szyfrowania symetrycznego.

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

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

2. Utwórz niestandardową politykę ograniczającą dostęp do klucza KMS

  1. Przejdź do IAM > Polityki, a następnie wybierz Utwórz politykę.

  2. W kroku Określ uprawnienia wybierz JSON i wprowadź poniższy kod, aby dodać do polityki uprawnienia do operacji w 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": "<YOUR_KMS_ARN>"
}
]
}

3. Utwórz rolę IAM, którą OpenAI będzie przejmować, i przypisz jej politykę ograniczającą dostęp do Twojego KMS

OpenAI będzie wywoływać AssumeRole z należącego do siebie konta AWS. Ten krok umożliwia podmiotowi AWS należącemu do OpenAI przejęcie roli z ograniczonym dostępem do Twojego KMS.

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

  2. W kroku Wybierz zaufany podmiot wybierz Niestandardowa polityka zaufania.

AWS IAM Select trusted entity screen with Custom trust policy selected

Następnie wprowadź poniższy kod w polu Niestandardowa polityka zaufania, aby zezwolić na dostęp podmiotowi AWS należącemu do OpenAI.

  • Podmiot AWS należący do OpenAI to: arn:aws:iam::790389265272:role/EnterpriseKeyManagement.

  • Wskaż, jaką wartość ExternalId OpenAI ma przekazywać podczas wywołania AssumeRole.

    • W przypadku ChatGPT lub API użyj ID organizacji (org-xxx) powiązanej z Twoją przestrzenią roboczą. Znajdziesz je w ustawieniach organizacji.

    • W przypadku API możesz użyć ID konkretnego projektu API, aby bardziej szczegółowo określić zakres dostępu.

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

Następnie w kroku Dodaj uprawnienia wyszukaj nazwę polityki IAM utworzonej w poprzednim kroku. Zaznacz pole wyboru obok nazwy polityki, a następnie wybierz Dalej.

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

Na koniec w sekcji Nazwij, sprawdź i utwórz nadaj roli dowolną nazwę.

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 klucz zewnętrzny w OpenAI

Postępuj zgodnie z instrukcjami w dokumentacji API: Klucze zewnętrzne w API do zarządzania.

  1. Najpierw zarejestruj klucz zewnętrzny na poziomie organizacji OpenAI. Spowoduje to wygenerowanie identyfikatora klucza zewnętrznego.

  2. W tym kroku sprawdzimy poprawność wprowadzonych danych oraz to, czy możemy uwierzytelnić się w Twoim KMS.

  3. Nie spowoduje to jeszcze włączenia EKM w Twoim projekcie 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>"
}'

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": "Some Project",
"external_key_id": "extkey_xxxx"
}'

Czy ten artykuł był pomocny?