יצירת חתימות

בדף הזה מוסבר איך להשתמש ב-methodGoogle Cloud signBlob כדי ליצור חתימה ממחרוזת לחתימה או ממסמך מדיניות. בבקשות מסוימות, כמו כתובות URL חתומות, חתימות משמשות כפרטי כניסה. במדריך הזה נעשה שימוש במפתחות RSA ליצירת חתימות.

לפני שמתחילים

  1. מפעילים את Service Account Credentials API, אם הוא עדיין לא מופעל.

    התפקידים שנדרשים כדי להפעיל ממשקי API

    כדי להפעיל ממשקי API, צריך את ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד "בעלים" (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד "אדמין בממשק 'שימוש בשירות'" (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

    להפעלת ה-API

  2. עליכם להיות בעלי ההרשאה iam.serviceAccounts.signBlob בחשבון השירות שבו משתמשים במדריך הזה. ההרשאה iam.serviceAccounts.signBlob כלולה בתפקיד roles/iam.serviceAccountTokenCreator.

  3. לחשבון השירות שבו משתמשים במדריך הזה צריכה להיות הרשאה לביצוע הבקשה המקודדת בחתימה. לדוגמה, אם משתמשים בחתימה כדי לקרוא נתוני אובייקטים מקטגוריה, לחשבון השירות צריכה להיות הרשאה לקרוא את נתוני האובייקט.

יצירת חתימה

  1. להתקין ולהפעיל את ה-CLI של gcloud, כדי שתוכלו ליצור אסימון גישה לכותרת Authorization.

  2. יוצרים קובץ JSON שמכיל את הפרטים הבאים:

    {
      "payload": "REQUEST_INFORMATION"
    }

    כאשר:

  3. משתמשים ב-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.

  4. כדי להשלים את החתימה, צריך לוודא שתקציר ההודעה מפוענח ב-base64, ואז לקודד את תקציר ההודעה בפורמט הקסדצימלי.

המאמרים הבאים