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

Алхмууд
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 токен гаргах боломж олгоно.
IAM & Admin -> Workload Identity Federation руу очоод Create Pool дээр дарна уу

Create an identity pool, алхамд pool name.-д дурын зүйл оруулна уу
Add a provider to pool алхамд:
Select a provider хэсэгт OpenID Connect (OIDC)-ийг сонгоно уу
provider name-д дурын зүйл оруулна уу.
Issuer (URL) хэсэгт https://accounts.google.com гэж оруулна уу
Audiences хэсэгт
Allowed audiences-ийг сонгоно уу
Бид танд токен дамжуулах үед OpenAI заах ёстой audience-ийг оруулна уу.
ChatGPT эсвэл API-д: Та OpenAI API байгууллагын ID (org-xxx)-г оруулж болно
API-д: илүү нарийвчлалтай болгохын тулд тодорхой API project id оруулж болно.

Attribute mapping хэсэгт
google.subject-д assertion.sub гэж оруулна уу

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

Workload identity provider ID

2. KMS идэвхжсэн эсэхийг баталгаажуулах
KMS-ийг идэвхжүүлэхийн тулд https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview руу очно уу. OpenAI-ийн federated identity-г таньсан GCP төсөлтэй ижил төсөлд KMS-ээ үүсгэх шаардлагагүй; гэхдээ төслүүд өөр бол KMS бүтээгдэхүүн хоёр төсөлд хоёуланд нь дор хаяж идэвхжсэн байх ёстой.
3. Шинэ KMS түлхүүр үүсгэх
Security -> Data Protection > Key Management руу очно уу
Overview табын доор Create key ring дээр дарна уу
Key ring-дээ дурын нэр сонгоно уу
Purpose and algorithm-д Symmetric encrypt/decrypt-ийг сонгоно уу

Key ring үүсгэсний дараа энэ нь Key Rings таб дээр жагсаагдсан байх ёстой. Key ring дээр дарна уу.
Key ring-ийн дэлгэрэнгүйд Create Key дээр дарна уу
Түлхүүртээ дурын нэр сонгоно уу
4. KMS дээр шифрлэх/тайлах үйлдэлд зориулсан хязгаарлагдмал роль үүсгэх
IAM & Admin -> Roles -> Create role руу очно уу
Ролийн гарчиг болон ID-д дурын зүйл оруулна уу
Add Permissions дээр дарж, дараахыг нэмнэ үү
cloudkms.cryptoKeyVersions.useToDecrypt
cloudkms.cryptoKeyVersions.useToEncrypt
5. Шифрлэх/тайлах үйлдэлд зориулж OpenAI-ийн federated identity-г хязгаарлагдмал KMS рольд оноох
Security -> Data Protection > Key Management руу очно уу
Өөрийн key ring-ийн нэр дээр дарж, дараа нь түлхүүрийн дэлгэрэнгүй хуудсанд очихын тулд key name дээр дарна уу.
Permissions таб дээр дарж, дараа нь Grant Access товчийг дарна уу

OpenAI federated identity-г өмнө нь үүсгэсэн custom role-д онооно уу
Add principals хэсэгт principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365 гэж оруулна уу
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"
}'