בדף הזה מוסבר איך להשתמש במפתח הצפנה של Cloud Key Management Service שנוצר באופן ידני עם Cloud Storage, כולל הגדרת מפתחות ברירת מחדל לקטגוריות והוספת מפתחות לאובייקטים ספציפיים. מפתח הצפנה של Cloud KMS הוא מפתח הצפנה בניהול הלקוח (CMEK). מפתחות כאלו נוצרים ומנוהלים באמצעות Cloud KMS, ומאוחסנים כמפתחות תוכנה באשכול HSM או באופן חיצוני.
אם אתם רוצים להשתמש במקום זאת בתכונת Autokey של Cloud KMS כדי ליצור על פי דרישה מחזיקי מפתחות ומפתחות שמגנים על קטגוריות Cloud Storage והאובייקטים שבהן, תוכלו לעיין במאמר בנושא שימוש ב-Autokey עם משאבי Cloud Storage. כדי להחליט איזה סוג מפתח מתאים לכם כשמשווים בין CMEK לבין Cloud KMS עם Autokey והצפנת ברירת המחדל של Google, אפשר לעיין במאמר השוואה בין CMEK לבין Google-owned and Google-managed encryption keys.
לפני שמתחילים
כדי להשתמש בתכונה הזאת ב-Cloud Storage צריך:
להפעיל את ה-API ל-Cloud KMS בפרויקט שבו יאוחסנו מפתחות ההצפנה.
צריכה להיות לכם הרשאה מספקת בפרויקט שבו יאוחסנו מפתחות ההצפנה:
אם אתם הבעלים של הפרויקט שבו יאוחסנו המפתחות, סביר להניח שיש לכם את ההרשאה הדרושה.
אם אתם מתכננים ליצור אוספי מפתחות הצפנה ומפתחות הצפנה חדשים, צריכות להיות לכם ההרשאות
cloudkms.keyRings.createו-cloudkms.cryptoKeys.create.בין אם אתם מתכננים להשתמש באוספי מפתחות ובמפתחות חדשים או קיימים, צריכה להיות לכם ההרשאה
cloudkms.cryptoKeys.setIamPolicyלמפתחות שבהם תשתמשו לצורך ההצפנה.ההרשאה הזו מאפשרת לכם לתת לסוכני השירות של Cloud Storage גישה למפתחות של Cloud KMS.
ההרשאות שלמעלה כלולות בתפקיד אדמין של Cloud KMS.
להוראות על קבלת התפקיד הזה או תפקידים אחרים ב-Cloud KMS, ראו שימוש ב-IAM עם Cloud KMS
צריך להיות לכם אוסף מפתחות של Cloud KMS ולפחות מפתח אחד בתוך אוסף המפתחות.
אוסף המפתחות צריך להיות באותו מיקום שבו נמצאים הנתונים שמתכוונים להצפין, אבל הוא יכול להיות בפרויקט אחר. לרשימת המיקומים הזמינים ב-Cloud KMS, ראו מיקומים של Cloud KMS.
צריכה להיות לכם הרשאה מספקת לעבוד עם אובייקטים בקטגוריה של Cloud Storage:
אם אתם הבעלים של הפרויקט המכיל את הקטגוריה, סביר להניח שיש לכם את ההרשאה הדרושה.
אם אתם משתמשים ב-IAM, צריכה להיות לכם הרשאת
storage.objects.createכדי לכתוב אובייקטים בקטגוריה והרשאתstorage.objects.getכדי לקרוא אובייקטים מהקטגוריה. להוראות על קבלת תפקיד שיש לו את ההרשאות האלו, כמו אדמין של אובייקטים באחסון, ראו שימוש בהרשאות IAM.אם אתם משתמשים ברשימות ACL, צריכה להיות לכם הרשאת
WRITERברמת הקטגוריה כדי לכתוב אובייקטים לקטגוריה, והרשאתREADERברמת האובייקט כדי לקרוא אובייקטים מהקטגוריה. להוראות איך לעשות זאת, ראו הגדרה של רשימות ACL.
-
השגת כתובת האימייל של סוכן השירות המשויך לפרויקט המכיל את הקטגוריה של Cloud Storage. בשלב הזה יוצרים באופן אוטומטי את סוכן השירות אם הוא לא קיים.
הקצאת מפתח Cloud KMS לסוכן שירות
כדי להשתמש במפתחות הצפנה בניהול הלקוח, צריך להעניק לסוכן השירות של Cloud Storage שמשויך לקטגוריה הרשאה להשתמש במפתח של Cloud KMS להצפנה ולפענוח:
המסוף
- נכנסים לדף Key management במסוף Google Cloud .
לוחצים על השם של אוסף המפתחות שמכיל את המפתח שרוצים להשתמש בו.
מסמנים את התיבה של המפתח הרצוי.
הכרטיסייה Permissions מופיעה בחלונית הימנית.
בתיבת הדו-שיח Add principals, מציינים את כתובת האימייל של סוכן השירות של Cloud Storage שרוצים להעניק לו גישה.
בתפריט הנפתח Select a role, בוחרים Cloud KMS CryptoKey Encrypter/Decrypter.
לוחצים על הוספה.
במאמר פתרון בעיות מוסבר איך מקבלים מידע מפורט על שגיאות בנושא פעולות ב-Cloud Storage שנכשלו במסוף Google Cloud .
שורת הפקודה
משתמשים בפקודה gcloud storage service-agent עם הדגל --authorize-cmek כדי לתת לסוכן השירות המשויך לקטגוריה הרשאה להצפין ולפענח אובייקטים באמצעות מפתח של Cloud KMS:
gcloud storage service-agent --project=PROJECT_STORING_OBJECTS --authorize-cmek=KEY_RESOURCE
כאשר:
-
PROJECT_STORING_OBJECTSהוא המזהה או המספר של הפרויקט המכיל את האובייקטים שרוצים להצפין או לפענח. לדוגמה,my-pet-project. -
KEY_RESOURCEהוא משאב המפתח של Cloud KMS.
ספריות לקוח
C#
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C# API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Go
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Go API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Java
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Java API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Node.js
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Node.js API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
PHP
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage PHP API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Python
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Python API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Ruby
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Ruby API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
ממשקי API ל-REST
API בפורמט JSON
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.יוצרים קובץ JSON שמכיל את הפרטים הבאים:
{ "policy": { "bindings": { "role": "roles/cloudkms.cryptoKeyEncrypterDecrypter", "members": "serviceAccount:SERVICE_AGENT_EMAIL_ADDRESS" }, } }
כאשר
SERVICE_AGENT_EMAIL_ADDRESSהוא כתובת האימייל המשויכת לסוכן השירות. לדוגמה,service-7550275089395@gs-project-accounts.iam.gserviceaccount.com.משתמשים ב-
cURLכדי לשלוח קריאה ל-API של Cloud KMS באמצעות בקשתPOST setIamPolicy:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://cloudkms.googleapis.com/v1/KEY_RESOURCE:setIamPolicy"
כאשר:
-
JSON_FILE_NAMEהוא הנתיב לקובץ JSON שיצרתם בשלב 2. -
KEY_RESOURCEהוא משאב המפתח של Cloud KMS.
-
API בפורמט XML
אי אפשר להשתמש ב-API בפורמט XML כדי להקצות Cloud KMS לסוכן שירות. במקום זאת, צריך להשתמש באחד מהכלים האחרים של Cloud Storage, כמו ה-CLI של gcloud.
שימוש במפתחות הצפנה שמוגדרים כברירת מחדל
בקטעים הבאים מוסבר איך להשתמש במפתחות הצפנה שמוגדרים כברירת מחדל.
הגדרת מפתח ברירת מחדל לקטגוריה
כדי להוסיף, לשנות או להסיר את מפתח ה-Cloud KMS המשמש כברירת מחדל כשאובייקטים נכתבים לקטגוריה:
המסוף
- במסוף Google Cloud , נכנסים לדף Buckets של Cloud Storage.
ברשימת הקטגוריות, לוחצים על השם של הקטגוריה הרצויה.
בדף Bucket details, לוחצים על הכרטיסייה Configuration.
לוחצים על סמל העיפרון שמשויך לערך Encryption type.
מגדירים או מסירים את מפתח ה-Cloud KMS שמשמש כברירת מחדל בשביל הקטגוריה.
אם הקטגוריה לא משתמשת כרגע במפתח Cloud KMS, בוחרים את לחצן הבחירה Customer-managed key ואז בוחרים את אחד מהמפתחות הזמינים בתפריט הנפתח המשויך.
אם הקטגוריה משתמשת כרגע במפתח Cloud KMS, משנים את מפתח ה-Cloud KMS בתפריט הנפתח או מסירים את מפתח ה-Cloud KMS על ידי בחירה של לחצן הבחירהGoogle-managed encryption key.
לוחצים על Save.
במאמר פתרון בעיות מוסבר איך מקבלים מידע מפורט על שגיאות בנושא פעולות ב-Cloud Storage שנכשלו במסוף Google Cloud .
שורת הפקודה
משתמשים בפקודה gcloud storage buckets update עם הדגל המתאים:
gcloud storage buckets update gs://BUCKET_NAME FLAG
כאשר:
BUCKET_NAMEהוא שם הקטגוריה הרלוונטית. לדוגמה,my-bucket.
FLAGהיא ההגדרה הרצויה למפתח ברירת המחדל בקטגוריה. משתמשים באחד מהפורמטים הבאים:-
--default-encryption-key=ומשאב מפתח של Cloud KMS, אם רוצים להוסיף או לשנות מפתח ברירת מחדל. -
--clear-default-encryption-key, אם רוצים להסיר את המפתח המוגדר כברירת מחדל בקטגוריה.
-
אם הפעולה בוצעה ללא שגיאות, התשובה נראית כך:
Updating gs://my-bucket/... Completed 1
ספריות לקוח
C++
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C++ API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה מגדירה מפתח הצפנה בניהול הלקוח כברירת מחדל בקטגוריה:
הדוגמה הבאה מסירה מקטגוריה את מפתח ההצפנה בניהול הלקוח המוגדר כברירת מחדל:
C#
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C# API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה מגדירה מפתח הצפנה בניהול הלקוח כברירת מחדל בקטגוריה:
הדוגמה הבאה מסירה מקטגוריה את מפתח ההצפנה בניהול הלקוח המוגדר כברירת מחדל:
Go
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Go API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה מגדירה מפתח הצפנה בניהול הלקוח כברירת מחדל בקטגוריה:
הדוגמה הבאה מסירה מקטגוריה את מפתח ההצפנה בניהול הלקוח המוגדר כברירת מחדל:
Java
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Java API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה מגדירה מפתח הצפנה בניהול הלקוח כברירת מחדל בקטגוריה:
הדוגמה הבאה מסירה מקטגוריה את מפתח ההצפנה בניהול הלקוח המוגדר כברירת מחדל:
Node.js
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Node.js API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה מגדירה מפתח הצפנה בניהול הלקוח כברירת מחדל בקטגוריה:
הדוגמה הבאה מסירה מקטגוריה את מפתח ההצפנה בניהול הלקוח המוגדר כברירת מחדל:
PHP
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage PHP API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה מגדירה מפתח הצפנה בניהול הלקוח כברירת מחדל בקטגוריה:
הדוגמה הבאה מסירה מקטגוריה את מפתח ההצפנה בניהול הלקוח המוגדר כברירת מחדל:
Python
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Python API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה מגדירה מפתח הצפנה בניהול הלקוח כברירת מחדל בקטגוריה:
הדוגמה הבאה מסירה מקטגוריה את מפתח ההצפנה בניהול הלקוח המוגדר כברירת מחדל:
Ruby
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Ruby API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה מגדירה מפתח הצפנה בניהול הלקוח כברירת מחדל בקטגוריה:
הדוגמה הבאה מסירה מקטגוריה את מפתח ההצפנה בניהול הלקוח המוגדר כברירת מחדל:
ממשקי API ל-REST
API ל-JSON
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.יוצרים קובץ JSON שמכיל את הפרטים הבאים:
{ "encryption": { "defaultKmsKeyName": "KEY_RESOURCE" } }
כאשר
KEY_RESOURCEהוא משאב המפתח של Cloud KMS.כדי להסיר את מפתח ברירת המחדל של Cloud KMS מקטגוריה, משתמשים בדוגמה הבאה בקובץ ה-JSON:
{ "encryption": { "defaultKmsKeyName": null } }
משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט JSON באמצעות בקשת קטגוריהPATCH:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=encryption"
כאשר:
-
JSON_FILE_NAMEהוא הנתיב לקובץ JSON שיצרתם בשלב 2. -
BUCKET_NAMEהוא שם הקטגוריה הרלוונטית. לדוגמה,my-bucket.
-
API בפורמט XML
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.יוצרים קובץ XML שמכיל את הפרטים הבאים:
<EncryptionConfiguration> <DefaultKmsKeyName>KEY_RESOURCE</DefaultKmsKeyName> </EncryptionConfiguration>
כאשר
KEY_RESOURCEהוא משאב המפתח של Cloud KMS.כדי להסיר מקטגוריה את מפתח ברירת המחדל של Cloud KMS, משתמשים בפעולות הבאות בקובץ ה-XML:
<EncryptionConfiguration></EncryptionConfiguration>
משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט XML באמצעות בקשת קטגוריהPUTופרמטרencryptionConfigשל מחרוזת השאילתה:curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?encryptionConfig"
כאשר:
-
XML_FILE_NAMEהוא הנתיב לקובץ XML שיצרתם בשלב 2. -
BUCKET_NAMEהוא שם הקטגוריה הרלוונטית. לדוגמה,my-bucket.
-
צפייה במפתח שמוגדר כברירת המחדל של קטגוריה
כדי לצפות במפתח Cloud KMS שמוגדר כברירת המחדל לקטגוריה:
המסוף
- במסוף Google Cloud , נכנסים לדף Buckets של Cloud Storage.
ברשימת הקטגוריות, לוחצים על השם של הקטגוריה הרצויה.
בדף Bucket details, לוחצים על הכרטיסייה Configuration.
מפתח ברירת המחדל הנוכחי של הקטגוריה מופיע בשדה Encryption key.
במאמר פתרון בעיות מוסבר איך מקבלים מידע מפורט על שגיאות בנושא פעולות ב-Cloud Storage שנכשלו במסוף Google Cloud .
שורת הפקודה
משתמשים בפקודה gcloud storage buckets describe עם הדגל --format:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(default_kms_key)"
כאשר BUCKET_NAME הוא שם הקטגוריה, שבמפתח שלה רוצים לצפות. לדוגמה, my-bucket.
אם הפעולה בוצעה ללא שגיאות, התגובה נראית כך:
default_kms_key: KEY_RESOURCE
ספריות לקוח
C++
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C++ API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
C#
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C# API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
כדי לראות את מפתח ה-KMS שמוגדר כברירת מחדל, פועלים לפי ההוראות להצגת המטא-נתונים של קטגוריה ומחפשים בתשובה את השדה של מפתח ה-KMS שמוגדר כברירת מחדל.Go
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Go API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
כדי לראות את מפתח ה-KMS שמוגדר כברירת מחדל, פועלים לפי ההוראות להצגת המטא-נתונים של קטגוריה ומחפשים בתשובה את השדה של מפתח ה-KMS שמוגדר כברירת מחדל.Java
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Java API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
כדי לראות את מפתח ה-KMS שמוגדר כברירת מחדל, פועלים לפי ההוראות להצגת המטא-נתונים של קטגוריה ומחפשים בתשובה את השדה של מפתח ה-KMS שמוגדר כברירת מחדל.Node.js
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Node.js API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
כדי לראות את מפתח ה-KMS שמוגדר כברירת מחדל, פועלים לפי ההוראות להצגת המטא-נתונים של קטגוריה ומחפשים בתשובה את השדה של מפתח ה-KMS שמוגדר כברירת מחדל.PHP
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage PHP API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
כדי לראות את מפתח ה-KMS שמוגדר כברירת מחדל, פועלים לפי ההוראות להצגת המטא-נתונים של קטגוריה ומחפשים בתשובה את השדה של מפתח ה-KMS שמוגדר כברירת מחדל.Python
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Python API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
כדי לראות את מפתח ה-KMS שמוגדר כברירת מחדל, פועלים לפי ההוראות להצגת המטא-נתונים של קטגוריה ומחפשים בתשובה את השדה של מפתח ה-KMS שמוגדר כברירת מחדל.Ruby
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Ruby API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
כדי לראות את מפתח ה-KMS שמוגדר כברירת מחדל, פועלים לפי ההוראות להצגת המטא-נתונים של קטגוריה ומחפשים בתשובה את השדה של מפתח ה-KMS שמוגדר כברירת מחדל.ממשקי API ל-REST
API ל-JSON
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט JSON באמצעות בקשת קטגוריהGETשכוללת אתfieldsהרצוי:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=encryption"
כאשר
BUCKET_NAMEהוא שם הקטגוריה, שבמפתח שלה רוצים לצפות. לדוגמה,my-bucket.התשובה תיראה כמו הדוגמה הבאה:
{ "encryption" : { "defaultKmsKeyName": "KEY_RESOURCE" }, }
API בפורמט XML
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט XML באמצעות בקשת קטגוריהGETשכוללת את פרמטר השאילתהencryption:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?encryptionConfig"
כאשר
BUCKET_NAMEהוא שם הקטגוריה, שבמפתח שלה רוצים לצפות. לדוגמה,my-bucket.התשובה תיראה כמו הדוגמה הבאה:
<EncryptionConfiguration> <DefaultKmsKeyName>KEY_RESOURCE</DefaultKmsKeyName> </EncryptionConfiguration>
הצפנת אובייקט באמצעות מפתח Cloud KMS
אפשר להצפין אובייקט ספציפי באמצעות מפתח של Cloud KMS. הצפנה כזאת היא שימושית כשרוצים להשתמש במפתח שונה ממפתח ברירת המחדל המוגדר בקטגוריה, או אם לא הוגדר מפתח ברירת מחדל בקטגוריה. השם של משאב המפתח המשמש להצפנת האובייקט נשמר במטא-נתונים של האובייקט.
המסוף
אי אפשר להשתמש במסוף Google Cloud כדי לציין מפתחות של Cloud KMS לכל אובייקט בנפרד. במקום זאת, צריך להשתמש ב-CLI של gcloud או בספריות הלקוח.
שורת הפקודה
משתמשים בפקודה gcloud storage cp עם הדגל --encryption-key:
gcloud storage cp SOURCE_DATA gs://BUCKET_NAME/OBJECT_NAME --encryption-key=KEY_RESOURCE
כאשר:
-
SOURCE_DATAהוא מיקום המקור של הנתונים שרוצים להצפין. המיקום הזה יכול להיות כל מיקום מקור שנתמך על ידי הפקודהcp. לדוגמהgs://my-bucket/pets/old-dog.png. -
BUCKET_NAMEהוא השם של קטגוריית היעד של פקודת ההעתקה. לדוגמה,my-bucket. -
OBJECT_NAMEהוא השם של האובייקט המוצפן הסופי. לדוגמה,pets/new-dog.png. -
KEY_RESOURCEהוא משאב המפתח של Cloud KMS שבו רוצים להשתמש להצפנת האובייקט.
ספריות לקוח
C++
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C++ API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
C#
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C# API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Go
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Go API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Java
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Java API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Node.js
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Node.js API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
PHP
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage PHP API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Python
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Python API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Ruby
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Ruby API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
ממשקי API ל-REST
API בפורמט JSON
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.מוסיפים את נתוני האובייקט לגוף הבקשה.
משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט JSON באמצעות בקשה של אובייקטPOST:curl -X POST --data-binary @OBJECT \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: OBJECT_CONTENT_TYPE" \ "https://storage.googleapis.com/upload/storage/v1/b/BUCKET_NAME/o?uploadType=media&name=OBJECT_NAME&kmsKeyName=KEY_RESOURCE"
כאשר:
-
OBJECTהוא הנתיב לאובייקט שמעלים. לדוגמה,Desktop/dog.png. -
OBJECT_CONTENT_TYPEהוא סוג התוכן של האובייקט. לדוגמה,image/png. -
BUCKET_NAMEהוא שם הקטגוריה שאליה מעלים את האובייקט. לדוגמה,my-bucket -
OBJECT_NAMEהוא השם בקידוד כתובת URL של האובייקט שמעלים. לדוגמה,pets/dog.pngיותאם לקידודי התווים שמתאימים לכתובות URL באופן הבא:pets%2Fdog.png. -
KEY_RESOURCEהוא משאב המפתח של Cloud KMS.
-
API בפורמט XML
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.מוסיפים את נתוני האובייקט לגוף הבקשה.
משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט XML באמצעות בקשת אובייקטPUT:curl -X PUT --data-binary @OBJECT \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: OBJECT_CONTENT_TYPE" \ -H "x-goog-encryption-kms-key-name: KEY_RESOURCE" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
כאשר:
-
OBJECTהוא הנתיב לאובייקט שמעלים. לדוגמה,Desktop/dog.png. -
OBJECT_CONTENT_TYPEהוא סוג התוכן של האובייקט. לדוגמה,image/png. -
BUCKET_NAMEהוא שם הקטגוריה שאליה מעלים את האובייקט. לדוגמה,my-bucket -
OBJECT_NAMEהוא השם בקידוד כתובת URL של האובייקט שמעלים. לדוגמה,pets/dog.pngיותאם לקידודי התווים שמתאימים לכתובות URL באופן הבא:pets%2Fdog.png. -
KEY_RESOURCEהוא משאב המפתח של Cloud KMS.
-
החלפת מפתח שסופק על ידי לקוח למפתח Cloud KMS
אם האובייקטים מוצפנים באמצעות מפתחות הצפנה באספקת הלקוח, אפשר להחליף אותם כך שישתמשו במפתחות Cloud KMS על ידי שכתוב האובייקט:
המסוף
אי אפשר להשתמש במסוף Google Cloud כדי לשנות מפתחות הצפנה לכל אובייקט בנפרד. במקום זאת, צריך להשתמש ב-CLI של gcloud או בספריות הלקוח.
שורת הפקודה
משתמשים בפקודה gcloud storage objects update עם הדגלים המתאימים:
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME --encryption-key=KMS_KEY --decryption-keys=CSEK_KEY
כאשר:
-
BUCKET_NAMEהוא שם הקטגוריה המכילה את האובייקט שאת המפתח שלו רוצים להחליף. לדוגמה,my-bucket. -
OBJECT_NAMEהוא שם האובייקט שאת המפתח שלו מחליפים. לדוגמה,pets/dog.png. -
KMS_KEYהוא משאב המפתח של Cloud KMS שבו רוצים להשתמש להצפנת האובייקט. -
CSEK_KEYהוא מפתח ההצפנה הנוכחי שסופק על ידי הלקוח, שבו משתמשים בשביל האובייקט.
ספריות לקוח
C++
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C++ API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
C#
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C# API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Go
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Go API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Java
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Java API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Node.js
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Node.js API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
PHP
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage PHP API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Python
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Python API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Ruby
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Ruby API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
ממשקי API ל-REST
API ל-JSON
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט JSON באמצעות בקשה של אובייקטPOST:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Length: 0" \ -H "x-goog-copy-source-encryption-algorithm: AES256" \ -H "x-goog-copy-source-encryption-key: OLD_ENCRYPTION_KEY" \ -H "x-goog-copy-source-encryption-key-sha256: HASH_OF_OLD_KEY" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME/rewriteTo/b/BUCKET_NAME/o/OBJECT_NAME?kmsKeyName=KEY_RESOURCE"
כאשר:
-
OLD_ENCRYPTION_KEYהוא מפתח AES-256 הנוכחי המשמש להצפנת האובייקט. -
HASH_OF_OLD_KEYהוא הגיבוב (hash) הנוכחי לפי SHA-256 של מפתח ה-AES-256. -
BUCKET_NAMEהוא שם הקטגוריה המכילה את האובייקט הרלוונטי. לדוגמה,my-bucket. -
OBJECT_NAMEהוא השם בקידוד כתובת URL של האובייקט שאת המפתחות שלו מחליפים. לדוגמה,pets/dog.pngיותאם לקידודי התווים שמתאימים לכתובות URL באופן הבא:pets%2Fdog.png. -
KEY_RESOURCEהוא משאב המפתח של Cloud KMS.
-
API בפורמט XML
API בפורמט XML לא תומך בהחלפה של מפתח הצפנה באספקת הלקוח למפתח של Cloud KMS באמצעות שכתוב האובייקט. כדי לבצע החלפה כזו באמצעות API בפורמט XML, צריך לבצע:
זיהוי המפתח שמשמש להצפנה של אובייקט
כדי למצוא את המפתח של Cloud KMS ששימש להצפנה של אובייקט:
המסוף
- במסוף Google Cloud , נכנסים לדף Buckets של Cloud Storage.
ברשימת הקטגוריות, לוחצים על שם הקטגוריה שמכילה את האובייקט הרצוי.
הדף Bucket details נפתח עם הכרטיסייה Objects שנבחרה.
עוברים אל האובייקט, שאולי יהיה ממוקם בתיקייה.
בעמודה Encryption, מעבירים את העכבר מעל הרשומה של האובייקט הרצוי.
שם המפתח והגרסה שלו מופיעים בפורמט:
LOCATION/KEY_RING_NAME/KEY_NAME/KEY_VERSION
שורת הפקודה
משתמשים בפקודה gcloud storage objects describe עם הדגל --format:
gcloud storage objects describe gs://BUCKET_NAME/OBJECT_NAME --format="default(kms_key)"
כאשר:
-
BUCKET_NAMEהוא שם הקטגוריה המכילה את האובייקט המוצפן. לדוגמה,my-bucket. -
OBJECT_NAMEהוא השם של האובייקט המוצפן. לדוגמה,pets/dog.png.
אם הפעולה בוצעה ללא שגיאות, התגובה נראית כך:
kms_key: projects/my-pet-project/locations/LOCATION_NAME/keyRings/KEYRING_NAME/cryptoKeys/KEY_NAME/cryptoKeyVersions/VERSION_NUMBER
ספריות לקוח
C++
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C++ API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
C#
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C# API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
כדי לראות את מפתח ה-KMS שמשויך לאובייקט, פועלים לפי ההוראות להצגת המטא-נתונים של האובייקט ומחפשים את השדה של שם מפתח ה-KMS בתשובה.Go
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Go API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
כדי לראות את מפתח ה-KMS שמשויך לאובייקט, פועלים לפי ההוראות להצגת המטא-נתונים של האובייקט ומחפשים את השדה של שם מפתח ה-KMS בתשובה.Java
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Java API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
כדי לראות את מפתח ה-KMS שמשויך לאובייקט, פועלים לפי ההוראות להצגת המטא-נתונים של האובייקט ומחפשים את השדה של שם מפתח ה-KMS בתשובה.Node.js
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Node.js API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
כדי לראות את מפתח ה-KMS שמשויך לאובייקט, פועלים לפי ההוראות להצגת המטא-נתונים של האובייקט ומחפשים את השדה של שם מפתח ה-KMS בתשובה.PHP
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage PHP API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
כדי לראות את מפתח ה-KMS שמשויך לאובייקט, פועלים לפי ההוראות להצגת המטא-נתונים של האובייקט ומחפשים את השדה של שם מפתח ה-KMS בתשובה.Python
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Python API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Ruby
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Ruby API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
כדי לראות את מפתח ה-KMS שמשויך לאובייקט, פועלים לפי ההוראות להצגת המטא-נתונים של האובייקט ומחפשים את השדה של שם מפתח ה-KMS בתשובה.ממשקי API ל-REST
API ל-JSON
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט JSON באמצעות בקשה של אובייקטGET:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?fields=kmsKeyName"
כאשר:
-
BUCKET_NAMEהוא שם הקטגוריה המכילה את האובייקט המוצפן. לדוגמה,my-bucket. -
OBJECT_NAMEהוא השם בקידוד כתובת URL של האובייקט המוצפן. לדוגמה,pets/dog.pngיותאם לקידודי התווים שמתאימים לכתובות URL באופן הבא:pets%2Fdog.png.
-
API בפורמט XML
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט XML באמצעות בקשת אובייקטGET:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?encryption"
כאשר:
-
BUCKET_NAMEהוא שם הקטגוריה המכילה את האובייקט המוצפן. לדוגמה,my-bucket. -
OBJECT_NAMEהוא השם בקידוד כתובת URL של האובייקט המוצפן. לדוגמה,pets/dog.pngיותאם לקידודי התווים שמתאימים לכתובות URL באופן הבא:pets%2Fdog.png.
-
פענוח אובייקט
פענוח של אובייקט שמוצפן באמצעות מפתח של Cloud KMS מבוצע באופן אוטומטי, כל עוד לסוכן השירות הרלוונטי יש גישה למפתח. מידע נוסף זמין במאמר סוכני שירות עם מפתחות CMEK.
המאמרים הבאים
- מידע נוסף על מפתחות CMEK ב-Cloud Storage
- מידע נוסף על אפשרויות הצפנה אחרות הזמינות ב-Cloud Storage
- החלפת מפתחות של Cloud KMS.
- מוצרים אחרים שיכולים לעבוד עם Cloud KMS
- מידע על מגבלות
restrictNonCmekServicesו-restrictCmekCryptoKeyProjectsבמדיניות הארגון, שיעזור לכם להשיג יותר שליטה על השימוש במפתחות של Cloud KMS.