Επισκόπηση
Το Enterprise Key Management (EKM) επιτρέπει στην OpenAI να κρυπτογραφεί δεδομένα χρησιμοποιώντας ένα κύριο κλειδί που ελέγχετε εσείς. Για να μπορεί η OpenAI να καλεί λειτουργίες κρυπτογράφησης/αποκρυπτογράφησης στο Key Vault σας, θα πρέπει να της έχει παραχωρηθεί πρόσβαση. Αυτό το έγγραφο δείχνει πώς να ρυθμίσετε τον λογαριασμό σας Azure ώστε η OpenAI να μπορεί να αναλάβει έναν ρόλο με δικαιώματα Key Vault.

Βήματα
1. Δημιουργήστε ένα service principal για την OpenAI στον λογαριασμό σας
Λάβετε ένα access token
az account get-access-token --resource https://graph.microsoft.com
--tenant YOUR_TENANT_ID2. Δημιουργήστε το service principal - το appId στο παρακάτω αίτημα είναι το αναγνωριστικό client εφαρμογής της OpenAI. Αυτό θα δημιουργήσει ένα principal με το εμφανιζόμενο όνομα «EKM - OpenAI Azure» - θυμηθείτε το για τα επόμενα βήματα.
Οδηγίες ενσωμάτωσης OpenAI / Azure EKM - Δημιουργία service principal
curl -X POST https://graph.microsoft.com/v1.0/servicePrincipals \
-H "Authorization: Bearer $TOKEN_FROM_ABOVE" \
-H "Content-Type: application/json" \
–d '{"appId": "20a14814-5ab7-4612-a671-1382b412bf93"}'2. Δημιουργήστε έναν προσαρμοσμένο ρόλο για περιορισμένη πρόσβαση KMS
Μεταβείτε στο Subscriptions -> Access Control (IAM)
Στο αναπτυσσόμενο μενού + Add , επιλέξτε Add custom role
Μεταβείτε στην καρτέλα JSON, κάντε κλικ στο Edit και προσθέστε τα εξής
Οποιοδήποτε όνομα ρόλου - θυμηθείτε το όνομα που επιλέξατε
Τα παρακάτω δικαιώματα στο dataActions
Microsoft.KeyVault/vaults/keys/encrypt/action
Microsoft.KeyVault/vaults/keys/decrypt/action
Microsoft.KeyVault/vaults/keys/read

3. Δημιουργήστε ένα Key Vault + Key
Αν δεν έχετε ήδη, δημιουργήστε ένα νέο Key Vault στην ίδια συνδρομή όπου μόλις δημιουργήσατε τον προσαρμοσμένο ρόλο σας
Σε αυτό το Key Vault, δημιουργήστε ένα νέο Key:
Μεταβείτε στο Key Vault -> Objects -> Keys, έπειτα κάντε κλικ στο Generate/Import
Στην ενότητα Options επιλέξτε Generate

Επιλέξτε RSA για αλγόριθμο κρυπτογράφησης.
Μπορείτε να επιλέξετε οποιοδήποτε μέγεθος κλειδιού RSA
Δώστε ένα όνομα κλειδιού με την ακόλουθη μορφή: <org-xxx>--<any_name> όπου το org-xxx είναι το αναγνωριστικό οργανισμού OpenAI, το οποίο μπορείτε να βρείτε στη διεύθυνση https://platform.openai.com/settings/organization/general

Αν δεν μπορείτε να δείτε ή να δημιουργήσετε κλειδί, βεβαιωθείτε ότι έχετε τον ρόλο Key Vault Administrator. Αυτό απαιτείται ακόμη κι αν έχετε τον ρόλο Owner. Για να σας εκχωρηθεί ο ρόλος:
Μεταβείτε στο Key Vault->Access Control (IAM)
Κάντε κλικ στο Add-> Add role assignment

4. Δημιουργήστε μια εκχώρηση ρόλου για το service principal της OpenAI + το νέο προσαρμοσμένο KMS + το νέο κλειδί
Μεταβείτε στο Key Vault -> Objects -> Keys και έπειτα κάντε κλικ στη γραμμή για το κλειδί που δημιουργήσατε
Μεταβείτε στο Access control (IAM) για το κλειδί στο οποίο μόλις κάνατε κλικ (όχι το key vault σας).
Στο αναπτυσσόμενο μενού + Add, επιλέξτε Add role assignment

