Ħarsa ġenerali
Enterprise Key Management (EKM) jippermetti lil OpenAI tikkripta d-data billi tuża ċavetta ewlenija li tikkontrolla int. Dan id-dokument juri kif twaqqaf il-kont GCP tiegħek biex tagħti lil OpenAI permessi limitati fuq il-KMS tiegħek.

Passi
1. Oħloq identità federata għal OpenAI
OpenAI se toħroġ token tal-identità minn kont GCP proprjetà ta' OpenAI li jidher xi ħaġa bħal dan.
L-azp u s-sub huma l-ID tal-kont tas-servizz ta' OpenAI f'GCP
L-aud huwa l-ID tal-organizzazzjoni OpenAI tiegħek. Tista' wkoll tagħżel udjenza oħra bħall-ID tal-proġett OpenAI tiegħek - ara l-istruzzjonijiet hawn taħt
{
"aud": "org-xxxx",
"azp": "105900137572174660365",
"exp": 1747876928,
"iat": 1747873328,
"iss": "https://accounts.google.com",
"sub": "105900137572174660365"
}Dan il-pass jirrikonoxxi l-claims magħmula minn dak it-token tal-identità u jippermetti lill-GCP STS tiegħek joħroġ token ta' aċċess meta jiġi pprovdut dak it-token tal-identità.
Mur f'IAM & Admin -> Workload Identity Federation u kklikkja fuq Create Pool

Fil-pass Create an identity pool, daħħal kwalunkwe ħaġa għall-isem tal-pool.
Fil-pass Add a provider to pool:
F'Select a provider, agħżel OpenID Connect (OIDC)
Daħħal kwalunkwe ħaġa għall-provider name.
Fis-sezzjoni Issuer (URL), daħħal https://accounts.google.com
Fis-sezzjoni Audiences
Agħżel Allowed audiences
Daħħal l-udjenza li OpenAI għandha tindika meta ngħaddulek token.
Għal ChatGPT jew API: Tista' ddaħħal l-ID tal-organizzazzjoni OpenAI API (org-xxx)
Għal API: tista' ddaħħal ID ta' proġett API speċifiku għal aktar granularità.

Fis-sezzjoni Attribute mapping
għal google.subject daħħal assertion.sub

Fis-sezzjoni Attribute conditions
Issa għandek tara l-workload identity pool u l-workload identity provider tiegħek elenkati fil-paġna https://console.cloud.google.com/iam-admin/workload-identity-pools
ID tal-workload identity pool

ID tal-workload identity provider

2. Kun żgur li KMS huwa attivat
Mur f'https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview biex tattiva KMS. M'intix meħtieġ toħloq il-KMS tiegħek fl-istess proġett GCP fejn irrikonoxxejt l-identità federata ta' OpenAI; madankollu, jekk il-proġetti jkunu differenti, il-prodott KMS irid ikun tal-inqas attivat fiż-żewġ proġetti.
3. Oħloq Ċavetta KMS ġdida
Mur f' Security -> Data Protection > Key Management
Taħt it-tab Overview ikklikkja fuq Create key ring
Agħżel kwalunkwe isem għall-key ring tiegħek
Għal Purpose u algorithm, agħżel Symmetric encrypt/decrypt

Ladarba tkun ħloqt key ring, għandu jidher fit-tab Key Rings. Ikklikkja fuq il-key ring.
Fid-dettalji tal-key ring, ikklikkja fuq Create Key
Agħżel kwalunkwe isem għaċ-ċavetta tiegħek
4. Oħloq rwol limitat għall-operazzjonijiet ta' kriptaġġ/dekriptaġġ fuq il-KMS
Mur f'IAM & Admin -> Roles -> Create role
Daħħal kwalunkwe ħaġa għat-titlu u l-ID tar-rwol
Ikklikkja Add Permissions, imbagħad żid dan li ġej
cloudkms.cryptoKeyVersions.useToDecrypt
cloudkms.cryptoKeyVersions.useToEncrypt
5. Assenja l-identità federata ta' OpenAI għar-rwol KMS limitat għall-operazzjonijiet ta' kriptaġġ/dekriptaġġ
Mur f'Security -> Data Protection > Key Management
Ikklikkja fuq l-isem tal-key ring tiegħek, imbagħad ikklikkja fuq l-isem taċ-ċavetta tiegħek biex tasal fil-paġna tad-dettalji taċ-ċavetta tiegħek.
Ikklikkja fuq it-tab Permissions, imbagħad ikklikkja l-buttuna Grant Access

Assenja l-identità federata ta' OpenAI lir-rwol personalizzat li ħloqt qabel
Għas-sezzjoni Add principals, daħħal principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365
Fis-sezzjoni Assign roles, agħżel ir-rwol personalizzat li ħloqt fil-pass preċedenti għal permessi EKM limitati
6. Applika kwalunkwe restrizzjoni addizzjonali skont il-prattiki tas-sigurtà tiegħek stess
Hawn fuq hemm l-informazzjoni minima meħtieġa li OpenAI teħtieġ biex twaqqaf EKM. Int liberu tapplika politiki jew restrizzjonijiet addizzjonali taċ-ċwievet skont il-prattiki tas-sigurtà interni tiegħek stess, sakemm OpenAI tkun tista' ssejjaħ operazzjonijiet ta' kriptaġġ u dekriptaġġ fuq il-KMS tiegħek. Meta ssejjaħ il-punt ta' tmiem tar-reġistrazzjoni taċ-ċavetta ma' OpenAI li huwa deskritt hawn taħt, aħna se nivvalidaw is-setup tiegħek.
Wara li tlesti l-passi ta' hawn fuq
ChatGPT Enterprise
Jekk jogħġbok ikkuntattja lill-kuntatt tiegħek ta' OpenAI u aqsam dan li ġej:
"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"
Ir-reġjun fejn tinsab iċ-ċavetta ewlenija tas-Sistema tal-Ġestjoni taċ-Ċwievet tiegħek
Se nattivaw EKM għall-organizzazzjoni/workspace ChatGPT tiegħek.
API
Irreġistra ċ-ċavetta esterna tiegħek ma' OpenAI
Segwi l-istruzzjonijiet f'din ir-referenza tal-API External Keys fil-Management API
L-ewwel, irreġistra ċ-ċavetta esterna tiegħek fil-livell tal-organizzazzjoni OpenAI, li se tiġġenera ID ta' ċavetta esterna.
F'dan il-pass, se nivvalidaw is-setup tiegħek fuq GCP billi niċċekkjaw li nistgħu nawtentikaw mal-KMS tiegħek.
Dan għadu mhux se jżid EKM mal-proġett OpenAI tiegħek.
curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys" \
-d '{
"type": "gcp",
"name": "Konfigurazzjoni GCP EKM",
"workload_identity_project_number": "123456789012",
"workload_identity_pool_id": "openai-azure",
"workload_identity_provider_id": "openai-ekm-service-role",
"audience": <l-id tal-org tiegħek jew l-id tal-proġett>,
"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"
}'Imbagħad, oħloq proġett OpenAI assoċjat maċ-ċavetta esterna. Wara dan, EKM jiġi attivat fuq il-proġett tiegħek.
curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/projects" \
-d '{
"name": "Xi Proġett",
"external_key_id": "extkey_xxxx"
}'