Ülevaade
Ettevõtte võtmehaldus (EKM) võimaldab OpenAI-l krüptida andmeid teie juhitava peavõtmega. Selles dokumendis näidatakse, kuidas seadistada oma GCP konto, et anda OpenAI-le piiratud õigused teie KMS-is.

Etapid
1. Looge OpenAI jaoks liitidentiteet
OpenAI väljastab OpenAI-le kuuluvalt GCP kontolt identiteeditokeni, mis näeb välja umbes selline.
azp ja sub on OpenAI teenusekonto ID GCP-s
aud on teie OpenAI organisatsiooni ID. Võite valida ka muu sihtrühma, näiteks oma OpenAI projekti ID – vt allolevaid juhiseid
{
"aud": "org-xxxx",
"azp": "105900137572174660365",
"exp": 1747876928,
"iat": 1747873328,
"iss": "https://accounts.google.com",
"sub": "105900137572174660365"
}See etapp tuvastab selle identiteeditokeni esitatud väited ja võimaldab teie GCP STS-il väljastada juurdepääsutokeni, kui see identiteeditoken esitatakse.
Avage IAM & Admin -> Workload Identity Federation ja klõpsake nuppu Create Pool

Etapis Create an identity pool, sisestage kogumi nimeks mis tahes väärtus.
Etapis Add a provider to pool:
Väljal Select a provider valige OpenID Connect (OIDC)
Sisestage pakkuja nimeks mis tahes väärtus.
Jaotises Issuer (URL) sisestage https://accounts.google.com
Jaotises Audiences
Valige Allowed audiences
Sisestage sihtrühm, mille OpenAI peaks märkima, kui edastame teile tokeni.
ChatGPT või API jaoks: võite sisestada OpenAI API organisatsiooni ID (org-xxx)
API jaoks: suurema detailsuse saavutamiseks võite sisestada konkreetse API projekti ID.

Jaotises Attribute mapping
välja google.subject jaoks sisestage assertion.sub

Jaotises Attribute conditions
Nüüd peaksite nägema oma töökoormuse identiteedi kogumit ja töökoormuse identiteedi pakkujat lehel https://console.cloud.google.com/iam-admin/workload-identity-pools
Töökoormuse identiteedi kogumi ID

Töökoormuse identiteedi pakkuja ID

2. Veenduge, et KMS oleks lubatud
KMS-i lubamiseks avage https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview. Te ei pea looma oma KMS-i samas GCP projektis, kus tuvastasite OpenAI liitidentiteedi; kui projektid on aga erinevad, peab KMS-i toode olema vähemalt mõlemas projektis lubatud.
3. Looge uus KMS-i võti
Avage Security -> Data Protection > Key Management
Klõpsake vahekaardil Overview nuppu Create key ring
Valige oma võtmerõngale mis tahes nimi
Väljal Purpose and algorithm valige Symmetric encrypt/decrypt

Kui olete võtmerõnga loonud, peaks see olema loetletud vahekaardil Key Rings. Klõpsake võtmerõngal.
Klõpsake võtmerõnga üksikasjades nuppu Create Key
Valige oma võtmele mis tahes nimi
4. Looge KMS-is krüptimise/dekrüptimise toimingute jaoks piiratud roll
Avage IAM & Admin -> Roles -> Create role
Sisestage rolli pealkirjaks ja ID-ks mis tahes väärtus
Klõpsake nuppu Add Permissions ja seejärel lisage järgmised õigused
cloudkms.cryptoKeyVersions.useToDecrypt
cloudkms.cryptoKeyVersions.useToEncrypt
5. Määrake OpenAI liitidentiteet piiratud KMS-i rollile krüptimise/dekrüptimise toiminguteks
Avage Security -> Data Protection > Key Management
Klõpsake oma võtmerõnga nimel ja seejärel oma võtme nimel, et avada võtme üksikasjade leht.
Klõpsake vahekaarti Permissions ja seejärel nuppu Grant Access

Määrake OpenAI liitidentiteet varem loodud kohandatud rollile
Jaotises Add principals sisestage principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365
Jaotises Assign roles valige eelmises etapis piiratud EKM-i õiguste jaoks loodud kohandatud roll
6. Rakendage oma turbetavadega kooskõlas olevaid täiendavaid piiranguid
Ülal on minimaalselt nõutav teave, mida OpenAI vajab EKM-i seadistamiseks. Võite rakendada täiendavaid võtmepoliitikaid või piiranguid kooskõlas oma sisemiste turbetavadega, tingimusel et OpenAI saab teie KMS-is kutsuda krüptimise ja dekrüptimise toiminguid. Kui kutsute allpool kirjeldatud OpenAI võtme registreerimise lõpp-punkti, valideerime teie seadistuse.
Pärast ülaltoodud etappide lõpetamist
ChatGPT Enterprise
Võtke ühendust oma OpenAI kontaktisikuga ja jagage järgmist:
"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"
Piirkond, kus asub teie võtmehaldussüsteemi peavõti
Lubame EKM-i teie ChatGPT organisatsioonis/tööjaamas.
API
Registreerige oma väline võti OpenAI-s
Järgige selles API viites olevaid juhiseid: Välised võtmed haldus-API-s
Esmalt registreerige oma väline võti OpenAI organisatsiooni tasemel, mis loob välise võtme ID.
Selles etapis valideerime teie GCP seadistuse, kontrollides, et saame teie KMS-is autentida.
See ei lisa veel EKM-i teie OpenAI projektile.
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-i seadistus",
"workload_identity_project_number": "123456789012",
"workload_identity_pool_id": "openai-azure",
"workload_identity_provider_id": "openai-ekm-service-role",
"audience": <teie organisatsiooni ID või projekti 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"
}'Seejärel looge välise võtmega seotud OpenAI projekt. Pärast seda aktiveeritakse teie projektis EKM.
curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/projects" \
-d '{
"name": "Mõni projekt",
"external_key_id": "extkey_xxxx"
}'