OpenAI
Энэ хуудсыг машинаар орчуулсан. Англи хэл дээрх нийтлэлийн эх хувилбарыг үзнэ үү.

OpenAI / GCP EKM нэгтгэх заавар

GCP-г бэлтгэж EKM-ийг идэвхжүүлэх алхамчилсан заавар

Шинэчилсэн: last month

Тойм

Enterprise Key Management (EKM) нь таны хянадаг мастер түлхүүрийг ашиглан өгөгдлийг шифрлэх боломжийг OpenAI-д олгодог. Энэ баримт бичиг нь KMS дээрээ OpenAI-д хязгаарлагдмал зөвшөөрөл өгөхөөр GCP бүртгэлээ хэрхэн тохируулахыг харуулна.

Diagram of OpenAI GCP EKM integration flow using STS token exchange and KMS encrypt or decrypt requests

Алхмууд

1. OpenAI-д зориулсан federated identity үүсгэх

OpenAI нь OpenAI-ийн эзэмшдэг GCP бүртгэлээс иймэрхүү харагдах identity токен гаргана.

  • azp болон sub нь GCP дэх OpenAI-ийн service account ID юм

  • aud нь таны OpenAI байгууллагын ID юм. Та мөн OpenAI project ID гэх мэт өөр audience сонгож болно — доорх зааврыг үзнэ үү

{
  "aud": "org-xxxx",
  "azp": "105900137572174660365",
  "exp": 1747876928,
  "iat": 1747873328,
  "iss": "https://accounts.google.com",
  "sub": "105900137572174660365"
}

Энэ алхам нь тухайн identity токеноор мэдэгдсэн claims-ийг таньж, уг identity токеныг өгсөн үед таны GCP STS-д access токен гаргах боломж олгоно.

  1. IAM & Admin -> Workload Identity Federation руу очоод Create Pool дээр дарна уу

GCP IAM & Admin with Workload Identity Federation selected
  1. Create an identity pool, алхамд pool name.-д дурын зүйл оруулна уу

  1. Add a provider to pool алхамд:

  1. Select a provider хэсэгт OpenID Connect (OIDC)-ийг сонгоно уу

  2. provider name-д дурын зүйл оруулна уу.

  3. Issuer (URL) хэсэгт https://accounts.google.com гэж оруулна уу

  4. Audiences хэсэгт

  1. Allowed audiences-ийг сонгоно уу

  2. Бид танд токен дамжуулах үед OpenAI заах ёстой audience-ийг оруулна уу.

  1. ChatGPT эсвэл API-д: Та OpenAI API байгууллагын ID (org-xxx)-г оруулж болно

  2. API-д: илүү нарийвчлалтай болгохын тулд тодорхой API project id оруулж болно.

GCP Workload Identity Provider edit page with Allowed audiences selected and Audience 1 entered
  1. Attribute mapping хэсэгт

  1. google.subjectassertion.sub гэж оруулна уу

Google Cloud attribute mapping with Google 1 google.subject mapped to OIDC 1 assertion.sub
  1. Attribute conditions хэсэгт

  1. Одоо та https://console.cloud.google.com/iam-admin/workload-identity-pools хуудсанд өөрийн workload identity pool болон workload identity provider жагсаагдсан байхыг харах ёстой

  1. Workload identity pool id

GCP Workload Identity Pools page highlighting the provider ID value needed for OpenAI EKM setup
  1. Workload identity provider ID

GCP Workload Identity Provider edit page with the provider ID field highlighted

2. KMS идэвхжсэн эсэхийг баталгаажуулах

KMS-ийг идэвхжүүлэхийн тулд https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview руу очно уу. OpenAI-ийн federated identity-г таньсан GCP төсөлтэй ижил төсөлд KMS-ээ үүсгэх шаардлагагүй; гэхдээ төслүүд өөр бол KMS бүтээгдэхүүн хоёр төсөлд хоёуланд нь дор хаяж идэвхжсэн байх ёстой.

3. Шинэ KMS түлхүүр үүсгэх

  1. Security -> Data Protection > Key Management руу очно уу

  2. Overview табын доор Create key ring дээр дарна уу

  1. Key ring-дээ дурын нэр сонгоно уу

  2. Purpose and algorithm-д Symmetric encrypt/decrypt-ийг сонгоно уу

GCP Key Management Overview page with the Create Key Ring button highlighted
  1. Key ring үүсгэсний дараа энэ нь Key Rings таб дээр жагсаагдсан байх ёстой. Key ring дээр дарна уу.

  2. Key ring-ийн дэлгэрэнгүйд Create Key дээр дарна уу

  1. Түлхүүртээ дурын нэр сонгоно уу

