בדף הזה מוסבר איך להשתמש ב-methodGoogle Cloud signBlob כדי ליצור חתימה ממחרוזת לחתימה או ממסמך מדיניות. בבקשות מסוימות, כמו כתובות URL חתומות, חתימות משמשות כפרטי כניסה. במדריך הזה נעשה שימוש במפתחות RSA ליצירת חתימות.
לפני שמתחילים
מפעילים את Service Account Credentials API.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידיםעליכם להיות בעלי ההרשאה
iam.serviceAccounts.signBlobבחשבון השירות שבו משתמשים במדריך הזה. ההרשאהiam.serviceAccounts.signBlobכלולה בתפקידroles/iam.serviceAccountTokenCreator.לחשבון השירות שבו משתמשים במדריך הזה צריכה להיות הרשאה לביצוע הבקשה המקודדת בחתימה. לדוגמה, אם משתמשים בחתימה כדי לקרוא נתוני אובייקטים מקטגוריה, לחשבון השירות צריכה להיות הרשאה לקרוא את נתוני האובייקט.
יצירת חתימה
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.יוצרים קובץ JSON שמכיל את הפרטים הבאים:
{ "payload": "REQUEST_INFORMATION" }
כאשר:
REQUEST_INFORMATIONהוא מחרוזת לחתימה או מסמך מדיניות. בשניהם, התוכן חייב להיות בקידוד base64.
משתמשים ב-
cURLכדי להפעיל את IAM API באמצעות בקשתsignBlob:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/SERVICE_ACCOUNT_EMAIL:signBlob"
כאשר:
JSON_FILE_NAMEהוא שם הקובץ שיצרתם בשלב 2.SERVICE_ACCOUNT_EMAILהיא כתובת האימייל של חשבון השירות שבו רוצים להשתמש כדי ליצור את החתימה. לדוגמה,example-service-account@my-pet-project.iam.gserviceaccount.com.
אם הפעולה תצליח, תקציר הודעה יוחזר בשדה
signedBlobבתגובה, והוא יהיה מקודד ב-Base64.כדי להשלים את החתימה, צריך לוודא שתקציר ההודעה מפוענח בקידוד base64, ואז לקודד את תקציר ההודעה בפורמט הקסדצימלי.
המאמרים הבאים
- דף העזר לחתימה על blobs באמצעות Google Cloud CLI.
- יצירת כתובת URL חתומה באופן ידני באמצעות החתימה שיצרתם.
- יצירת כתובת URL חתומה באמצעות כלים של Google Cloud .
- למידע נוסף על חסימות