Επισκόπηση
Η Διαχείριση εταιρικών κλειδιών (EKM) επιτρέπει στην OpenAI να κρυπτογραφεί δεδομένα χρησιμοποιώντας ένα κύριο κλειδί που ελέγχετε. Αυτό το έγγραφο δείχνει πώς να ρυθμίσετε τον λογαριασμό σας GCP ώστε να δώσετε στην OpenAI περιορισμένα δικαιώματα στο KMS σας.

Βήματα
1. Δημιουργήστε μια ομοσπονδιακή ταυτότητα για την OpenAI
Η OpenAI θα εκδώσει ένα token ταυτότητας από έναν λογαριασμό GCP που ανήκει στην OpenAI και μοιάζει κάπως έτσι.
Τα azp και sub είναι το αναγνωριστικό λογαριασμού υπηρεσίας της OpenAI στο GCP
Το aud είναι το αναγνωριστικό οργανισμού OpenAI σας. Μπορείτε επίσης να επιλέξετε άλλο κοινό, όπως το αναγνωριστικό έργου OpenAI σας — δείτε τις παρακάτω οδηγίες
{
"aud": "org-xxxx",
"azp": "105900137572174660365",
"exp": 1747876928,
"iat": 1747873328,
"iss": "https://accounts.google.com",
"sub": "105900137572174660365"
}Αυτό το βήμα αναγνωρίζει τους ισχυρισμούς που γίνονται από αυτό το token ταυτότητας και επιτρέπει στο GCP STS σας να εκδώσει ένα token πρόσβασης όταν παρέχεται αυτό το token ταυτότητας.
Μεταβείτε στην ενότητα IAM & Διαχείριση -> Ομοσπονδία ταυτότητας φόρτου εργασίας και κάντε κλικ στο Δημιουργία pool

Στο βήμα Δημιουργία pool ταυτοτήτων, εισαγάγετε οτιδήποτε για το όνομα pool.
Στο βήμα Προσθήκη provider στο pool:
Στην επιλογή παρόχου, επιλέξτε OpenID Connect (OIDC)
Εισαγάγετε οτιδήποτε για το όνομα provider.
Στην ενότητα Εκδότης (URL), εισαγάγετε https://accounts.google.com
Στην ενότητα Κοινά
Επιλέξτε Επιτρεπόμενα κοινά
Εισαγάγετε το κοινό που πρέπει να υποδεικνύει η OpenAI όταν σας διαβιβάζουμε ένα token.
Για ChatGPT ή API: Μπορείτε να βάλετε το αναγνωριστικό οργανισμού OpenAI API (org-xxx)
Για API: μπορείτε να βάλετε ένα συγκεκριμένο αναγνωριστικό έργου API για μεγαλύτερη λεπτομέρεια.

Στην ενότητα Αντιστοίχιση χαρακτηριστικών
για το google.subject εισαγάγετε assertion.sub

Στην ενότητα Συνθήκες χαρακτηριστικών
Τώρα θα πρέπει να βλέπετε το pool ταυτότητας φόρτου εργασίας και τον provider ταυτότητας φόρτου εργασίας σας στη σελίδα https://console.cloud.google.com/iam-admin/workload-identity-pools
Αναγνωριστικό workload identity pool

Αναγνωριστικό workload identity provider

2. Βεβαιωθείτε ότι το KMS είναι ενεργοποιημένο
Μεταβείτε στη διεύθυνση https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview για να ενεργοποιήσετε το KMS. Δεν απαιτείται να δημιουργήσετε το KMS σας στο ίδιο έργο GCP όπου αναγνωρίσατε την ομοσπονδιακή ταυτότητα της OpenAI. Ωστόσο, εάν τα έργα διαφέρουν, το προϊόν KMS πρέπει τουλάχιστον να είναι ενεργοποιημένο και στα δύο έργα.
3. Δημιουργήστε νέο κλειδί KMS
Μεταβείτε στην ενότητα Ασφάλεια -> Προστασία δεδομένων > Διαχείριση κλειδιών
Στην καρτέλα Επισκόπηση, κάντε κλικ στο Δημιουργία δακτυλίου κλειδιών
Επιλέξτε οποιοδήποτε όνομα για τον δακτύλιο κλειδιών σας
Για τον σκοπό και τον αλγόριθμο, επιλέξτε Συμμετρική κρυπτογράφηση/αποκρυπτογράφηση

