יצירת מפתחות הצפנה באמצעות Cloud KMS
במדריך למתחילים הזה נסביר איך ליצור מפתחות הצפנה ולהשתמש בהם באמצעות Cloud Key Management Service בפרויקט שבבעלותכם. בשלבים הבאים נשתמש במסוףCloud de Confiance כדי ליצור אוספי מפתחות, מפתחות וגרסאות של מפתחות ב-Cloud KMS. הוראות לשימוש בשיטות אחרות זמינות במאמרים סקירה כללית של Autokey, יצירת מחזיק מפתחות ויצירת מפתח.
במדריך למתחילים הזה משתמשים בשורת הפקודה כדי לשלוח בקשות ל-Cloud KMS API. דוגמאות לתכנות שמשתמשות בספריות הלקוח כדי לשלוח בקשות ל-Cloud KMS API מופיעות במאמר הצפנה ופענוח.
לפני שמתחילים
-
התקינו את ה-CLI של Google Cloud.
-
הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
יוצרים או בוחרים Cloud de Confiance פרויקט.
תפקידים שנדרשים כדי לבחור או ליצור פרויקט
- Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
-
יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (
roles/resourcemanager.projectCreator), שכולל את ההרשאהresourcemanager.projects.create. איך מקצים תפקידים
-
יוצרים Cloud de Confiance פרויקט:
gcloud projects create PROJECT_ID
מחליפים את
PROJECT_IDבשם של פרויקט Cloud de Confiance שיוצרים. -
בוחרים את הפרויקט שיצרתם: Cloud de Confiance
gcloud config set project PROJECT_ID
מחליפים את
PROJECT_IDבשם הפרויקט ב- Cloud de Confiance .
מפעילים את Cloud KMS API, אם הוא עדיין לא מופעל:
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידיםgcloud services enable cloudkms.googleapis.com
-
מעניקים תפקידים לחשבון המשתמש. מריצים את הפקודה הבאה לכל אחד מהתפקידים הבאים ב-IAM:
roles/cloudkms.admin, roles/cloudkms.cryptoKeyEncrypterDecryptergcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
USER_IDENTIFIER: המזהה של חשבון המשתמש חשבון. דוגמאות מופיעות במאמר ייצוג המשתמשים במאגרי כוח עבודה בכללי מדיניות IAM. -
ROLE: תפקיד ה-IAM שאתם מקצים לחשבון המשתמש.
-
אוספי מפתחות ומפתחות
כדי להצפין ולפענח תוכן, תצטרכו מפתח Cloud KMS, שהוא חלק מאוסף מפתחות.
יוצרים אוסף מפתחות בשם test ומפתח בשם quickstart. מידע נוסף על האובייקטים האלה ועל הקשר ביניהם זמין במאמר סקירה כללית על היררכיית האובייקטים.
gcloud kms keyrings create "test" \
--location "global"gcloud kms keys create "quickstart" \
--location "global" \
--keyring "test" \
--purpose "encryption"אפשר להשתמש באפשרות list כדי להציג את השם והמטא-נתונים של המפתח שיצרתם.
gcloud kms keys list \
--location "global" \
--keyring "test"הפרטים שמוצגים הם:
NAME PURPOSE PRIMARY_STATE projects/PROJECT_ID/locations/global/keyRings/test/cryptoKeys/quickstart ENCRYPT_DECRYPT ENABLED
הצפנת נתונים
עכשיו, כשיש לכם מפתח, אתם יכולים להשתמש בו כדי להצפין טקסט או תוכן בינארי.
מאחסנים טקסט שרוצים להצפין בקובץ שנקרא mysecret.txt.
echo -n "Some text to be encrypted" > mysecret.txtכדי להצפין את הנתונים באמצעות gcloud kms encrypt, צריך לספק את פרטי המפתח, לציין את שם הקובץ של הטקסט הפשוט שרוצים להצפין ולציין את שם הקובץ שיכיל את התוכן המוצפן:
gcloud kms encrypt \
--location "global" \
--keyring "test" \
--key "quickstart" \
--plaintext-file ./mysecret.txt \
--ciphertext-file ./mysecret.txt.encryptedבשיטה encrypt, התוכן המוצפן נשמר בקובץ שצוין באמצעות הדגל --ciphertext-file.
פענוח טקסט מוצפן
כדי לפענח את הנתונים באמצעות gcloud kms decrypt, צריך לספק את פרטי המפתח, לציין את שם הקובץ המוצפן (קובץ טקסט מוצפן) שרוצים לפענח, ולציין את שם הקובץ שיכיל את התוכן המפוענח:
gcloud kms decrypt \
--location "global" \
--keyring "test" \
--key "quickstart" \
--ciphertext-file ./mysecret.txt.encrypted \
--plaintext-file ./mysecret.txt.decryptedהשיטה decrypt שומרת את התוכן המפוענח בקובץ שצוין באמצעות הדגל --plaintext-file.
כדי לפענח תוכן מוצפן, צריך להשתמש באותו מפתח ששימש להצפנת התוכן.
הסרת המשאבים
כדי לא לצבור חיובים בחשבון Cloud de Confiance על המשאבים שבהם השתמשתם בדף הזה, אתם צריכים למחוק את הפרויקט Cloud de Confiance יחד עם המשאבים.
מציגים את הגרסאות הזמינות של המפתח:
gcloud kms keys versions list \
--location "global" \
--keyring "test" \
--key "quickstart"כדי להשמיד גרסה, מריצים את הפקודה הבאה, כאשר 1 הוא מספר הגרסה של המפתח שרוצים להשמיד:
gcloud kms keys versions destroy 1 \
--location "global" \
--keyring "test" \
--key "quickstart"
המאמרים הבאים
- מתחילים להשתמש ב-API.
- מידע נוסף זמין במאמר בנושא הפניית API.
- מידע נוסף על הצפנת נתונים במצב מנוחה