OpenAI
Cette page a été traduite automatiquement. Afficher l’article original en anglais.

Instructions d’intégration OpenAI / GCP EKM

Instructions étape par étape pour provisionner GCP et activer EKM

Mise à jour : this minute

Aperçu

Enterprise Key Management (EKM) permet à OpenAI de chiffrer les données à l’aide d’une clé principale que vous contrôlez. Ce document explique comment configurer votre compte GCP afin d’accorder à OpenAI des autorisations limitées sur votre KMS.

Diagram of OpenAI GCP EKM integration flow using STS token exchange and KMS encrypt or decrypt requests

Étapes

1. Créer une identité fédérée pour OpenAI

OpenAI émettra un token d’identité à partir d’un compte GCP appartenant à OpenAI qui ressemble à ceci.

  • Les champs azp et sub correspondent à l’ID du compte de service d’OpenAI dans GCP

  • Le champ aud correspond à l’ID de votre organisation OpenAI. Vous pouvez aussi choisir une autre audience, comme l’ID de votre projet OpenAI — consultez les instructions ci-dessous

{
  "aud": "org-xxxx",
  "azp": "105900137572174660365",
  "exp": 1747876928,
  "iat": 1747873328,
  "iss": "https://accounts.google.com",
  "sub": "105900137572174660365"
}

Cette étape reconnaît les déclarations faites par ce token d’identité et permet à votre STS GCP d’émettre un token d’accès lorsque ce token d’identité est fourni.

  1. Accédez à IAM et administration -> Fédération d’identité de charge de travail et cliquez sur Créer un pool

GCP IAM & Admin with Workload Identity Federation selected
  1. À l’étape Créer un pool d’identités, entrez n’importe quoi comme nom du pool.

  1. À l’étape Ajouter un fournisseur au pool :

  1. Dans Sélectionner un fournisseur, sélectionnez OpenID Connect (OIDC)

  2. Entrez n’importe quoi comme nom du fournisseur.

  3. Dans la section Émetteur (URL), entrez https://accounts.google.com

  4. Dans la section Audiences

  1. Sélectionnez Audiences autorisées

  2. Entrez l’audience qu’OpenAI doit indiquer lorsque nous vous transmettons un token.

  1. Pour ChatGPT ou l’API : vous pouvez mettre l’ID d’organisation de l’API OpenAI (org-xxx)

  2. Pour l’API : vous pouvez mettre un ID de projet API spécifique pour plus de granularité.

GCP Workload Identity Provider edit page with Allowed audiences selected and Audience 1 entered
  1. Dans la section Mappage des attributs

  1. pour google.subject, entrez assertion.sub

Google Cloud attribute mapping with Google 1 google.subject mapped to OIDC 1 assertion.sub
  1. Dans la section Conditions d’attribut

  1. Vous devriez maintenant voir votre pool d’identités de charge de travail et votre fournisseur d’identités de charge de travail répertoriés sur la page https://console.cloud.google.com/iam-admin/workload-identity-pools

  1. ID du pool d’identités de charge de travail

GCP Workload Identity Pools page highlighting the provider ID value needed for OpenAI EKM setup
  1. ID du fournisseur d’identités de charge de travail

GCP Workload Identity Provider edit page with the provider ID field highlighted

2. Assurez-vous que KMS est activé

Accédez à https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview pour activer KMS. Vous n’êtes pas tenu de créer votre KMS dans le même projet GCP où vous avez reconnu l’identité fédérée d’OpenAI; toutefois, si les projets diffèrent, le produit KMS doit au moins être activé dans les deux projets.

3. Créer une nouvelle clé KMS

  1. Accédez à Sécurité -> Protection des données > Gestion des clés

  2. Sous l’onglet Aperçu, cliquez sur Créer un trousseau de clés

  1. Choisissez n’importe quel nom pour votre trousseau de clés

  2. Pour Objectif et algorithme, sélectionnez Chiffrement/déchiffrement symétrique

GCP Key Management Overview page with the Create Key Ring button highlighted
  1. Une fois que vous avez créé un trousseau de clés, il devrait figurer dans l’onglet Trousseaux de clés. Cliquez sur le trousseau de clés.

  2. Dans les détails du trousseau de clés, cliquez sur Créer une clé

  1. Choisissez n’importe quel nom pour votre clé

4. Créer un rôle limité pour les opérations de chiffrement/déchiffrement sur le KMS

  1. Accédez à IAM et administration -> Rôles -> Créer un rôle

  2. Entrez n’importe quoi comme titre et ID du rôle

  3. Cliquez sur Ajouter des autorisations, puis ajoutez les suivantes

  1. cloudkms.cryptoKeyVersions.useToDecrypt

  2. cloudkms.cryptoKeyVersions.useToEncrypt

5. Attribuer l’identité fédérée d’OpenAI au rôle KMS limité pour les opérations de chiffrement/déchiffrement

  1. Accédez à Sécurité -> Protection des données > Gestion des clés

  2. Cliquez sur le nom de votre trousseau de clés, puis sur le nom de votre clé pour accéder à la page des détails de votre clé.

  1. Cliquez sur l’onglet Autorisations, puis cliquez sur le bouton Accorder l’accès

Google Cloud KMS key details page with Permissions tab open and Grant Access highlighted
  1. Attribuez l’identité fédérée d’OpenAI au rôle personnalisé que vous avez créé précédemment

  1. Pour la section Ajouter des principaux, entrez principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365

  1. Dans la section Attribuer des rôles, sélectionnez le rôle personnalisé que vous avez créé à l’étape précédente pour les autorisations EKM limitées

6. Appliquer toute restriction supplémentaire conforme à vos propres pratiques de sécurité

Ci-dessus se trouvent les renseignements minimaux requis dont OpenAI a besoin pour configurer EKM. Vous pouvez appliquer des politiques de clé ou des restrictions supplémentaires conformes à vos propres pratiques de sécurité internes, à condition qu’OpenAI puisse appeler les opérations de chiffrement et de déchiffrement sur votre KMS. Lorsque vous appelez l’endpoint d’enregistrement de clé auprès d’OpenAI décrit ci-dessous, nous validons votre configuration.

Après avoir effectué les étapes ci-dessus

ChatGPT Enterprise

Veuillez communiquer avec votre contact OpenAI et lui transmettre ce qui suit :

  • "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"

  • La région où se trouve la clé principale de votre système de gestion des clés

Nous activerons EKM pour votre organisation/espace de travail ChatGPT.

API

Enregistrer votre clé externe auprès d’OpenAI

Suivez les instructions dans cette référence d’API Clés externes dans l’API de gestion

  • Commencez par enregistrer votre clé externe au niveau de l’organisation OpenAI, ce qui générera un ID de clé externe.

  • À cette étape, nous validerons votre configuration sur GCP en vérifiant que nous pouvons nous authentifier auprès de votre KMS.

  • Cela n’ajoutera pas encore EKM à votre projet OpenAI.

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 Config",
   "workload_identity_project_number": "123456789012",
   "workload_identity_pool_id": "openai-azure",
   "workload_identity_provider_id": "openai-ekm-service-role",
   "audience": <votre ID d’organisation ou ID de projet>,
   "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"
}'

Ensuite, créez un projet OpenAI associé à la clé externe. Après cela, EKM est activé pour votre projet.

curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/projects" \
-d '{
   "name": "Some Project",

   "external_key_id": "extkey_xxxx"

}'

Cet article vous a-t-il été utile?