Genel Bakış
Enterprise Key Management (EKM), OpenAI'ın verileri sizin kontrol ettiğiniz bir ana anahtar kullanarak şifrelemesine olanak tanır. Bu belge, OpenAI'a KMS'niz üzerinde sınırlı izinler vermek için GCP hesabınızı nasıl ayarlayacağınızı gösterir.

Adımlar
1. OpenAI için federe kimlik oluşturun
OpenAI, OpenAI'a ait bir GCP hesabından buna benzer görünen bir kimlik tokenı yayınlayacaktır.
azp ve sub, OpenAI'ın GCP'deki hizmet hesabı kimliğidir
aud, OpenAI kuruluş kimliğinizdir. OpenAI proje kimliğiniz gibi başka bir hedef kitle de seçebilirsiniz - aşağıdaki talimatlara bakın
{
"aud": "org-xxxx",
"azp": "105900137572174660365",
"exp": 1747876928,
"iat": 1747873328,
"iss": "https://accounts.google.com",
"sub": "105900137572174660365"
}Bu adım, söz konusu kimlik tokenı tarafından yapılan talepleri tanır ve bu kimlik tokenı sağlandığında GCP STS'nizin bir erişim tokenı vermesini sağlar.
IAM & Admin -> Workload Identity Federation bölümüne gidin ve Havuz Oluştur'a tıklayın

Kimlik havuzu oluştur adımında, havuz adı için herhangi bir şey girin.
Bunu ilerisi için not edin - bunu OpenAI'a kaydetmeniz gerekecek
Havuza sağlayıcı ekle adımında:
Bir sağlayıcı seçin bölümünde OpenID Connect (OIDC) seçin
Sağlayıcı adı için herhangi bir şey girin.
Veren (URL) bölümüne https://accounts.google.com girin
Hedef kitleler bölümünde
İzin verilen hedef kitleler'i seçin
OpenAI'ın size bir token ilettiğimizde belirtmesi gereken hedef kitleyi girin.
ChatGPT veya API için: OpenAI API kuruluş kimliğini (org-xxx) girebilirsiniz
API için: daha ayrıntılı kontrol için belirli bir API proje kimliği girebilirsiniz.

Öznitelik eşleme bölümünde
google.subject için assertion.sub girin

Öznitelik koşulları bölümünde
assertion.sub == "105900137572174660365"yazın
Artık https://console.cloud.google.com/iam-admin/workload-identity-pools sayfasında workload identity pool ve workload identity provider öğelerinizin listelendiğini görmelisiniz
Workload identity pool kimliği

Workload identity provider kimliği

2. KMS'nin etkin olduğundan emin olun
KMS'yi etkinleştirmek için https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview adresine gidin. KMS'nizi, OpenAI'ın federe kimliğini tanıdığınız GCP projesinin aynısında oluşturmanız gerekmez; ancak projeler farklıysa KMS ürününün en azından her iki projede de etkin olması gerekir.
3. Yeni bir KMS Anahtarı oluşturun
Security -> Data Protection > Key Management bölümüne gidin
Overview sekmesinde Anahtar halkası oluştur'a tıklayın
Anahtar halkanız için herhangi bir ad seçin
Amaç ve algoritma için Symmetric encrypt/decrypt seçin

Bir anahtar halkası oluşturduktan sonra, Key Rings sekmesinde listelenmelidir. Anahtar halkasına tıklayın.
Anahtar halkası ayrıntılarında Create Key'e tıklayın
Anahtarınız için herhangi bir ad seçin
4. KMS üzerinde şifreleme/şifre çözme işlemleri için sınırlı bir rol oluşturun
IAM & Admin -> Roles -> Create role bölümüne gidin
Rol başlığı ve kimliği için herhangi bir şey girin
İzin Ekle'ye tıklayın, ardından aşağıdakileri ekleyin
cloudkms.cryptoKeyVersions.useToDecrypt
cloudkms.cryptoKeyVersions.useToEncrypt
5. Atayın: OpenAI'ın federe kimliğini, şifreleme/şifre çözme işlemleri için sınırlı KMS rolüne atayın
Security -> Data Protection > Key Management bölümüne gidin
Anahtar halkası adınıza tıklayın, ardından anahtar ayrıntıları sayfanıza gitmek için anahtar adınıza tıklayın.
Bu sizde yoksa Bir KMS oluşturun bölümüne geri dönün
Permissions sekmesine tıklayın, ardından Erişim Ver düğmesine tıklayın

