ניהול חברות בקבוצות Google

אחרי שיוצרים קבוצה, אפשר ליצור חברויות בה. בדף הזה מוסבר איך לבצע כמה פעולות בסיסיות שקשורות לחברות בקבוצות באמצעות Cloud Identity Groups API. איך יוצרים קבוצת Google

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

  • מפעילים את Cloud Identity API.

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

    כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאה serviceusage.services.enable. איך מקצים תפקידים

    להפעלת ה-API

  • מגדירים אימות ומתקינים את ספריות הלקוח. איך מגדירים את Cloud Identity Groups API

הוספת חברות בקבוצה ב-Google

REST

משתמשים בשיטה memberships.create כדי להוסיף חבר לקבוצה.

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • GROUP_ID: המזהה המספרי של הקבוצה שרוצים להוסיף לה חבר. כדי למצוא את המזהה של קבוצה אחת, משתמשים בשיטה groups.lookup. כדי לראות את כל מזהי הקבוצות של לקוח או מרחב שמות, משתמשים בשיטה groups.list.
  • MEMBER_ID: מזהה החבר. במקרה של ישויות שמנוהלות על ידי Google, משתמשים בכתובת האימייל של החבר. לגבי ישויות שממופות לזהויות חיצוניות, צריך להשתמש במחרוזת שעומדת בדרישות של מקור הזהויות.
  • ROLE_NAME: שם התפקיד שרוצים לתת לחבר. אפשר להשתמש ב-OWNER, ב-MANAGER או ב-MEMBER.
  • PROJECT_ID: המזהה האלפאנומרי של Google Cloud הפרויקט שרוצים להשתמש בו כדי לשלוח את הבקשה.

ה-method של ה-HTTP וכתובת ה-URL:

POST https://cloudidentity.googleapis.com/v1/groups/GROUP_ID/memberships

תוכן בקשת JSON:

{
  "preferredMemberKey": {
    "id": "MEMBER_ID"
  },
  "roles": [
    {
      "name": "MEMBER"
    }
  ]
}

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

התשובה מכילה Operation שמוסר את סטטוס הבקשה שלכם.

הפעולות שהסתיימו כוללות את החברות שנוספה. לדוגמה:

{
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.apps.cloudidentity.groups.v1.Membership",
    "name": "groups/GROUP_ID/memberships/123456789012345678901",
    "preferredMemberKey": {
      "id": "MEMBER_ID"
    },
    "roles": [
      {
        "name": "MEMBER"
      }
    ]
  }
}

אפשר גם להשתמש בשיטה memberships.create כדי להוסיף חבר כמנהל או כבעלים של הקבוצה:

  • כדי להגדיר מישהו כמנהל של הקבוצה, פועלים לפי ההליך להוספת חבר לקבוצה, אבל משתמשים בגוף הבקשה הבא:

    {
      "preferredMemberKey": {
        "id": "MEMBER_ID"
      },
      "roles": [
        {
          "name": "MEMBER"
        }
        {
          "name": "MANAGER"
        }
      ]
    }
  • כדי להגדיר מישהו כבעלים של הקבוצה, פועלים לפי ההליך להוספת חבר לקבוצה, אבל משתמשים בגוף הבקשה הבא:

    {
      "preferredMemberKey": {
        "id": "MEMBER_ID"
      },
      "roles": [
        {
          "name": "MEMBER"
        }
        {
          "name": "OWNER"
        }
      ]
    }

Python

הקוד הבא מראה איך מוסיפים חברות לקבוצה. ‫expiryDetail הוא שדה אופציונלי שאפשר להוסיף כדי להגדיר תפוגה לחברות. הערך של preferredMemberKey הוא כתובת האימייל של החבר.

def create_google_group_membership(service, identity_source_id, group_id, member_key):
  param = "&groupKey.id=" + group_id + "&groupKey.namespace=identitysources/" + identity_source_id
  try:
    lookupGroupNameRequest = service.groups().lookup()
    lookupGroupNameRequest.uri += param
    # Given a group ID and namespace, retrieve the ID for parent group
    lookupGroupNameResponse = lookupGroupNameRequest.execute()
    groupName = lookupGroupNameResponse.get("name")
    # Create a membership object with a memberKey and a single role of type MEMBER
    membership = {
      "preferredMemberKey": {"id": member_key},
      "roles" : {
        "name" : "MEMBER",
        "expiryDetail": {
          "expireTime": "2021-10-02T15:01:23Z"
        }
      }
    }
    # Create a membership using the ID for the parent group and a membership object
    response = service.groups().memberships().create(parent=groupName, body=membership).execute()
    print(response)
  except Exception as e:
    print(e)

הצגת החברות בקבוצת Google

REST

משתמשים בשיטה memberships.list כדי להציג את רשימת החברים בקבוצה.

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • GROUP_ID: המזהה המספרי של הקבוצה שרוצים לראות את רשימת החברים שלה. כדי למצוא את המזהה של קבוצה אחת, משתמשים בשיטה groups.lookup. כדי לראות את כל מזהי הקבוצות של לקוח או מרחב שמות, משתמשים בשיטה groups.list.
  • PROJECT_ID: המזהה האלפאנומרי של Google Cloud הפרויקט שרוצים להשתמש בו כדי לשלוח את הבקשה.

ה-method של ה-HTTP וכתובת ה-URL:

GET https://cloudidentity.googleapis.com/v1/groups/GROUP_ID/memberships

כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:

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

Python

הקוד הבא מציג את החברים בקבוצה:

def list_google_group_memberships(service, group_id):
  param = "&groupKey.id=" + group_id
  try:
    lookup_group_name_request = service.groups().lookup()
    lookup_group_name_request.uri += param
    lookup_group_name_response = lookup_group_name_request.execute()
    group_name = lookup_group_name_response.get("name")
    # List memberships
    response = service.groups().memberships().list(parent=group_name).execute()
    print(response)
  except Exception as e:
    print(e)