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

  • Enable the Cloud Identity API.

    Enable the API

  • 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-Gruppe aufnehmen

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 die Methode groups.lookup, um die ID einer einzelnen Gruppe zu ermitteln. Wenn Sie alle Gruppen-IDs unter einem Kunden oder Namespace aufrufen möchten, verwenden Sie die Methode groups.list.
  • MEMBER_ID: Die ID des Mitglieds. Verwenden Sie für von Google verwaltete Rechtssubjekte die E-Mail-Adresse des Mitglieds. Verwenden Sie für Entitäten, die mit externen Identitäten verknüpft sind, einen String, der den Anforderungen der Identitätsquelle entspricht.
  • ROLE_NAME: Der Name der Rolle, die Sie dem Mitglied zuweisen möchten. Verwenden Sie OWNER, MANAGER oder MEMBER.
  • PROJECT_ID: Die alphanumerische ID des Google Cloud -Projekts, mit dem Sie die Anfrage stellen 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:

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_ID" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://cloudidentity.googleapis.com/v1/groups/GROUP_ID/memberships"

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://cloudidentity.googleapis.com/v1/groups/GROUP_ID/memberships" | Select-Object -Expand Content

Kopieren Sie den Anfragetext und öffnen Sie die Referenzseite für Methoden. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Fügen Sie den Anfragetext in dieses Tool ein, füllen Sie alle Pflichtfelder aus und klicken Sie auf Ausführen.

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 auch die memberships.create-Methode verwenden, um ein Mitglied als Administrator oder Inhaber der Gruppe hinzuzufügen:

  • Wenn Sie jemanden zum Administrator der Gruppe machen möchten, gehen Sie wie beim Hinzufügen eines Mitglieds vor, verwenden Sie aber den folgenden Anfragetext:

    {
      "preferredMemberKey": {
        "id": "MEMBER_ID"
      },
      "roles": [
        {
          "name": "MEMBER"
        }
        {
          "name": "MANAGER"
        }
      ]
    }
  • Wenn Sie jemanden zum Inhaber der Gruppe machen möchten, gehen Sie so vor, wie Sie der Gruppe ein Mitglied hinzufügen. Verwenden Sie dabei jedoch den folgenden Requestbody:

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

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-Gruppe auflisten

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, für die Sie Mitglieder auflisten möchten. Verwenden Sie die Methode groups.lookup, um die ID einer einzelnen Gruppe zu ermitteln. Wenn Sie alle Gruppen-IDs unter einem Kunden oder Namespace aufrufen möchten, verwenden Sie die Methode groups.list.
  • PROJECT_ID: Die alphanumerische ID des Google Cloud -Projekts, mit dem Sie die Anfrage stellen 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:

Führen Sie folgenden Befehl aus:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_ID" \
"https://cloudidentity.googleapis.com/v1/groups/GROUP_ID/memberships"

Führen Sie folgenden Befehl aus:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://cloudidentity.googleapis.com/v1/groups/GROUP_ID/memberships" | Select-Object -Expand Content

Öffnen Sie die Methodenreferenzseite. Der API Explorer wird rechts auf der Seite geöffnet. Sie können mit diesem Tool interagieren, um Anfragen zu senden. Füllen Sie die Pflichtfelder aus und klicken Sie auf Ausführen.

Die Antwort enthält ein Array mit allen Mitgliedern in der Gruppe und ihren Rollen.

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)