تأمين البيانات هو أحد أولويات أي منظمة، والتشفير هو واحد من أكثر الطرق فعالية لحماية البيانات. ولكن كيف بالضبط؟ توفر منصة Google Cloud Platform (GCP) خدمة إدارة مفاتيح تسمى خدمة إدارة مفاتيح Google (KMS)، التي تتيح لك إنشاء وإدارة مفاتيح التشفير بسرعة.
في هذا البرنامج التعليمي، ستتعلم كيفية إنشاء واستخدام مفتاح في خدمة GCP KMS. كما ستتناول بعض المفاهيم الهامة المتعلقة بإدارة المفاتيح، مثل المفاتيح وحلقات المفاتيح وإصدارات المفاتيح.
هل أنت جاهز؟ استمر في القراءة، وقم برفع أمان بياناتك إلى المستوى التالي!
الشروط المسبقة
سيكون هذا البرنامج التعليمي عرضًا عمليًا. لمتابعة الخطوات، تأكد من أن لديك حساب GCP مع فوترة نشطة، ولكن يمكنك استخدام الفترة التجريبية المجانية.
A Google Cloud Project is a collection of resources you create and manage in GCP. Note that you should create separate projects for each of your applications. Doing so lets you efficiently manage the resources for each application. In the end, you can delete all the resources associated with a project, which is helpful for clean-up.
لإنشاء مشروع جديد على Google Cloud:
1. افتح متصفح الويب المفضل لديك وسجل الدخول إلى واجهة تحكم GCP. مثل واجهة تحكم AWS، واجهة تحكم GCP هي واجهة مبنية على الويب لإدارة الموارد الخاصة بك في Google Cloud.
2. انتقل إلى صفحة إدارة الموارد على واجهة تحكم GCP الخاصة بك، حيث يمكنك رؤية وإدارة جميع المشاريع الحالية.
3. بعد ذلك، انقر فوق زر إنشاء المشروع لإنشاء مشروع جديد.

وأخيرًا، قم بتكوين الإعدادات التالية لمشروعك الجديد، وانقر على إنشاء لإنشاء مشروعك.
- اسم المشروع – أدخل اسمًا لمشروعك، والذي لا يلزم أن يكون فريدًا، ويمكن تغييره لاحقًا. اختيار هذا البرنامج التعليمي لاسم المشروع هو gcp-kms-demo.
- الموقع – حدد المؤسسة الأم أو المجلد الذي ترغب في إنشاء هذا المشروع فيه. سيكون مشروعك الجديد الذي تم إنشاؤه في الأعلى. ولكن يمكنك تخطي هذا الحقل إذا لم يكن لديك مؤسسة.
قد لا يظهر حقل الموقع إذا كنت تستخدم حساب تجريبي.

إذا نجحت العملية، سترى مشروع Google Cloud الذي تم إنشاؤه حديثًا مدرجًا، كما هو موضح أدناه.

تمكين واجهة برمجة تطبيقات Cloud KMS لمشروع Google Cloud
لقد قمت للتو بإنشاء مشروعك الأول في Google Cloud، وعادةً ما لا يمكنك تركه غير محمي. لا داعي للقلق! واجهة برمجة تطبيقات Cloud KMS هي مجموعة من واجهات برمجة التطبيقات المشفرة التي يمكنك استخدامها لحماية بياناتك.
لاستخدام واجهة برمجة تطبيقات Cloud KMS، يجب تمكينها لمشروعك:
1. انتقل إلى صفحة مُحدد المشروع في Google وحدد مشروع Google Cloud الخاص بك (gcp-kms-demo).

2. بعد ذلك، انتقل إلى صفحة تمكين الوصول إلى واجهة برمجة التطبيقات وانقر على التالي لتأكيد تمكين واجهة برمجة التطبيقات للمشروع المحدد.

3. الآن، انقر فوق تمكين لتمكين واجهة برمجة تطبيقات Cloud KMS.

في هذه النقطة، تم تمكين واجهة برمجة التطبيقات لخدمة Cloud KMS لمشروعك. يمكنك الآن البدء في استخدام واجهة برمجة التطبيقات لـ Cloud KMS لإنشاء وإدارة مفاتيح التشفير.

بدء Cloud Shell لإنشاء مفاتيح وحلقات المفاتيح
يعد تمكين واجهة برمجة التطبيقات لـ Cloud KMS استعدادًا لك لإنشاء مفاتيح وحلقات مفاتيح لتشفير وفك تشفير بياناتك. المفاتيح وحلقات المفاتيح هي المفاهيم الأساسية في خدمة Cloud KMS.
Key | A key is an encryption key stored in a keyring that you can use to encrypt and decrypt your data. Each key has a name, and the name must be unique within the keyring. You can use IAM ( Identity and Access Management) policies to control who has access to keys. |
Keyring | A keyring is a container in Cloud KMS that holds a set of keys. You can think of the keyring as a folder on your computer that contains many files. But in essence, a keyring holds a set of keys in a specific Cloud KMS location. |
ولكن قبل إنشاء مفاتيح وحلقات مفاتيح، يجب عليك أولاً بدء Cloud Shell. Cloud Shell هو قابل للتفاعل ومجاني يمكنك استخدامه لتشغيل الأوامر على منصة Google Cloud دون الحاجة إلى تثبيت أي أدوات على جهازك.
1. في واجهة GCP Console، انقر فوق زر تنشيط Cloud Shell (أعلى اليمين) كما هو موضح أدناه، لبدء Cloud Shell.

A Cloud Shell session initializes, as shown below (at the bottom of the page), where you can run commands.