Στην καρτέλα Role, επιλέξτε το όνομα του προσαρμοσμένου ρόλου που μόλις δημιουργήσατε.

Στην καρτέλα Members:
Κάντε κλικ στο «+ Select members»
Πληκτρολογήστε «ekm -» στη γραμμή αναζήτησης και έπειτα θα πρέπει να εμφανιστεί το service principal της OpenAI που δημιουργήσατε στο Βήμα 1

5. Εφαρμόστε τυχόν πρόσθετους περιορισμούς σύμφωνα με τις δικές σας πρακτικές ασφαλείας
Τα παραπάνω είναι οι ελάχιστες απαιτούμενες πληροφορίες που χρειάζεται η OpenAI για να ρυθμίσει το EKM. Είστε ελεύθεροι να εφαρμόσετε πρόσθετες πολιτικές κλειδιών ή περιορισμούς σύμφωνα με τις εσωτερικές σας πρακτικές ασφαλείας, αρκεί η OpenAI να μπορεί να καλεί λειτουργίες κρυπτογράφησης και αποκρυπτογράφησης στο KMS σας. Όταν καλέσετε το τελικό σημείο καταχώρισης κλειδιού με την OpenAI που περιγράφεται παρακάτω, θα επικυρώσουμε τη ρύθμισή σας.
Αφού ολοκληρώσετε τα παραπάνω βήματα
ChatGPT Enterprise
Παρακαλούμε επικοινωνήστε με την επαφή σας στην OpenAI και κοινοποιήστε τα εξής:
"tenant_id": "<YOUR_AZURE_TENANT_UUID>"
Το UUID του tenant σας στο Azure
"vault_uri": "https://<YOUR_KEYVAULT_NAME>.vault.azure.net/"
Το URI του Azure vault που περιέχει το κύριο κλειδί που διαχειρίζεστε
"key_name": "<YOUR_KEY_NAME>"
Το όνομα του κύριου κλειδιού Azure Key Vault που διαχειρίζεστε
Το όνομα του κλειδιού πρέπει να έχει τη μορφή <org-xxx>--<any_name> όπου το org-xxx είναι το αναγνωριστικό οργανισμού OpenAI, το οποίο μπορείτε να βρείτε στη διεύθυνση https://platform.openai.com/settings/organization/general
Θα ενεργοποιήσουμε το EKM για τον οργανισμό/χώρο εργασίας ChatGPT σας.
API
Καταχωρίστε το εξωτερικό σας κλειδί στην OpenAI
Ακολουθήστε τις οδηγίες σε αυτή την αναφορά API External Keys in the Management API
Αρχικά, καταχωρίστε το εξωτερικό σας κλειδί σε επίπεδο οργανισμού OpenAI, κάτι που θα δημιουργήσει ένα αναγνωριστικό εξωτερικού κλειδιού της μορφής extkey_xxx
Σε αυτό το βήμα, θα επικυρώσουμε ότι τα στοιχεία εισόδου σας είναι έγκυρα και ότι μπορούμε να πραγματοποιήσουμε έλεγχο ταυτότητας στο KMS σας.
Αυτό δεν θα προσθέσει ακόμη EKM στο έργο OpenAI σας.
# Αυτό δημιουργεί ένα αναγνωριστικό εξωτερικού κλειδιού της μορφής extkey_xxx
curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys" \
-d '{
"type": "azure",
"name": "<ANY_FRIENDLY_NAME>",
"tenant_id": "<YOUR_AZURE_TENANT_UUID>",
"vault_uri": "https://<YOUR_KEYVAULT_NAME>.vault.azure.net/",
"key_name": "<YOUR_KEY_NAME>"
}'Έπειτα, δημιουργήστε ένα έργο OpenAI που να σχετίζεται με το εξωτερικό κλειδί. Μετά από αυτό, το EKM ενεργοποιείται στο έργο σας.
Το σώμα απόκρισης αυτής της κλήσης API θα σας δώσει το αναγνωριστικό έργου (proj_xxx)
Οδηγίες ενσωμάτωσης OpenAI / Azure EKM - Δημιουργία έργου
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"
}'