בדף הזה מוסבר איך להשתמש ב-methodCloud de Confiance signBlob כדי ליצור חתימה ממחרוזת לחתימה או ממסמך מדיניות. בבקשות מסוימות, כמו כתובות URL חתומות, חתימות משמשות כפרטי כניסה. במדריך הזה נעשה שימוש במפתחות RSA ליצירת חתימות.
לפני שמתחילים
מפעילים את Service Account Credentials API.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידיםעליכם להיות בעלי ההרשאה
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.s3ns.iam.gserviceaccount.com.
אם הפעולה בוצעה ללא שגיאות, תמצית הודעה מוצפנת בקידוד base64 ומוחזרת בשדה
signedBlobבתגובה.כדי להשלים את החתימה, צריך לוודא שתקציר ההודעה מפוענח בקידוד base64, ואז לקודד את תקציר ההודעה בפורמט הקסדצימלי.
המאמרים הבאים
- דף העזר לחתימה על blobs באמצעות Google Cloud CLI.
- יצירת כתובת URL חתומה באופן ידני באמצעות החתימה שיצרתם.
- יצירת כתובת URL חתומה באמצעות כלים של Cloud de Confiance .
- למידע נוסף על חסימות