Mitgliedschaften für Google Groups verwalten
Sobald eine Gruppe vorhanden ist, können Sie Mitgliedschaften für die Gruppe erstellen. Auf dieser Seite wird erläutert, wie Sie einige grundlegende Mitgliedschaftsvorgänge mit der Cloud Identity Groups API ausführen. Weitere Informationen zum Erstellen von Google-Gruppen finden Sie unter Google Groups-Gruppen erstellen und suchen.
Hinweis
Aktivieren Sie die Cloud Identity API.
Erforderliche Rollen zum Aktivieren von APIs
Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (
roles/serviceusage.serviceUsageAdmin), die die Berechtigungserviceusage.services.enableenthält. Weitere Informationen zum Zuweisen von Rollen.Richten Sie die Authentifizierung ein und installieren Sie die Clientbibliotheken. Wie Sie dabei vorgehen, erfahren Sie unter Cloud Identity Groups API einrichten.
Mitgliedschaft in eine Google Groups-Gruppe aufnehmen
REST
Verwenden Sie die Methode memberships.create, um einer Gruppe ein Mitglied hinzuzufügen.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
-
GROUP_ID: Die numerische ID der Gruppe, der Sie ein Mitglied hinzufügen möchten. Verwenden Sie diegroups.lookupMethode, um die ID einer einzelnen Gruppe zu finden. Verwenden Sie diegroups.listMethode, um alle Gruppen-IDs unter einem Kunden oder Namespace aufzurufen. -
MEMBER_ID: Die ID des Mitglieds. Verwenden Sie für von Google verwaltete Entitäten die E-Mail-Adresse des Mitglieds. Verwenden Sie für Entitäten, die einer externen Identität zugeordnet sind, einen String, der die Anforderungen der Identitätsquelle erfüllt. -
ROLE_NAME: Der Name der Rolle, die Sie dem Mitglied zuweisen möchten. Verwenden SieOWNER,MANAGERoderMEMBER. -
PROJECT_ID: Die alphanumerische ID des Google Cloud Projekts, das Sie für die Anfrage verwenden möchten.
HTTP-Methode und URL:
POST https://cloudidentity.googleapis.com/v1/groups/GROUP_ID/memberships
JSON-Text anfordern:
{
"preferredMemberKey": {
"id": "MEMBER_ID"
},
"roles": [
{
"name": "MEMBER"
}
]
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Die Antwort enthält ein Operation
, das den Status Ihrer Anfrage angibt.
Abgeschlossene Vorgänge enthalten die hinzugefügte Mitgliedschaft. Beispiel:
{
"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"
}
]
}
}
Sie können die Methode memberships.create auch verwenden, um ein Mitglied als Administrator oder Inhaber der Gruppe hinzuzufügen:
Wenn Sie eine Person zum Administrator der Gruppe machen möchten, folgen Sie der Anleitung zum Hinzufügen eines Mitglieds zur Gruppe, verwenden Sie aber den folgenden Anfragetext:
{ "preferredMemberKey": { "id": "MEMBER_ID" }, "roles": [ { "name": "MEMBER" } { "name": "MANAGER" } ] }
Wenn Sie eine Person zum Inhaber der Gruppe machen möchten, folgen Sie der Anleitung zum Hinzufügen eines Mitglieds zur Gruppe, verwenden Sie aber den folgenden Anfragetext:
{ "preferredMemberKey": { "id": "MEMBER_ID" }, "roles": [ { "name": "MEMBER" } { "name": "OWNER" } ] }
Python
Der folgende Code zeigt, wie Sie einer Gruppe eine Mitgliedschaft hinzufügen.
expiryDetail ist ein optionales Feld, das hinzugefügt werden kann, um eine Ablauffrist für die Mitgliedschaft festzulegen. Der Wert von preferredMemberKey ist die E-Mail-Adresse des Mitglieds.
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)
Mitgliedschaften einer Google Groups-Gruppe auflisten
REST
Verwenden Sie die Methode memberships.list, um die Mitglieder einer Gruppe aufzulisten.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
-
GROUP_ID: Die numerische ID der Gruppe, deren Mitglieder Sie auflisten möchten. Verwenden Sie diegroups.lookupMethode, um die ID einer einzelnen Gruppe zu finden. Verwenden Sie diegroups.listMethode, um alle Gruppen-IDs unter einem Kunden oder Namespace aufzurufen. -
PROJECT_ID: Die alphanumerische ID des Google Cloud Projekts, das Sie für die Anfrage verwenden möchten.
HTTP-Methode und URL:
GET https://cloudidentity.googleapis.com/v1/groups/GROUP_ID/memberships
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Die Antwort enthält ein Array mit allen Mitgliedern der Gruppe und ihren Rollen.
Python
Der folgende Code listet die Mitgliedschaften einer Gruppe auf:
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)