OpenAI federe kimliğini daha önce oluşturduğunuz özel role atayın
Asıl öğe ekle bölümüne şunu girin: principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365
Buradaki YOUR_GCP_PROJECT_NUMBER, YOUR_GCP_WORKLOAD_IDENTITY_POOL oluşturarak OpenAI'ın federe kimliğini tanıdığınız projedir. KMS'nizin bulunduğu projeyle aynı proje olabilir, ancak bunun gerekli olması gerekmez.
Projeler farklıysa https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview adresine giderek KMS'nin en azından diğer projede etkin olduğundan emin olun
Roller ata bölümünde, önceki adımda sınırlı EKM izinleri için oluşturduğunuz özel rolü seçin
6. Kendi güvenlik uygulamalarınız doğrultusunda ek kısıtlamalar uygulayın
Yukarıda, OpenAI'ın EKM'yi kurmak için ihtiyaç duyduğu asgari gerekli bilgiler yer almaktadır. OpenAI'ın KMS'nizde şifreleme ve şifre çözme işlemlerini çağırabilmesi koşuluyla, kendi iç güvenlik uygulamalarınız doğrultusunda ek anahtar politikaları veya kısıtlamalar uygulamakta özgürsünüz. Aşağıda açıklanan OpenAI ile anahtar kayıt uç noktasını çağırdığınızda kurulumunuzu doğrulayacağız.
Yukarıdaki adımları tamamladıktan sonra
ChatGPT Enterprise
Lütfen OpenAI irtibat kişinize ulaşın ve aşağıdakileri paylaşın:
"workload_identity_project_number": "123456789012",
OpenAI'ın workload identity'sini kaydettiğiniz 12 haneli GCP proje numarası
"workload_identity_pool_id": "openai-azure",
OpenAI için kaydettiğiniz Workload Identity sağlayıcısını içeren havuz
"workload_identity_provider_id": "openai-ekm-service-role",
OpenAI için kaydettiğiniz Workload Identity sağlayıcısı
"kms_project_id": "adjective-noun-12345",
KMS'nizin bulunduğu GCP projesinin adı
"kms_key_name": "openai-kms-key",
Key Management System ana anahtarının adı
"kms_key_ring_name": "openai-kms-key-ring",
Yönettiğiniz ana anahtarı içeren Key Management System anahtar halkası
"kms_key_location": "us-east1"
Key Management System ana anahtarınızın bulunduğu bölge
ChatGPT kuruluşunuz/çalışma alanınız için EKM'yi etkinleştireceğiz.
API
Harici anahtarınızı OpenAI ile kaydedin
Bu API referansındaki talimatları izleyin: Management API'de External Keys
Önce harici anahtarınızı OpenAI kuruluşu düzeyinde kaydedin; bu işlem bir harici anahtar kimliği oluşturacaktır.
Bu adımda, KMS'nize kimlik doğrulaması yapabildiğimizi kontrol ederek GCP üzerindeki kurulumunuzu doğrulayacağız.
Bu, henüz OpenAI projenize EKM eklemeyecektir.
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 Yapılandırması",
"workload_identity_project_number": "123456789012",
"workload_identity_pool_id": "openai-azure",
"workload_identity_provider_id": "openai-ekm-service-role",
"audience": <kuruluş kimliğiniz veya proje kimliğiniz>,
"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"
}'Ardından, harici anahtarla ilişkilendirilmiş bir OpenAI projesi oluşturun. Bundan sonra projenizde EKM etkinleştirilir.
curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/projects" \
-d '{
"name": "Bazı Projeler",
"external_key_id": "extkey_xxxx"
}'