הענקת גישה ל-API וביטול הגישה

שליטה בגישה ל-API היא חלק בלתי נפרד מהפיתוח. לדוגמה, כשבודקים את ה-API, יכול להיות שתרצו לבצע אוטומציה של פריסה מחדש של עדכונים בהגדרות של Cloud Endpoints באמצעות חשבון שירות שיש לו הרשאה לעשות זאת. כברירת מחדל, רק בעל הפרויקט יכול לנהל את הגישה ל-API. בדף הזה מוסבר איך להעניק ולבטל גישה ל-API באמצעותGoogle Cloud המסוף או Google Cloud CLI.

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

קבוצות Google הן דרך נוחה לתת או לבטל גישה לאוסף של משתמשים. אתם יכולים לתת או לבטל את הגישה לכל הקבוצה בבת אחת, במקום לתת או לבטל את הגישה לכל משתמש או חשבון שירות בנפרד. קל גם להוסיף חברים לקבוצת Google ולהסיר ממנה חברים, במקום להעניק או לבטל את תפקיד ה-IAM לכל חבר.

הענקת גישה

מסוףGoogle Cloud

  1. במסוף Google Cloud , עוברים לדף Endpoints > Services של הפרויקט.

    לדף Endpoints Services

  2. אם יש לכם יותר מ-API אחד, לוחצים על שם ה-API.
  3. אם החלונית הצדדית הרשאות לא פתוחה, לוחצים על הרשאות.
  4. בתיבה Add members, מזינים את כתובת האימייל של משתמש, חשבון שירות או קבוצת Google.
  5. בתפריט הנפתח Select a role (בחירת תפקיד), לוחצים על Service Management (ניהול שירותים) ובוחרים באחד מהתפקידים הבאים:
    • צרכן שירות: התפקיד הזה מכיל את ההרשאות שמאפשרות למשתמש שלא משויך לפרויקט לצפות בממשק ה-API ולהפעיל אותו בפרויקט שלו. אם יצרתם פורטל ל-API שלכם, התפקיד הזה מאפשר למשתמשי ה-API לגשת לפורטל.
    • Service Controller: התפקיד הזה כולל את ההרשאות לבצע קריאות ל-methods‏ check ו- report ב-API של Service Infrastructure במהלך זמן הריצה.
    • עריכת הגדרות שירות: התפקיד הזה כולל את ההרשאות המינימליות שנדרשות ל-Service Management כדי לפרוס הגדרות של Endpoints בשירות קיים.
    • אדמין של Service Management: התפקיד הזה כולל את ההרשאות בתפקידים Service Config Editor,‏ Service Consumer ו-Service Controller, וגם את ההרשאות שנדרשות כדי להעניק גישה ל-API הזה באמצעות gcloud או באמצעות השיטות התוכנתיות שמתוארות במאמר הענקת גישה למשאבים, שינוי הגישה וביטול הגישה.

    מידע על התפקיד הזה זמין במאמר בנושא בקרת גישה ב-Service Management API. למרות שבמסוף Google Cloud אפשר לבחור תפקידים אחרים, התפקידים האלה לא שימושיים לניהול ה-API.

  6. כדי להוסיף את החבר לתפקיד ה-IAM שצוין, לוחצים על Add.
  7. חוזרים על הוספת חברים ובחירת התפקיד לפי הצורך.
  8. התפקידים בניהול שירותים לא מאפשרים למשתמשים לגשת לדף Endpoints > Services במסוף Google Cloud . כדי לאפשר למשתמשים לגשת לדף נקודות קצה > שירותים, צריך להקצות להם את התפקיד צפייה בפרויקט או תפקיד עם הרשאות גבוהות יותר בפרויקט. לפרטים נוספים, אפשר לעיין במאמר בנושא הענקה, שינוי וביטול של הרשאות גישה למשאבים.

