ניהול חברות בקבוצות Google
אחרי שיוצרים קבוצה, אפשר ליצור חברויות בה. בדף הזה מוסבר איך לבצע כמה פעולות בסיסיות שקשורות לחברות בקבוצות באמצעות Cloud Identity Groups API. איך יוצרים קבוצת Google
לפני שמתחילים
מפעילים את Cloud Identity API.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידיםמגדירים אימות ומתקינים את ספריות הלקוח. איך מגדירים את 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)