בקרת גישה באמצעות IAM

סקירה כללית

ב-Transcoder API נעשה שימוש בניהול זהויות והרשאות גישה (IAM) לצורך בקרת גישה.

אפשר להגדיר בקרת גישה ל-Transcoder API ברמת הפרויקט. לדוגמה, אתם יכולים להעניק למפתחים גישה להצגת רשימה של כל המשימות בפרויקט ולקבלת כל המשימות.

למידע מפורט על IAM והמאפיינים שלו, תוכלו לעיין במסמכי העזרה של IAM. כדאי לקרוא באופן ספציפי את הקטע בנושא ניהול מדיניות IAM.

כדי להפעיל כל method ב-Transcoder API, למבצע הקריאה החוזרת (caller) צריכות להיות ההרשאות הנדרשות. מידע נוסף זמין במאמרים בנושא הרשאות ותפקידים.

הרשאות

בקטע הזה מפורטות הרשאות Transcoder API שנתמכות על ידי IAM.

ההרשאות הנדרשות

בטבלאות הבאות מפורטות הרשאות ה-IAM שמשויכות ל-Transcoder API.

שיטת העבודה ההרשאות הנדרשות
jobs.create transcoder.jobs.create בפרויקט Google Cloud ההורה.
jobs.delete transcoder.jobs.delete בפרויקט Google Cloud ההורה.
jobs.get transcoder.jobs.get בפרויקט Google Cloud ההורה.
jobs.list transcoder.jobs.list בפרויקט Google Cloud ההורה.
שיטה של תבנית משרה ההרשאות הנדרשות
jobTemplates.create transcoder.jobTemplates.create בפרויקט Google Cloud ההורה.
jobTemplates.delete transcoder.jobTemplates.delete בפרויקט Google Cloud ההורה.
jobTemplates.get transcoder.jobTemplates.get בפרויקט Google Cloud ההורה.
jobTemplates.list transcoder.jobTemplates.list בפרויקט Google Cloud ההורה.

תפקידים

בטבלה הבאה מפורטים תפקידי ה-IAM ב-Transcoder API, כולל ההרשאות שמשויכות לכל תפקיד:

תפקיד IAM הרשאות

(roles/transcoder.viewer)

צפייה בכל המשאבים של שירות הקידוד.

resourcemanager.projects.get

resourcemanager.projects.list

transcoder.jobTemplates.get

transcoder.jobTemplates.list

transcoder.jobTemplates.listEffectiveTags

transcoder.jobTemplates.listTagBindings

transcoder.jobs.get

transcoder.jobs.list

transcoder.jobs.listEffectiveTags

transcoder.jobs.listTagBindings

(roles/transcoder.admin)

גישה מלאה לכל המשאבים של Transcoder.

resourcemanager.projects.get

resourcemanager.projects.list

transcoder.*

  • transcoder.jobTemplates.create
  • transcoder.jobTemplates.createTagBinding
  • transcoder.jobTemplates.delete
  • transcoder.jobTemplates.deleteTagBinding
  • transcoder.jobTemplates.get
  • transcoder.jobTemplates.list
  • transcoder.jobTemplates.listEffectiveTags
  • transcoder.jobTemplates.listTagBindings
  • transcoder.jobs.create
  • transcoder.jobs.createTagBinding
  • transcoder.jobs.delete
  • transcoder.jobs.deleteTagBinding
  • transcoder.jobs.get
  • transcoder.jobs.list
  • transcoder.jobs.listEffectiveTags
  • transcoder.jobs.listTagBindings

התפקידים roles/owner ו-roles/editor מעניקים את ההרשאות שמשויכות לתפקיד roles/transcoder.admin. התפקיד roles/viewer מעניק הרשאות שמשויכות לתפקיד roles/transcoder.viewer.

התפקידים roles/owner, ‏roles/editor ו-roles/viewer כוללים גם הרשאות לשירותים אחרים של Google Cloud . מידע נוסף על תפקידים זמין במאמר הסבר על תפקידים.

גישה ל-Cloud Storage ול-Pub/Sub

כברירת מחדל, ל-Transcoder API יש גישה לכל הקטגוריות של Cloud Storage ולכל נושאי Pub/Sub בפרויקט. כשיוצרים את המשימה הראשונה, Transcoder API יוצר חשבון שירות לפי מוסכמת השמות הבאה:

service-PROJECT_NUMBER@gcp-sa-transcoder.iam.gserviceaccount.com

PROJECT_NUMBER הוא מספר הפרויקט שבו מופעל Transcoder API. לחשבון השירות הזה מוקצה התפקיד Transcoder Service Agent (סוכן שירות של Transcoder) ויש לו הרשאות לבצע את הפעולות הבאות:

  • הורדה והעלאה של קבצים לקטגוריות של Cloud Storage בפרויקט
  • פרסום עדכוני סטטוס בנושאים של Pub/Sub בפרויקט

הגבלת הגישה

כדי להגביל את הגישה הזו, צריך להסיר את התפקיד Transcoder Service Agent (סוכן שירות של Transcoder) מחשבון השירות ולהחליף אותו בגישה מפורטת יותר. איך לעשות את זה?

  1. נכנסים לדף IAM (הכרטיסייה Permissions) במסוף Google Cloud .
  2. מחפשים את חשבון השירות עם התפקיד Transcoder Service Agent ולוחצים על לחצן העריכה.
  3. מוחקים את התפקיד Transcoder Service Agent (סוכן שירות Transcoder) מחשבון השירות.
  4. נותנים לחשבון השירות גישה לכל קטגוריה של Cloud Storage:
    1. נכנסים לדף Cloud Storage Browser.
    2. לוחצים על קטגוריה.
    3. לוחצים על הכרטיסייה Permissions (הרשאות).
    4. לוחצים על הוספה.
    5. בתיבה New principals, מקלידים את השם של חשבון השירות.
    6. בקטע תפקיד, בוחרים באפשרות Storage Object Admin.
    7. לוחצים על Save. ל-Transcoder API יש עכשיו גישה לדלי.
  5. (אופציונלי) מעניקים גישה לחשבון השירות לכל נושא Pub/Sub שהוגדר:
    1. עוברים לדף נושאים ב-Pub/Sub.
    2. לוחצים על נושא.
    3. לוחצים על הכרטיסייה Permissions (הרשאות).
    4. לוחצים על Add principal.
    5. בתיבה New principals, מקלידים את השם של חשבון השירות.
    6. בקטע תפקיד, בוחרים באפשרות פרסום הודעות ב-Pub/Sub.
    7. לוחצים על Save. ל-Transcoder API יש עכשיו גישה לנושא.