gcloud

  1. פותחים את Cloud Shell, או אם Google Cloud CLI מותקן, פותחים חלון טרמינל.
  2. מזינים את הפקודה הרלוונטית gcloud:
    • אם אתם מעניקים גישה למשתמש, מריצים את הפקודה הבאה:
      gcloud endpoints services add-iam-policy-binding [SERVICE-NAME] \
        --member='user:[EMAIL-ADDRESS]' \
        --role='[ROLE]'

      מציינים את אחד מתפקידי ה-IAM הבאים:

      • roles/servicemanagement.configEditor: התפקיד הזה כולל את ההרשאות המינימליות שנדרשות ל-Service Management כדי לפרוס הגדרת Endpoints בשירות קיים.
      • roles/servicemanagement.admin: התפקיד הזה כולל את ההרשאות ב-roles/servicemanagement.configEditor,‏ roles/servicemanagement.serviceConsumer ו-roles/servicemanagement.serviceController, וגם את ההרשאות שנדרשות כדי להעניק גישה ל-API הזה באמצעות gcloud או באמצעות השיטות הפרוגרמטיות שמתוארות במאמר הענקת גישה למשאבים, שינוי הגישה וביטול הגישה.

      לדוגמה:

      gcloud endpoints services add-iam-policy-binding example-service-name \
        --member='user:example-user@gmail.com' \
        --role='roles/servicemanagement.admin'

    • אם מעניקים גישה לחשבון שירות, מריצים את הפקודה הבאה:
      gcloud endpoints services add-iam-policy-binding [SERVICE-NAME] \
        --member='serviceAccount:[EMAIL-ADDRESS]' \
        --role='[ROLE]'

      לדוגמה:

      gcloud endpoints services add-iam-policy-binding example-service-name \
        --member='serviceAccount:example-service-account@example-project.iam.gserviceaccount.com' \
        --role='roles/servicemanagement.configEditor'

    • אם מעניקים גישה לקבוצה ב-Google, מריצים את הפקודה הבאה:
      gcloud endpoints services add-iam-policy-binding [SERVICE-NAME] \
        --member='group:[GROUP-NAME]@googlegroups.com' \
        --role='[ROLE]'

      לדוגמה:

      gcloud endpoints services add-iam-policy-binding example-service-name \
        --member='group:example-group@googlegroups.com' \
        --role='roles/servicemanagement.configEditor'

  3. התפקידים בניהול שירותים לא מאפשרים למשתמשים לגשת לדף נקודות קצה > שירותים ב Google Cloud מסוף. אם רוצים לאפשר למשתמשים גישה לדף נקודות קצה > שירותים, צריך להקצות להם את התפקיד צפייה בפרויקט או תפקיד עם הרשאות גבוהות יותר בפרויקט. לפרטים נוספים, אפשר לעיין במאמר בנושא הענקה, שינוי וביטול של הרשאות גישה למשאבים.

ביטול הגישה

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

מסוףGoogle Cloud

  1. במסוף Google Cloud , נכנסים לדף Endpoints > Services של הפרויקט.

    לדף Endpoints Services

  2. אם יש לכם יותר מ-API אחד, לוחצים על שם ה-API.
  3. אם החלונית הצדדית הרשאות לא פתוחה, לוחצים על הרשאות.
  4. מאתרים את החבר שרוצים לבטל את הגישה שלו. אפשר ללחוץ על כרטיס התפקיד הרלוונטי כדי לראות רשימה של חברי הקבוצה, או להקליד שם או תפקיד בתיבה חיפוש חברים.
  5. לוחצים על מחיקה .
  6. אם רוצים גם לבטל את הגישה של משתמש לפרויקט Google Cloud, אפשר לקרוא את המאמר הענקה, שינוי וביטול גישה למשאבים.

gcloud

  1. פותחים את Cloud Shell, או אם ה-CLI של gcloud מותקן, פותחים חלון טרמינל.
  2. מזינים את הפקודה הרלוונטית gcloud:
    • כדי לבטל את הגישה של משתמש, מריצים את הפקודה הבאה:
      gcloud endpoints services remove-iam-policy-binding [SERVICE-NAME] \
        --member='user:[EMAIL-ADDRESS]' \
        --role='[ROLE-NAME]'

      לדוגמה:

      gcloud endpoints services remove-iam-policy-binding example-service-name \
        --member='user:example-user@gmail.com' \
        --role='roles/editor'
    • אם מבטלים את הגישה של חשבון שירות, מריצים את הפקודה הבאה:
      gcloud endpoints services remove-iam-policy-binding [SERVICE-NAME] \
        --member='serviceAccount:[EMAIL-ADDRESS]' \
        --role='[ROLE-NAME]'

      לדוגמה:

      gcloud endpoints services remove-iam-policy-binding example-service-name \
        --member='serviceAccount:example-service-account@example-project.iam.gserviceaccount.com' \
        --role='roles/servicemanagement.configEditor'
    • אם מבטלים את הגישה לקבוצה ב-Google, מריצים את הפקודה הבאה:
      gcloud endpoints services remove-iam-policy-binding [SERVICE-NAME] \
            --member='group:[GROUP-NAME]@googlegroups.com' \
            --role='[ROLE-NAME]'

      לדוגמה:

      gcloud endpoints services remove-iam-policy-binding example-service-name \
            --member='group:example-group@googlegroups.com' \
            --role='roles/viewer'
  3. אם רוצים גם לבטל את הגישה של משתמש לפרויקט Google Cloud, אפשר לקרוא את המאמר הענקה, שינוי וביטול גישה למשאבים.

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

מידע על: