בדף הזה נסביר איך להשתמש במפתח הצפנה משלכם, שנקרא מפתח הצפנה באספקת הלקוח (CSEK), באמצעות Cloud Storage. במאמר אפשרויות להצפנת נתונים תוכלו לקרוא על אפשרויות נוספות להצפנה ב-Cloud Storage.
יצירת מפתח הצפנה משלכם
יש דרכים רבות ליצירת מפתח הצפנה מסוג AES-256 בקידוד Base64. הנה כמה דוגמאות:
C++
למידע נוסף, אפשר לעיין במסמכי העזרה בנושא ממשק ה-API של C++ ב-Cloud Storage.
כדי לבצע אימות ב-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. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
העלאה באמצעות מפתח ההצפנה שלכם
כדי להעלות אובייקט באמצעות מפתחות הצפנה באספקת הלקוח (CSEK):
המסוף
אי אפשר להעלות אובייקטים שהוצפנו באמצעות מפתחות הצפנה באספקת הלקוח (CSEK) דרך Google Cloud המסוף. עדיף להשתמש ב-Google Cloud CLI או בספריות הלקוח.
שורת הפקודה
משתמשים בפקודה gcloud storage cp עם הדגל --encryption-key:
gcloud storage cp SOURCE_DATA gs://BUCKET_NAME/OBJECT_NAME --encryption-key=YOUR_ENCRYPTION_KEY
כאשר:
-
SOURCE_DATAהוא מיקום המקור של הנתונים שרוצים להצפין. אפשר להעביר כל סוג של מיקום מקור שנתמך על ידי הפקודהcp. לדוגמה, קובץ מקומי כמוDesktop/dogs.pngאו אובייקט אחר של Cloud Storage כמוgs://my-bucket/pets/old-dog.png. BUCKET_NAMEהוא השם של קטגוריית היעד של פקודת ההעתקה. לדוגמה,my-bucket.-
OBJECT_NAMEהוא השם של האובייקט המוצפן הסופי. לדוגמה,pets/new-dog.png. YOUR_ENCRYPTION_KEYהוא המפתח AES-256 שבו רוצים להשתמש להצפנת האובייקט שהועלה.
ספריות לקוח
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" \ -H "x-goog-encryption-algorithm: AES256" \ -H "x-goog-encryption-key: YOUR_ENCRYPTION_KEY" \ -H "x-goog-encryption-key-sha256: HASH_OF_YOUR_KEY" \ "https://storage.googleapis.com/upload/storage/v1/b/BUCKET_NAME/o?uploadType=media&name=OBJECT_NAME"
כאשר:
-
OBJECTהוא הנתיב לאובייקט שמעלים. לדוגמה,Desktop/dogs.png. -
OBJECT_CONTENT_TYPEהוא סוג התוכן של האובייקט. לדוגמה,image/png. YOUR_ENCRYPTION_KEYהוא המפתח AES-256 שמשמש להצפנה של האובייקט שאתם מעלים.HASH_OF_YOUR_KEYהוא הגיבוב SHA-256 של המפתח AES-256.BUCKET_NAMEהוא שם הקטגוריה שאליה אתם מעלים את האובייקט. לדוגמה,my-bucket.OBJECT_NAMEהוא השם של האובייקט שאתם מעלים, מותאם לקידודי התווים שמתאימים לכתובות URL. לדוגמה,pets/dog.pngיותאם לקידודי התווים שמתאימים לכתובות URL באופן הבא:pets%2Fdog.png.
-
למידע נוסף על התאמת כותרת הבקשה לשיטת הצפנה ספציפית, אפשר לעיין במאמר הצפנה בכותרות של בקשות.
API בפורמט XML
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.משתמשים בפקודה
cURLכדי להפעיל את ה-API בפורמט XML באמצעות בקשת אובייקטPUT:curl -X -i PUT --data-binary @OBJECT \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: OBJECT_CONTENT_TYPE" \ -H "x-goog-encryption-algorithm: AES256" \ -H "x-goog-encryption-key: YOUR_ENCRYPTION_KEY" \ -H "x-goog-encryption-key-sha256: HASH_OF_YOUR_KEY" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
כאשר:
-
OBJECTהוא הנתיב לאובייקט שמעלים. לדוגמה,Desktop/dogs.png. -
OBJECT_CONTENT_TYPEהוא סוג התוכן של האובייקט. לדוגמה,image/png. YOUR_ENCRYPTION_KEYהוא המפתח AES-256 שמשמש להצפנה של האובייקט שאתם מעלים.HASH_OF_YOUR_KEYהוא הגיבוב SHA-256 של המפתח AES-256.BUCKET_NAMEהוא שם הקטגוריה שאליה אתם מעלים את האובייקט. לדוגמה,my-bucket.OBJECT_NAMEהוא השם של האובייקט שאתם מעלים, מותאם לקידודי התווים שמתאימים לכתובות URL. לדוגמה,pets/dog.pngיותאם לקידודי התווים שמתאימים לכתובות URL באופן הבא:pets%2Fdog.png.
-
למידע נוסף על התאמת כותרת הבקשה לשיטת הצפנה ספציפית, אפשר לעיין במאמר הצפנה בכותרות של בקשות.
הורדת האובייקטים שהוצפנו
כדי להוריד אובייקט שמאוחסן ב-Cloud Storage והוצפן באמצעות מפתח הצפנה באספקת הלקוח (CSEK):
המסוף
אי אפשר להוריד אובייקטים שהוצפנו באמצעות מפתחות הצפנה באספקת הלקוח (CSEK) דרך Google Cloud המסוף. עדיף להשתמש ב-Google Cloud CLI או בספריות הלקוח.
שורת הפקודה
משתמשים בפקודה gcloud storage cp עם הדגל --decryption-keys:
gcloud storage cp gs://BUCKET_NAME/OBJECT_NAME OBJECT_DESTINATION --decryption-keys=YOUR_ENCRYPTION_KEY
כאשר:
-
BUCKET_NAMEהוא שם הקטגוריה שמכילה את האובייקט שאתם מורידים. לדוגמה,my-bucket. OBJECT_NAMEהוא השם של האובייקט שרוצים להוריד. לדוגמה,pets/dog.png.-
OBJECT_DESTINATIONהוא המיקום שבו רוצים לשמור את האובייקט. לדוגמה,Desktop. YOUR_ENCRYPTION_KEYהוא המפתח AES-256 שמשמש להצפנת האובייקט בזמן ההעלאה.
ספריות לקוח
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 באמצעות בקשה של אובייקטGET:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-encryption-algorithm: AES256" \ -H "x-goog-encryption-key: YOUR_ENCRYPTION_KEY" \ -H "x-goog-encryption-key-sha256: HASH_OF_YOUR_KEY" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?alt=media"
כאשר:
YOUR_ENCRYPTION_KEYהוא המפתח AES-256 שבו השתמשתם כדי להצפין את האובייקט.HASH_OF_YOUR_KEYהוא הגיבוב SHA-256 של המפתח AES-256.SAVE_TO_LOCATIONהוא המיקום שבו רוצים לשמור את האובייקט. לדוגמה,Desktop/dog.png.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)" \ -H "x-goog-encryption-algorithm: AES256" \ -H "x-goog-encryption-key: YOUR_ENCRYPTION_KEY" \ -H "x-goog-encryption-key-sha256: HASH_OF_YOUR_KEY" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
כאשר:
YOUR_ENCRYPTION_KEYהוא המפתח AES-256 שבו השתמשתם כדי להצפין את האובייקט.HASH_OF_YOUR_KEYהוא הגיבוב SHA-256 של המפתח AES-256.SAVE_TO_LOCATIONהוא המיקום שבו רוצים לשמור את האובייקט. לדוגמה,Desktop/dog.png.BUCKET_NAMEהוא שם הקטגוריה שממנה מורידים את האובייקט. לדוגמה,my-bucket.OBJECT_NAMEהוא השם של האובייקט שאתם מעלים, מותאם לקידודי התווים שמתאימים לכתובות URL. לדוגמה,pets/dog.pngיותאם לקידודי התווים שמתאימים לכתובות URL באופן הבא:pets%2Fdog.png.
למידע נוסף על התאמת כותרת הבקשה לשיטת הצפנה ספציפית, אפשר לעיין במאמר הצפנה בכותרות של בקשות.
איך מבצעים רוטציה של מפתחות ההצפנה
כדי לבצע רוטציה של מפתח הצפנה באספקת הלקוח (CSEK):
המסוף
אי אפשר להשתמש במסוף Google Cloud כדי לבצע רוטציה של מפתחות הצפנה באספקת הלקוח (CSEK). עדיף להשתמש ב-Google Cloud CLI או בספריות הלקוח.
שורת הפקודה
משתמשים בפקודה gcloud storage objects update עם הדגלים המתאימים:
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME --encryption-key=NEW_KEY --decryption-keys=OLD_KEY
כאשר:
-
BUCKET_NAMEהוא שם הקטגוריה המכילה את האובייקט שאת המפתח שלו רוצים להחליף. לדוגמה,my-bucket. -
OBJECT_NAMEהוא שם האובייקט שאת המפתח שלו מחליפים. לדוגמה,pets/dog.png. NEW_KEYהוא מפתח ההצפנה החדש באספקת הלקוח (CSEK), שבו רוצים להשתמש כדי להצפין את האובייקט.OLD_KEYהוא מפתח ההצפנה הנוכחי באספקת הלקוח (CSEK) שמשמש להצפנת האובייקט.
ספריות לקוח
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-encryption-algorithm: AES256" \ -H "x-goog-encryption-key: NEW_ENCRYPTION_KEY" \ -H "x-goog-encryption-key-sha256: HASH_OF_NEW_KEY" \ -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"
כאשר:
NEW_ENCRYPTION_KEYהוא המפתח AES-256 החדש שמשמש להצפנת האובייקט.HASH_OF_NEW_KEYהוא הגיבוב SHA-256 של המפתח AES-256 החדש.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.
למידע נוסף על התאמת כותרת הבקשה לשיטת הצפנה ספציפית, אפשר לעיין במאמר הצפנה בכותרות של בקשות.
API ל-XML
ב-API ל-XML אין תמיכה ברוטציה של מפתח הצפנה באספקת הלקוח (CSEK) באמצעות שכתוב של אובייקט. כדי להחיל מפתח הצפנה חדש באספקת הלקוח (CSEK) על אובייקט באמצעות API ל-XML:
המאמרים הבאים
מידע נוסף על מפתחות הצפנה באספקת הלקוח (CSEK).
למדו איך לבצע רוטציה של מפתח הצפנה שסופק על ידי הלקוח (CSEK) למפתח Cloud KMS