4. KMS дээр шифрлэх/тайлах үйлдэлд зориулсан хязгаарлагдмал роль үүсгэх

  1. IAM & Admin -> Roles -> Create role руу очно уу

  2. Ролийн гарчиг болон ID-д дурын зүйл оруулна уу

  3. Add Permissions дээр дарж, дараахыг нэмнэ үү

  1. cloudkms.cryptoKeyVersions.useToDecrypt

  2. cloudkms.cryptoKeyVersions.useToEncrypt

5. Шифрлэх/тайлах үйлдэлд зориулж OpenAI-ийн federated identity-г хязгаарлагдмал KMS рольд оноох

  1. Security -> Data Protection > Key Management руу очно уу

  2. Өөрийн key ring-ийн нэр дээр дарж, дараа нь түлхүүрийн дэлгэрэнгүй хуудсанд очихын тулд key name дээр дарна уу.

  1. Permissions таб дээр дарж, дараа нь Grant Access товчийг дарна уу

Google Cloud KMS key details page with Permissions tab open and Grant Access highlighted
  1. OpenAI federated identity-г өмнө нь үүсгэсэн custom role-д онооно уу

  1. Add principals хэсэгт principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365 гэж оруулна уу

  1. Assign roles хэсэгт хязгаарлагдмал EKM зөвшөөрөлд зориулж өмнөх алхамд үүсгэсэн custom role-оо сонгоно уу

6. Өөрийн аюулгүй байдлын практикт нийцүүлэн нэмэлт хязгаарлалт хэрэглэх

Дээрх нь EKM тохируулахад OpenAI-д хэрэгтэй шаардлагатай хамгийн бага мэдээлэл юм. OpenAI таны KMS дээр encrypt болон decrypt үйлдлүүдийг дуудах боломжтой хэвээр байвал та өөрийн дотоод аюулгүй байдлын практикт нийцүүлэн нэмэлт түлхүүрийн бодлого эсвэл хязгаарлалт хэрэглэх боломжтой. Доор тайлбарласан OpenAI-ийн түлхүүр бүртгэх эцсийн цэгийг дуудах үед бид таны тохиргоог баталгаажуулна.

Дээрх алхмуудыг гүйцэтгэсний дараа

ChatGPT Enterprise

OpenAI дахь холбоо барих хүнтэйгээ холбогдож, дараахыг хуваалцана уу:

  • "workload_identity_project_number": "123456789012",

  • "workload_identity_pool_id": "openai-azure",

  • "workload_identity_provider_id": "openai-ekm-service-role",

  • "kms_project_id": "adjective-noun-12345",

  • "kms_key_name": "openai-kms-key",

  • "kms_key_ring_name": "openai-kms-key-ring",

  • "kms_key_location": "us-east1"

  • Таны Key Management System-ийн мастер түлхүүр байрлаж буй бүс

Бид таны ChatGPT байгууллага/ажлын талбарт EKM-ийг идэвхжүүлнэ.

API

Гадаад түлхүүрээ OpenAI-д бүртгүүлэх

Энэ API лавлагаан дахь зааврыг дагана уу: Management API дахь гадаад түлхүүрүүд

  • Эхлээд гадаад түлхүүрээ OpenAI байгууллагын түвшинд бүртгүүлснээр external key id үүснэ.

  • Энэ алхамд бид таны KMS-д баталгаажиж нэвтэрч чадах эсэхээ шалган, GCP дээрх тохиргоог тань баталгаажуулна.

  • Энэ нь таны OpenAI төсөлд EKM-ийг хараахан нэмэхгүй.

curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys" \
-d '{
   "type": "gcp",
   "name": "GCP EKM тохиргоо",
   "workload_identity_project_number": "123456789012",
   "workload_identity_pool_id": "openai-azure",
   "workload_identity_provider_id": "openai-ekm-service-role",
   "audience": <таны байгууллагын ID эсвэл төслийн ID>,
   "kms_project_id": "adjective-noun-12345",
   "kms_key_name": "openai-kms-key",
   "kms_key_ring_name": "openai-kms-key-ring",
   "kms_key_location": "us-east1"
}'

Дараа нь гадаад түлхүүртэй холбоотой OpenAI төсөл үүсгэнэ үү. Үүний дараа таны төсөл дээр EKM идэвхжинэ.

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"

}'

Энэ нийтлэл танд тус болсон уу?