Overzicht
Met Enterprise Key Management (EKM) kan OpenAI gegevens versleutelen met een hoofdsleutel die u beheert. In dit document wordt uitgelegd hoe u uw GCP-account instelt om OpenAI beperkte rechten op uw KMS te geven.

Stappen
1. Maak een gefedereerde identiteit voor OpenAI
OpenAI geeft een identiteitstoken uit vanuit een GCP-account van OpenAI dat er ongeveer zo uitziet.
De azp en sub zijn de serviceaccount-ID van OpenAI in GCP
De aud is uw OpenAI-organisatie-ID. U kunt ook een andere audience kiezen, zoals uw OpenAI-project-ID - zie de instructies hieronder
{
"aud": "org-xxxx",
"azp": "105900137572174660365",
"exp": 1747876928,
"iat": 1747873328,
"iss": "https://accounts.google.com",
"sub": "105900137572174660365"
}In deze stap worden de claims van dat identiteitstoken herkend en kan uw GCP STS een toegangstoken uitgeven wanneer dat identiteitstoken wordt aangeleverd.
Ga naar IAM & Admin -> Workload Identity Federation en klik op Pool maken

Voer in de stap Een identity pool maken iets in als poolnaam.
Onthoud dit voor later - u moet dit bij OpenAI registreren
In de stap Een provider aan pool toevoegen:
Selecteer bij Een provider selecteren OpenID Connect (OIDC)
Voer iets in als providernaam.
Voer in het gedeelte Issuer (URL) https://accounts.google.com in
In het gedeelte Audiences
Selecteer Allowed audiences
Voer de audience in die OpenAI moet aangeven wanneer we u een token doorgeven.
Voor ChatGPT of API: u kunt de OpenAI API-organisatie-ID (org-xxx) invoeren
Voor API: u kunt een specifieke API-project-id invoeren voor meer granulariteit.

In het gedeelte Attribuuttoewijzing
voert u voor google.subject assertion.sub
in
In het gedeelte Attribuutvoorwaarden
voert u
assertion.sub == "105900137572174660365"in
Nu ziet u uw workload identity pool en workload identity provider vermeld op de pagina https://console.cloud.google.com/iam-admin/workload-identity-pools
Workload identity pool-id

Workload identity provider-ID

2. Zorg dat KMS is ingeschakeld
Ga naar https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview om KMS in te schakelen. U hoeft uw KMS niet te maken in hetzelfde GCP-project waarin u de gefedereerde identiteit van OpenAI hebt herkend; als de projecten echter verschillen, moet het KMS-product in elk geval in beide projecten ingeschakeld zijn.
3. Maak een nieuwe KMS-sleutel
Ga naar Security -> Data Protection > Key Management
Klik op het tabblad Overzicht op Sleutelring maken
Kies een willekeurige naam voor uw sleutelring
Selecteer bij Doel en algoritme Symmetrisch versleutelen/ontsleutelen

Zodra u een sleutelring hebt gemaakt, moet die op het tabblad Key Rings worden vermeld. Klik op de sleutelring.
Klik in de details van de sleutelring op Sleutel maken
Kies een willekeurige naam voor uw sleutel
4. Maak een beperkte rol voor versleutelings-/ontsleutelingsbewerkingen op het KMS
Ga naar IAM & Admin -> Roles -> Rol maken
Voer iets in voor de roltitel en ID
Klik op Permissions toevoegen en voeg daarna het volgende toe
cloudkms.cryptoKeyVersions.useToDecrypt
cloudkms.cryptoKeyVersions.useToEncrypt
5. Wijs de gefedereerde identiteit van OpenAI toe aan de beperkte KMS-rol voor versleutelings-/ontsleutelingsbewerkingen
Ga naar Security -> Data Protection > Key Management
Klik op de naam van uw sleutelring en vervolgens op uw sleutelnaam om naar de detailpagina van uw sleutel te gaan.
Als u dit niet hebt, ga dan terug naar het gedeelte Een KMS maken
Klik op het tabblad Permissions en vervolgens op de knop Toegang verlenen

Wijs de gefedereerde identiteit van OpenAI toe aan de aangepaste rol die u eerder hebt gemaakt
Voer in het gedeelte Add principals principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365 in
YOUR_GCP_PROJECT_NUMBER hier is het project waarin u de gefedereerde identiteit van OpenAI hebt herkend door een YOUR_GCP_WORKLOAD_IDENTITY_POOL te maken. Dit kan, maar hoeft niet, hetzelfde project te zijn als waarin uw KMS zich bevindt.
Als de projecten verschillen, zorg er dan voor dat KMS ten minste is ingeschakeld op het andere project door naar https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview te gaan
Selecteer in het gedeelte Assign roles de aangepaste rol die u in de vorige stap hebt gemaakt voor beperkte EKM-rechten
6. Pas eventuele aanvullende beperkingen toe in lijn met uw eigen beveiligingspraktijken
Hierboven staat de minimaal vereiste informatie die OpenAI nodig heeft om EKM in te stellen. U kunt aanvullende sleutelbeleidsregels of beperkingen toepassen in lijn met uw eigen interne beveiligingspraktijken, zolang OpenAI versleutelings- en ontsleutelingsbewerkingen op uw KMS kan aanroepen. Wanneer u het endpoint voor sleutelregistratie bij OpenAI aanroept dat hieronder wordt beschreven, valideren we uw configuratie.
Na het voltooien van de bovenstaande stappen
ChatGPT Enterprise
Neem contact op met uw OpenAI-contactpersoon en deel het volgende:
"workload_identity_project_number": "123456789012",
Het 12-cijferige GCP-projectnummer waarin u de workload identity van OpenAI hebt geregistreerd
"workload_identity_pool_id": "openai-azure",
De pool met de Workload Identity-provider die u voor OpenAI hebt geregistreerd
"workload_identity_provider_id": "openai-ekm-service-role",
De Workload Identity-provider die u voor OpenAI hebt geregistreerd
"kms_project_id": "adjective-noun-12345",
De naam van het GCP-project waarin uw KMS zich bevindt
"kms_key_name": "openai-kms-key",
De naam van de hoofdsleutel van het Key Management System
"kms_key_ring_name": "openai-kms-key-ring",
De sleutelring van het Key Management System die de door u beheerde hoofdsleutel bevat
"kms_key_location": "us-east1"
De regio waar de hoofdsleutel van uw Key Management System zich bevindt
We schakelen EKM in voor uw ChatGPT-organisatie/werkruimte.
API
Registreer uw externe sleutel bij OpenAI
Volg de instructies in deze API-referentie Externe sleutels in de Management API
Registreer eerst uw externe sleutel op het niveau van de OpenAI-organisatie, waardoor een external key id wordt gegenereerd.
In deze stap valideren we uw configuratie op GCP door te controleren of we ons bij uw KMS kunnen authenticeren.
Hiermee wordt EKM nog niet aan uw OpenAI-project toegevoegd.
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-configuratie",
"workload_identity_project_number": "123456789012",
"workload_identity_pool_id": "openai-azure",
"workload_identity_provider_id": "openai-ekm-service-role",
"audience": <uw org-id of 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"
}'Maak vervolgens een OpenAI-project dat aan de externe sleutel is gekoppeld. Daarna is EKM geactiveerd voor uw project.
curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/projects" \
-d '{
"name": "Een project",
"external_key_id": "extkey_xxxx"
}'