יצירת חתימות

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

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

  1. Enable the Service Account Credentials API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the 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.

    אם הפעולה בוצעה ללא שגיאות, תמצית הודעה מוצפנת ב-Base64 ומוחזרת בשדה signedBlob בתגובה.

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

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