يوضّح هذا المستند كيفية استخدام مفاتيح التشفير المُدارة من قِبل العميل (CMEK) من أجل تشفير البيانات غير النشطة والتحكّم فيها في إحدى الخدمات السحابية من خلال خدمة إدارة المفاتيح في السحابة الإلكترونية. تم دمج مفتاح التشفير الذي يديره العميل (CMEK) مع ميزة تخصيص الرموز البرمجية في Gemini Code Assist. لا يتيح Gemini Code Assist استخدام مفاتيح Cloud EKM.
في هذا المستند، عليك تنفيذ ما يلي:
- تعرَّف على كيفية إنشاء مفتاح CMEK.
- منح أذونات لحساب خدمة Gemini Code Assist
- أنشئ فهرسًا لمستودع الرموز باستخدام مفتاح تشفير يديره العميل (CMEK).
- إزالة إذن الوصول إلى مستودع مفاتيح CMEK
بشكل تلقائي، يشفّر "Gemini في Google Cloud" محتوى العملاء غير النشط. يتولّى Gemini عملية التشفير نيابةً عنك بدون الحاجة إلى اتّخاذ أي إجراءات إضافية من جانبك. يُسمّى هذا الخيار ترميز Google التلقائي.
بعد إعداد مواردك باستخدام مفاتيح CMEK، ستكون تجربة الوصول إلى موارد Gemini مشابهة لتجربة استخدام التشفير التلقائي من Google. لمزيد من المعلومات عن خيارات التشفير، يُرجى الاطّلاع على مفاتيح التشفير التي يديرها العميل (CMEK).
قبل البدء
في إحدى بيئات التطوير التالية، يمكنك إعداد gcloud CLI:
Cloud Shell: لاستخدام وحدة طرفية على الإنترنت مع إعداد gcloud CLI مسبقًا، افتح محرِّر Cloud Shell.
Local shell: لاستخدام بيئة تطوير محلية، عليك تثبيت و إعداد gcloud CLI.
في حال استخدام موفِّر هوية خارجي، عليك أولاً تسجيل الدخول إلى gcloud CLI باستخدام هويتك الموحّدة.
في بيئة shell، شغِّل الأمر
gcloud components update
للتأكّد من أنّك قد حدّثت جميع المكوّنات المثبَّتة من gcloud إلى أحدث إصدار. في هذه الخطوة، يمكنك تثبيت gcloud وإعداده، أو يمكنك استخدام Cloud Shell.gcloud components update
إنشاء مفتاح تشفير مُدار من العميل (CMEK) ومنح الأذونات
لإنشاء مفتاح تشفير مُدار من العميل (CMEK) ومنح حساب خدمة Gemini Code Assist أذونات بشأن المفتاح، عليك تنفيذ المهام التالية:
في مشروع Google Cloud الذي تريد إدارة مفاتيحك فيه، اتّبِع الخطوات التالية:
فعِّل واجهة برمجة التطبيقات Cloud Key Management Service API.
أنشئ سلسلة مفاتيح ومفتاحًا باستخدام أحد الخيارات التالية:
- أنشئ سلسلة المفاتيح والمفتاح مباشرةً في Cloud KMS.
- استخدام مفتاح مُدار خارجيًا أنشئ المفتاح الخارجي، ثم أنشئ مفتاح Cloud EKM لإتاحة المفتاح من خلال Cloud KMS.
امنح دور CryptoKey Encrypter/Decrypter في "إدارة الهوية وإمكانية الوصول" (
roles/cloudkms.cryptoKeyEncrypterDecrypter
) إلى حساب خدمة Gemini Code Assist. امنح هذا الإذن على المفتاح الذي أنشأته.وحدة التحكّم
انتقِل إلى إدارة المفاتيح.
اختَر المفتاح الذي أنشأته.
امنح إذن الوصول إلى حساب خدمة Gemini Code Assist:
- انقر على إضافة مدير.
- أضِف حساب خدمة Gemini Code Assist. حساب الخدمة هو
service-PROJECT_NUMBER@gcp-sa-cloudaicompanions.
، حيث PROJECT_NUMBER هو رقم المشروع لمشروع Google Cloud الذي تم تفعيل Gemini Code Assist فيه. - في اختيار دور، اختَر Cloud KMS > Cloud KMS CryptoKey Encrypter/Decrypter.
- انقر على حفظ.
كرِّر الخطوة السابقة لمنح إذن الوصول إلى الحساب الذي سينشئ فهرس مستودع الرموز باستخدام مفتاح تشفير مُدار من العميل (CMEK).
ارجع إلى صفحة إدارة المفاتيح واختَر المفتاح مرة أخرى.
انقر على إظهار لوحة المعلومات. يجب أن تظهر لك الأدوار في عمود الدور/العضو.
gcloud
لمنح إذن الوصول إلى حساب خدمة Gemini Code Assist، استخدِم الأمر
kms keys add-iam-policy-binding
في بيئة shell:gcloud kms keys add-iam-policy-binding KEY_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --keyring=KEYRING_NAME \ --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-cloudaicompanion." \ --role="roles/cloudkms.cryptoKeyEncrypterDecrypter"
غيِّر القيم في السلسلة على الشكل التالي:
- KEY_NAME: اسم المفتاح
- PROJECT_ID: رقم تعريف المشروع الذي يحتوي على المفتاح
- LOCATION: الموقع الجغرافي للمفتاح
- استبدِل KEYRING_NAME باسم سلسلة المفاتيح.
- PROJECT_NUMBER: رقم المشروع لمشروع Google Cloud الذي تم تفعيل Gemini Code Assist فيه.
كرِّر الخطوة السابقة لمنح إذن الوصول إلى الحساب الذي سينشئ فهرس مستودع الرموز باستخدام مفتاح تشفير مُدار من العميل (CMEK).
لمزيد من المعلومات حول هذا الأمر، يُرجى الاطّلاع على
gcloud kms keys add-iam-policy-binding
المستندات.
يمكنك الآن إنشاء فهرس لمستودع الرموز باستخدام مفتاح مُدار من العميل باستخدام واجهة برمجة التطبيقات، وتحديد المفتاح الذي تريد استخدامه للتشفير.
إنشاء فهرس لمستودع الرموز باستخدام مفتاح تشفير يديره العميل
لإنشاء مستودع جديد يتضمّن حماية باستخدام مفتاح التشفير المُدارة من العميل (CMEK)، اتّبِع أحد الإجراءَين التاليَين:
gcloud
استخدِم الأمر gemini code-repository-indexes create
:
gcloud gemini code-repository-indexes create CODE_REPOSITORY_INDEX_NAME \
--location=LOCATION \
--kms-key="projects/KEY_PROJECT_ID/locations/LOCATION/keyRings/KEYRING_NAME/cryptoKeys/KEY_NAME"
غيِّر القيم في السلسلة على الشكل التالي:
- CODE_REPOSITORY_INDEX_NAME: اسم فهرس مستودع الرموز الجديد الذي ستنشئه
- LOCATION: الموقع الجغرافي للمفتاح
- KEY_PROJECT_ID: رقم تعريف المشروع الرئيسي.
- استبدِل KEYRING_NAME باسم سلسلة المفاتيح.
- KEY_NAME: اسم المفتاح
واجهة برمجة التطبيقات
أنشئ ملف JSON يحتوي على المعلومات التالية:
{ "kmsKey": "projects/KEY_PROJECT_ID/locations/KEY_LOCATION/keyRings/KEYRING_NAME/cryptoKeys/KEY_NAME" }
غيِّر القيم في السلسلة على الشكل التالي:
KEY_PROJECT_ID
: رقم تعريف المشروع الرئيسي- استبدِل
KEY_LOCATION
بموقع المفتاح - استبدِل
KEYRING_NAME
باسم سلسلة المفاتيح. KEY_NAME
: اسم المفتاح
استخدِم أمر
cURL
لاستدعاء الطريقةprojects.locations.codeRepositoryIndexes.create
:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://cloudaicompanion.googleapis.com/v1/projects/PROJECT_ID/locations/KEY_LOCATION/codeRepositoryIndexes?codeRepositoryIndexId=CODE_REPOSITORY_INDEX_NAME"
غيِّر القيم في السلسلة على الشكل التالي:
- استبدِل
JSON_FILE_NAME
بمسار ملف JSON الذي أنشأته في الخطوة السابقة. - استبدِل
PROJECT_ID
برقم تعريف المشروع الذي تريد إنشاء المستودع فيه. -
KEY_LOCATION
: الموقع الجغرافي الذي سيتم فيه إنشاء المستودع، ويجب أن يتطابق مع الموقع الجغرافي الذي يتوفّر فيه مفتاح CMEK. - استبدِل
CODE_REPOSITORY_INDEX_NAME
باسم فهرس مستودع الرموز الجديد الذي ستنشئه. على سبيل المثال،zg-btf-0001
.
- استبدِل
يعرض الردّ مجموعة من إدخالات السجلّ.
إزالة إذن الوصول إلى مستودع مفاتيح CMEK
هناك عدة طرق لإزالة إذن الوصول إلى مستودع مشفّر باستخدام مفتاح CMEK:
- ألغِ دور Cloud KMS CryptoKey Encrypter/Decrypter من حساب خدمة Gemini Code Assist باستخدام وحدة تحكّم API أو gcloud.
- إيقاف مفتاح التشفير المُدارة من العميل (CMEK) مؤقتًا
- تدمير مفتاح التشفير المُدار من العميل (CMEK) نهائيًا
ننصحك بإبطال الأذونات من حساب خدمة Gemini Code Assist قبل إيقاف مفتاح أو إتلافه. تكون التغييرات في الأذونات متسقة في غضون ثوانٍ، ما يتيح لك ملاحظة تأثيرات إيقاف مفتاح أو إتلافه.