Pārskats
Enterprise Key Management (EKM) ļauj OpenAI šifrēt datus, izmantojot galveno atslēgu, ko kontrolējat jūs. Šajā dokumentā parādīts, kā iestatīt GCP kontu, lai piešķirtu OpenAI ierobežotas atļaujas jūsu KMS.

Darbības
1. Izveidojiet federētu identitāti OpenAI vajadzībām
OpenAI izdos identitātes tekstvienību no OpenAI piederoša GCP konta, kas izskatās aptuveni šādi.
azp un sub ir OpenAI pakalpojuma konta ID pakalpojumā GCP
aud ir jūsu OpenAI organizācijas ID. Varat izvēlēties arī citu auditoriju, piemēram, savu OpenAI projekta ID — skatiet tālāk sniegtos norādījumus
{
"aud": "org-xxxx",
"azp": "105900137572174660365",
"exp": 1747876928,
"iat": 1747873328,
"iss": "https://accounts.google.com",
"sub": "105900137572174660365"
}Šajā darbībā tiek atpazītas šīs identitātes tekstvienības ietvertās prasības, un jūsu GCP STS var izdot piekļuves tekstvienību, kad tiek iesniegta šī identitātes tekstvienība.
Dodieties uz IAM & Admin -> Workload Identity Federation un noklikšķiniet uz Create Pool

Darbībā Create an identity pool, laukam pool name ievadiet jebko.
Darbībā Add a provider to pool:
Sadaļā Select a provider atlasiet OpenID Connect (OIDC)
Laukā provider name ievadiet jebko.
Sadaļā Issuer (URL) ievadiet https://accounts.google.com
Sadaļā Audiences
Atlasiet Allowed audiences
Ievadiet auditoriju, kas OpenAI jānorāda, kad mēs jums nododam tekstvienību.
ChatGPT vai API gadījumā: varat ievadīt OpenAI API organizācijas ID (org-xxx)
API gadījumā: varat ievadīt konkrētu API projekta ID, lai panāktu lielāku detalizētību.

Sadaļā Attribute mapping
laukam google.subject ievadiet assertion.sub

Sadaļā Attribute conditions
Tagad lapā https://console.cloud.google.com/iam-admin/workload-identity-pools vajadzētu būt redzamam jūsu workload identity pool un workload identity provider
Workload identity pool id

Workload identity provider ID

2. Pārliecinieties, ka KMS ir iespējots
Dodieties uz https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview, lai iespējotu KMS. Jums nav obligāti jāizveido KMS tajā pašā GCP projektā, kur atpazināt OpenAI federēto identitāti; tomēr, ja projekti atšķiras, KMS produktam vismaz jābūt iespējotam abos projektos.
3. Izveidojiet jaunu KMS atslēgu
Dodieties uz Security -> Data Protection > Key Management
Cilnē Overview noklikšķiniet uz Create key ring
Izvēlieties jebkādu atslēgu saišķa nosaukumu
Sadaļā Purpose and algorithm atlasiet Symmetric encrypt/decrypt

Kad būsiet izveidojis atslēgu saišķi, tam jābūt redzamam cilnē Key Rings. Noklikšķiniet uz atslēgu saišķa.
Atslēgu saišķa informācijā noklikšķiniet uz Create Key
Izvēlieties jebkādu atslēgas nosaukumu
4. Izveidojiet ierobežotu lomu šifrēšanas/atšifrēšanas darbībām KMS
Dodieties uz IAM & Admin -> Roles -> Create role
Lomas nosaukumam un ID ievadiet jebko
Noklikšķiniet uz Add Permissions, pēc tam pievienojiet tālāk norādīto
cloudkms.cryptoKeyVersions.useToDecrypt
cloudkms.cryptoKeyVersions.useToEncrypt
5. Piešķiriet OpenAI federēto identitāti ierobežotajai KMS lomai šifrēšanas/atšifrēšanas darbībām
Dodieties uz Security -> Data Protection > Key Management
Noklikšķiniet uz sava key ring nosaukuma, pēc tam noklikšķiniet uz sava key name, lai atvērtu atslēgas informācijas lapu.
Noklikšķiniet uz cilnes Permissions, pēc tam noklikšķiniet uz pogas Grant Access

Piešķiriet OpenAI federēto identitāti iepriekš izveidotajai pielāgotajai lomai
Sadaļā Add principals ievadiet principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365
Sadaļā Assign roles atlasiet pielāgoto lomu, ko izveidojāt iepriekšējā darbībā ierobežotām EKM atļaujām
6. Piemērojiet jebkādus papildu ierobežojumus atbilstoši savām drošības praksēm
Iepriekš norādīta minimālā nepieciešamā informācija, kas OpenAI vajadzīga EKM iestatīšanai. Varat piemērot papildu atslēgu politikas vai ierobežojumus atbilstoši savām iekšējām drošības praksēm, ja vien OpenAI var izsaukt šifrēšanas un atšifrēšanas darbības jūsu KMS. Kad izsauksiet tālāk aprakstīto atslēgas reģistrācijas galapunktu ar OpenAI, mēs pārbaudīsim jūsu iestatījumu.
Pēc iepriekš minēto darbību pabeigšanas
ChatGPT Enterprise
Lūdzu, sazinieties ar savu OpenAI kontaktpersonu un kopīgojiet tālāk norādīto:
"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"
Reģions, kurā atrodas jūsu Key Management System galvenā atslēga
Mēs iespējosim EKM jūsu ChatGPT organizācijai/darbvietai.
API
Reģistrējiet savu ārējo atslēgu OpenAI
Izpildiet norādījumus šajā API atsaucē: Ārējās atslēgas Management API
Vispirms reģistrējiet savu ārējo atslēgu OpenAI organizācijas līmenī, kas ģenerēs ārējās atslēgas ID.
Šajā darbībā mēs pārbaudīsim jūsu iestatījumu GCP, pārliecinoties, ka varam autentificēties jūsu KMS.
Tas vēl nepievienos EKM jūsu OpenAI projektam.
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 konfigurācija",
"workload_identity_project_number": "123456789012",
"workload_identity_pool_id": "openai-azure",
"workload_identity_provider_id": "openai-ekm-service-role",
"audience": <jūsu org id vai project 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"
}'Pēc tam izveidojiet OpenAI projektu, kas saistīts ar ārējo atslēgu. Pēc tam jūsu projektā tiek aktivizēts EKM.
curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/projects" \
-d '{
"name": "Kāds projekts",
"external_key_id": "extkey_xxxx"
}'