Αφού δημιουργήσετε έναν δακτύλιο κλειδιών, θα πρέπει να εμφανίζεται στην καρτέλα Δακτύλιοι κλειδιών. Κάντε κλικ στον δακτύλιο κλειδιών.
Στις λεπτομέρειες του δακτυλίου κλειδιών, κάντε κλικ στο Δημιουργία κλειδιού
Επιλέξτε οποιοδήποτε όνομα για το κλειδί σας
4. Δημιουργήστε έναν περιορισμένο ρόλο για λειτουργίες κρυπτογράφησης/αποκρυπτογράφησης στο KMS
Μεταβείτε στην ενότητα IAM & Διαχείριση -> Ρόλοι -> Δημιουργία ρόλου
Εισαγάγετε οτιδήποτε για τον τίτλο και το αναγνωριστικό του ρόλου
Κάντε κλικ στην Προσθήκη δικαιωμάτων και, στη συνέχεια, προσθέστε τα εξής
cloudkms.cryptoKeyVersions.useToDecrypt
cloudkms.cryptoKeyVersions.useToEncrypt
5. Εκχωρήστε την ομοσπονδιακή ταυτότητα της OpenAI στον περιορισμένο ρόλο KMS για λειτουργίες κρυπτογράφησης/αποκρυπτογράφησης
Μεταβείτε στην ενότητα Ασφάλεια -> Προστασία δεδομένων > Διαχείριση κλειδιών
Κάντε κλικ στο όνομα του δακτυλίου κλειδιών σας και, στη συνέχεια, κάντε κλικ στο όνομα κλειδιού σας για να μεταβείτε στη σελίδα λεπτομερειών του κλειδιού σας.
Κάντε κλικ στην καρτέλα Δικαιώματα και, στη συνέχεια, κάντε κλικ στο κουμπί Παραχώρηση πρόσβασης

Εκχωρήστε την ομοσπονδιακή ταυτότητα OpenAI στον προσαρμοσμένο ρόλο που δημιουργήσατε προηγουμένως
Για την ενότητα Προσθήκη κύριων λογαριασμών, εισαγάγετε principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365
Στην ενότητα Εκχώρηση ρόλων, επιλέξτε τον προσαρμοσμένο ρόλο που δημιουργήσατε στο προηγούμενο βήμα για περιορισμένα δικαιώματα EKM
6. Εφαρμόστε τυχόν πρόσθετους περιορισμούς σύμφωνα με τις δικές σας πρακτικές ασφάλειας
Τα παραπάνω είναι οι ελάχιστες απαιτούμενες πληροφορίες που χρειάζεται η OpenAI για τη ρύθμιση του EKM. Μπορείτε ελεύθερα να εφαρμόσετε πρόσθετες πολιτικές κλειδιών ή περιορισμούς σύμφωνα με τις δικές σας εσωτερικές πρακτικές ασφάλειας, εφόσον η OpenAI μπορεί να καλεί λειτουργίες κρυπτογράφησης και αποκρυπτογράφησης στο KMS σας. Όταν καλέσετε το τελικό σημείο καταχώρισης κλειδιού με την OpenAI που περιγράφεται παρακάτω, θα επικυρώσουμε τη ρύθμισή σας.
Αφού ολοκληρώσετε τα παραπάνω βήματα
ChatGPT Enterprise
Επικοινωνήστε με την επαφή σας στην OpenAI και κοινοποιήστε τα εξής:
"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"
Η περιοχή όπου βρίσκεται το κύριο κλειδί του συστήματος διαχείρισης κλειδιών σας
Θα ενεργοποιήσουμε το EKM για τον οργανισμό/χώρο εργασίας ChatGPT σας.
API
Καταχωρίστε το εξωτερικό κλειδί σας στην OpenAI
Ακολουθήστε τις οδηγίες σε αυτήν την αναφορά API Εξωτερικά κλειδιά στο Management API
Πρώτα, καταχωρίστε το εξωτερικό κλειδί σας σε επίπεδο οργανισμού OpenAI, κάτι που θα δημιουργήσει ένα αναγνωριστικό εξωτερικού κλειδιού.
Σε αυτό το βήμα, θα επικυρώσουμε τη ρύθμισή σας στο GCP ελέγχοντας ότι μπορούμε να πραγματοποιήσουμε έλεγχο ταυτότητας στο KMS σας.
Αυτό δεν θα προσθέσει ακόμη το EKM στο έργο 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",
"workload_identity_project_number": "123456789012",
"workload_identity_pool_id": "openai-azure",
"workload_identity_provider_id": "openai-ekm-service-role",
"audience": <το αναγνωριστικό οργανισμού ή έργου σας>,
"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"
}'Στη συνέχεια, δημιουργήστε ένα έργο OpenAI συσχετισμένο με το εξωτερικό κλειδί. Μετά από αυτό, το EKM ενεργοποιείται στο έργο σας.
curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/projects" \
-d '{
"name": "Κάποιο Έργο",
"external_key_id": "extkey_xxxx"
}'