בדף הזה מוסבר איך ליצור, להשבית ולמחוק מפתחות של קוד אימות הודעות מבוססי גיבוב (HMAC) שמשויכים לחשבונות שירות בפרויקט.
לפני שמתחילים
כדי להשתמש בתכונה הזו ב-Cloud Storage, אתם צריכים לעמוד בדרישות הבאות:
אתם צריכים להיות בעלי הרשאה שמאפשרת לעבוד עם מפתחות HMAC בפרויקט שנבחר:
אם אתם הבעלים של הפרויקט, סביר להניח שיש לכם את ההרשאות הדרושות.
אתם צריכים את הרשאות ה-IAM עם הקידומת
storage.hmacKeysבפרויקט. במאמר שימוש בהרשאות IAM מוסבר איך מקבלים תפקיד עם ההרשאות האלה, כמו אדמין של מפתח HMAC לאחסון.
אתם צריכים שיהיה לכם פרויקט עם חשבון שירות שאתם מתכוונים ליצור בשבילו את מפתחות ה-HMAC. אם אין לכם חשבון שירות כזה, ראו יצירת חשבון שירות.
מוודאים שההגבלות הבאות של מדיניות הארגון מושבתות:
constraints/storage.restrictAuthTypes(צריך להשבית אותו לאימות מפתח HMAC)
הוראות לבדיקה ולהשבתה של אילוצים מופיעות במאמר יצירה וניהול של מדיניות הארגון.
יצירת מפתח HMAC
כדי ליצור מפתח HMAC לחשבון שירות:
המסוף
- במסוף Google Cloud , נכנסים לדף Settings של Cloud Storage.
בוחרים בכרטיסייה Interoperability.
לוחצים על add_box Create a key for a service account.
בוחרים את חשבון השירות שרוצים לשייך אליו את מפתח ה-HMAC.
לוחצים על Create key.
במאמר פתרון בעיות מוסבר איך מקבלים מידע מפורט על שגיאות בנושא פעולות ב-Cloud Storage שנכשלו במסוף Google Cloud .
שורת הפקודה
משתמשים בפקודה hmac create:
gcloud storage hmac create SERVICE_ACCOUNT_EMAIL
כאשר SERVICE_ACCOUNT_EMAIL הוא כתובת האימייל שמשויכת לחשבון השירות שלכם. לדוגמה, example-service-account@my-pet-project.iam.gserviceaccount.com.
אם הפעולה בוצעה ללא שגיאות, התגובה תכיל משאב מפתח HMAC, כולל ערכים ל-accessId ול-secret.
ספריות לקוח
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. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Terraform
אתם יכולים להשתמש במשאב של Terraform כדי ליצור מפתח HMAC. הדוגמה הזו כוללת גם משאב ליצירת חשבון שירות.
ממשקי API ל-REST
API ל-JSON
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט JSON באמצעות בקשת hmacKeysPOST:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/projects/PROJECT_IDENTIFIER/hmacKeys?serviceAccountEmail=SERVICE_ACCOUNT_EMAIL"
כאשר:
-
PROJECT_IDENTIFIERהוא המזהה או המספר של הפרויקט שמשויך למפתח שרוצים ליצור. לדוגמה,my-pet-project. -
SERVICE_ACCOUNT_EMAILהוא כתובת האימייל שמשויכת לחשבון השירות שלכם. לדוגמה,example-service-account@my-pet-project.iam.gserviceaccount.com.
-
API בפורמט XML
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט XML באמצעות בקשת מפתח HMACPOST:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/?Action=CreateAccessKey&UserName=SERVICE_ACCOUNT_EMAIL"
כאשר
SERVICE_ACCOUNT_EMAILהוא כתובת האימייל שמשויכת לחשבון השירות שלכם. לדוגמה,example-service-account@my-pet-project.iam.gserviceaccount.com.
אחזור מידע על מפתח HMAC
כדי להציג את רשימת מפתחות ה-HMAC של פרויקט ולאחזר את המידע על המפתחות:
המסוף
- במסוף Google Cloud , נכנסים לדף Settings של Cloud Storage.
בוחרים בכרטיסייה Interoperability.
חשבונות שירות שמפתחות HMAC משויכים אליהם מופיעים בסעיף המשנה מפתחות גישה לחשבונות שירות שבקטע מפתחות HMAC של חשבון שירות.
לוחצים על השם של חשבון שירות ספציפי כדי לראות את מפתחות ה-HMAC שמשויכים אליו ואת הסטטוס של המפתחות האלה.
שורת הפקודה
משתמשים בפקודה
hmac listכדי להציג את רשימת מפתחות ה-HMAC בפרויקט:gcloud storage hmac list
אם הפעולה בוצעה ללא שגיאות, הפקודה תחזיר רשימה של מזהי הגישה למפתחות HMAC, יחד עם המצב של כל מפתח וחשבון השירות שמשויך אליו.
משתמשים בפקודה
hmac describeכדי לאחזר את המטא-נתונים של מפתח ספציפי:gcloud storage hmac describe KEY_ACCESS_ID
כאשר
KEY_ACCESS_IDהוא מזהה הגישה של המפתח הרצוי.
ספריות לקוח
C++
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C++ API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה מאחזרת רשימה של מפתחות HMAC שמשויכים לפרויקט:
הדוגמה הבאה מאחזרת מידע של מפתח HMAC ספציפי:
C#
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C# API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה מאחזרת רשימה של מפתחות HMAC שמשויכים לפרויקט:
הדוגמה הבאה מאחזרת מידע של מפתח HMAC ספציפי:
Go
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Go API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה מאחזרת רשימה של מפתחות HMAC שמשויכים לפרויקט:
הדוגמה הבאה מאחזרת מידע של מפתח HMAC ספציפי:
Java
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Java API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה מאחזרת רשימה של מפתחות HMAC שמשויכים לפרויקט:
הדוגמה הבאה מאחזרת מידע של מפתח HMAC ספציפי:
Node.js
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Node.js API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה מאחזרת רשימה של מפתחות HMAC שמשויכים לפרויקט:
הדוגמה הבאה מאחזרת מידע של מפתח HMAC ספציפי:
PHP
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage PHP API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה מאחזרת רשימה של מפתחות HMAC שמשויכים לפרויקט:
הדוגמה הבאה מאחזרת מידע של מפתח HMAC ספציפי:
Python
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Python API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה מאחזרת רשימה של מפתחות HMAC שמשויכים לפרויקט:
הדוגמה הבאה מאחזרת מידע של מפתח HMAC ספציפי:
Ruby
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Ruby API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה מאחזרת רשימה של מפתחות HMAC שמשויכים לפרויקט:
הדוגמה הבאה מאחזרת מידע של מפתח HMAC ספציפי:
ממשקי API ל-REST
API ל-JSON
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט JSON באמצעות בקשת hmacKeysLIST:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/projects/PROJECT_IDENTIFIER/hmacKeys"
PROJECT_IDENTIFIERהוא המזהה או המספר של הפרויקט שמשויך למפתחות שרוצים להציג ברשימה. לדוגמה,my-pet-project.
API בפורמט XML
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט XML באמצעות בקשת מפתח HMACGET:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/?Action=ListAccessKeys&UserName=SERVICE_ACCOUNT_EMAIL"
כאשר
SERVICE_ACCOUNT_EMAILהוא כתובת האימייל שמשויכת לחשבון השירות שלכם. לדוגמה,example-service-account@my-pet-project.iam.gserviceaccount.com.
עדכון המצב של מפתח HMAC
כדי להעביר מפתח HMAC בין מצב פעיל למצב לא פעיל:
המסוף
- במסוף Google Cloud , נכנסים לדף Settings של Cloud Storage.
בוחרים בכרטיסייה Interoperability.
בקטע מפתחות גישה לחשבונות שירות, לוחצים על השם של חשבון השירות שמשויך למפתח ה-HMAC שרוצים לעדכן את הסטטוס שלו.
לוחצים על הסטטוס של המפתח שרוצים לעדכן.
אם משנים את הסטטוס של המפתח מ'לא פעיל' ל'פעיל', לוחצים על השבתה בחלון שמופיע.
אם משנים את הסטטוס של המפתח מ'פעיל' ל'לא פעיל', לא צריך לבצע פעולות נוספות.
שורת הפקודה
משתמשים בפקודה hmac update:
gcloud storage hmac update ACCESS_KEY_ID STATE
כאשר:
-
ACCESS_KEY_IDהוא מזהה הגישה שמשויך למפתח שמעדכנים. -
STATEהוא--activateאו--deactivate.
אם הפעולה בוצעה ללא שגיאות, הפקודה תחזיר את המטא-נתונים המעודכנים של מפתח ה-HMAC.
ספריות לקוח
C++
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C++ API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה משביתה מפתח HMAC:
הדוגמה הבאה מפעילה מפתח HMAC:
C#
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C# API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה משביתה מפתח HMAC:
הדוגמה הבאה מפעילה מפתח HMAC:
Go
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Go API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה משביתה מפתח HMAC:
הדוגמה הבאה מפעילה מפתח HMAC:
Java
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Java API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה משביתה מפתח HMAC:
הדוגמה הבאה מפעילה מפתח HMAC:
Node.js
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Node.js API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה משביתה מפתח HMAC:
הדוגמה הבאה מפעילה מפתח HMAC:
PHP
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage PHP API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה משביתה מפתח HMAC:
הדוגמה הבאה מפעילה מפתח HMAC:
Python
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Python API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה משביתה מפתח HMAC:
הדוגמה הבאה מפעילה מפתח HMAC:
Ruby
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Ruby API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה משביתה מפתח HMAC:
הדוגמה הבאה מפעילה מפתח HMAC:
ממשקי API ל-REST
API ל-JSON
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.יוצרים קובץ JSON שמכיל את הפרטים הבאים:
{"state": "STATE"}משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט JSON באמצעות בקשת hmacKeysPUT:curl -X PUT --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/projects/PROJECT_IDENTIFIER/hmacKeys/ACCESS_KEY_ID"
כאשר:
-
JSON_FILE_NAMEהוא הנתיב לקובץ שיצרתם בשלב 2. -
PROJECT_IDENTIFIERהוא המזהה או המספר של הפרויקט שמשויך למפתח שרוצים לעדכן. לדוגמה,my-pet-project. -
ACCESS_KEY_IDהוא מזהה הגישה שמשויך למפתח שמעדכנים.
-
API בפורמט XML
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט XML באמצעות בקשת מפתח HMACPOST:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/?Action=UpdateAccessKey&AccessKeyId=ACCESS_KEY_ID&Status=STATUS"כאשר:
-
ACCESS_KEY_IDהוא מזהה הגישה שמשויך למפתח שמעדכנים. -
STATUSהוא הסטטוס הרצוי של המפתח. לדוגמה,Inactive.
-
כשמשנים את המצב של מפתח HMAC, שינוי המצב יתעדכן במערכת Cloud Storage תוך 3 דקות לכל היותר. לכן כדאי להמתין לפחות 3 דקות אחרי השבתת מפתח HMAC כדי למחוק את המפתח.
מחיקה של מפתח HMAC
כדי למחוק מפתח HMAC, הוא צריך להיות במצב לא פעיל. כדי למחוק מפתח HMAC לא פעיל:
המסוף
- במסוף Google Cloud , נכנסים לדף Settings של Cloud Storage.
בוחרים בכרטיסייה Interoperability.
בקטע המשנה Access keys for service accounts, לוחצים על השם של חשבון השירות שמשויך למפתח ה-HMAC שרוצים למחוק.
לוחצים על סמל האשפה שמשויך למפתח שרוצים למחוק.
בתיבת הדו-שיח שמופיעה, מזינים את 10 התווים הראשונים של מזהה מפתח הגישה, כפי שהם מוצגים בחלון.
לוחצים על Delete.
שורת הפקודה
משתמשים בפקודה hmac delete:
gcloud storage hmac delete ACCESS_KEY_ID
כאשר ACCESS_KEY_ID הוא מזהה הגישה שמשויך למפתח שמוחקים.
אם הפעולה בוצעה ללא שגיאות, הפקודה לא תחזיר תגובה.
ספריות לקוח
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 באמצעות בקשת hmacKeysDELETE:curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/projects/PROJECT_IDENTIFIER/hmacKeys/ACCESS_KEY_ID"
כאשר:
-
PROJECT_IDENTIFIERהוא המזהה או המספר של הפרויקט שמשויך למפתח שרוצים למחוק. לדוגמה,my-pet-project. -
ACCESS_KEY_IDהוא מזהה הגישה שמשויך למפתח שמוחקים.
-
API בפורמט XML
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט XML באמצעות בקשת מפתח HMACPOST:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/?Action=DeleteAccessKey&AccessKeyId=ACCESS_KEY_ID"כאשר
ACCESS_KEY_IDהוא מזהה הגישה שמשויך למפתח שמוחקים.
המאמרים הבאים
- הנחיות להעברה ממפתחות HMAC של חשבונות משתמשים למפתחות HMAC של חשבונות שירות.
- שימוש במפתח HMAC בבקשה מאומתת