2. بعد ذلك، قم بتشغيل الأمر gcloud التالي في Cloud Shell لإنشاء حلقة مفاتيح جديدة (مفاتيح) تسمى kms-demo-keyring في الموقع العالمي.
–location “global”
عندما يُطلب منك ، انقر على السماح للمتابعة في تشغيل الأمر.

يظهر هذا الإنذار لأول مرة عند تشغيل أمر gcloud في Cloud Shell ، حيث يُطلب منك تخويل أداة gcloud للوصول إلى واجه برمجة التطبيقات KSM.

كما هو موضح أدناه ، لا توجد رسائل إخراج عند إنشاء keyring بنجاح.
استخدم مفاتيح التشفير كمحترف مع إدارة مفاتيح AWS
يرجى ملاحظة أن الموقع (عالمي) يجب أن يكون نفسه الذي حددته لـ keyring.
–location “global” \
–keyring “kms-demo-keyring” \

–purpose “encryption”
في كل مرة تقوم فيها بإنشاء مفتاح أو تدويره ، يقوم Cloud KMS بإنشاء نسخة جديدة من المفتاح. تتيح لك هذه الميزة التمرير بسهولة إلى إصدار سابق إذا كان ذلك ضروريًا.
PURPOSE | ENCRYPT_DECRYPT | Indicates the purpose of the key (encryption and decryption). |
ALGORITHM | GOOGLE_SYMMETRIC_ENCRYPTION | Indicates the key uses Google Symmetric Encryption, the default algorithm for Cloud KMS keys. |
PROTECTION_LEVEL | SOFTWARE | Indicates the key is software-protected. |
LABELS | You can add labels to keys to categorize them or to add additional information. | |
PRIMARY ID | 1 | Indicates the key is the primary key for the keyring, which is what Cloud KMS uses by default when you do not specify a key.
Note that you can have only one primary key per keyring. |
PRIMARY STATE | ENABLED | Shows the current status of the key. The ENABLED state indicates the key can be used for its specified purpose. |

مثل إنشاء keyring ، لا توجد رسائل إخراج عند إنشاء المفتاح بنجاح.
ولكن في هذه النقطة ، لديك keyring ومفتاح يمكنك استخدامهما لتشفير وفك تشفير البيانات الخاصة بك.
4. الآن ، قم بتشغيل الأمر التالي لعرض قائمة المفاتيح في –keyring (kms-demo-keyring)
سترى نتيجة مشابهة للصورة أدناه مع المعلومات التالية:
تشفير وفك تشفير البيانات باستخدام GCP KMS

1. قم بتشغيل الأمر أدناه، الذي لا يقدم إخراجًا، ولكنه ينشئ ملف نصي (gcp-kms-demo.txt) ببعض النصوص لتشفيرها.
2. بعد ذلك، قم بتشغيل كل أمر أدناه لعرض (ls) ملف النص (gcp-kms-demo.txt) وعرض (cat) محتواه للتحقق من البيانات.

# قائمة الملف النصي
# عرض محتوى الملف النصي
3. بمجرد التحقق، قم بتشغيل الأمر أدناه لتشفير البيانات في ملفك (gcp-kms-demo.txt) باستخدام مفتاحك (kms-demo-key01). ستتم تخزين البيانات المشفرة بعد ذلك في ملف جديد يسمى gcp-kms-demo.txt.encrypted.

–location “global” \
–keyring “kms-demo-keyring” \

–key “kms-demo-key01” \
–plaintext-file ./gcp-kms-demo.txt \

–ciphertext-file ./gcp-kms-demo.txt.encrypted
٤. الآن، قم بتشغيل الأمر التالي لمحاولة عرض بيانات الملف المشفرة (gcp-kms-demo.txt.encrypted).
سوف ترى رموز مكسورة وغريبة وغير قابلة للقراءة، كما هو موضح أدناه. يشير هذا الإخراج إلى أن الملف تم تشفيره بنجاح.
تحتاج إلى تخزين هذا الملف المشفر في مكان آمن. على سبيل المثال، يمكنك تخزين نسخ متعددة في AWS S3 أو GCP Cloud Storage أو Azure Blob Storage. لا يقوم Google Cloud بحفظ نسخة النص العادي من بياناتك. لذلك، إذا فقدت الملف المشفر، فإن فك تشفير الملف لاستعادة البيانات الأصلية مستحيل.

كيفية تحميل الملف إلى S3 باستخدام AWS CLI
٥. بمجرد التشفير، قم بتشغيل الأمر أدناه لفك تشفير بياناتك (gcp-kms-demo.txt.encrypted) باستخدام نفس المفتاح (kms-demo-key01). ولكن هذه المرة، يتم تخزين البيانات المفككة في ملف جديد يسمى gcp-kms-demo.txt.decrypted.
مثل عملية التشفير، لا يوفر هذا الأمر إخراجًا، ولكن ستتحقق من عملية الفك تحقق في الخطوة التالية.
–location “global” \
–keyring “kms-demo-keyring” \

–key “kms-demo-key01” \

–ciphertext-file ./gcp-kms-demo.txt.encrypted \
–plaintext-file ./gcp-kms-demo.txt.decrypted

6. أخيرًا، قم بتشغيل الأمر التالي لعرض (cat) الملف المفكّك (gcp-kms-demo.txt.decrypted) والتحقق من أن البيانات تم فك تشفيرها بنجاح.
أدناه، يمكنك رؤية البيانات الأصلية التي حفظتها في ملف نصي. تهانينا! لقد قمت بتشفير البيانات وفك تشفيرها بنجاح باستخدام Google Cloud KMS.
تنظيف موارد Google Cloud