Benutzerdefinierte Administratorrollen für Classroom-Funktionen festlegen

Administratoren können in der Admin-Konsole benutzerdefinierte Administratorrollen erstellen, damit bestimmte Personen oder Gruppen mit einer Education Plus-Lizenz Folgendes tun können:

In dieser Anleitung erfahren Sie, wie Sie diese Funktionen in Ihrer Domain mithilfe von Google-APIs einrichten.

Prozess zur Zuweisung benutzerdefinierter Rollen automatisieren

So automatisieren Sie die Zuweisung benutzerdefinierter Rollen:

  1. Erstellen Sie Sicherheitsgruppen, um Nutzer zu organisieren, die auf diese Funktionen zugreifen können.
  2. Fügen Sie den Gruppen Mitglieder hinzu.
  3. Erstellen Sie eine benutzerdefinierte Administratorrolle, indem Sie die richtige Berechtigung auswählen.
  4. Organisationseinheits-IDs abrufen
  5. Weisen Sie den neu erstellten Gruppen die benutzerdefinierte Administratorrolle zu.

Vorbereitung

  1. In den Kurzanleitungen erfahren Sie, wie Sie eine Anwendung mit Google-APIs in Sprachen wie JavaScript, Python und Java einrichten und ausführen.
  2. Lesen Sie die Groups API-Übersicht.
  3. Bevor Sie eine der in dieser Anleitung beschriebenen Cloud Identity APIs verwenden können, müssen Sie Cloud Identity einrichten. Mit diesen APIs werden Gruppen erstellt, denen Administratorberechtigungen zugewiesen werden.
  4. Richten Sie die Google Groups API ein.

Sicherheitsgruppen erstellen

Erstellen Sie eine Sicherheitsgruppe mit der Methode groups.create. Eine Gruppe kann als Sicherheitsgruppe festgelegt werden, wenn das Sicherheitslabel im Feld labels der Anfrage enthalten ist. Weitere Informationen und Einschränkungen beim Erstellen von Sicherheitsgruppen finden Sie im Leitfaden zum Erstellen von Sicherheitsgruppen.

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

Optional können Sie den Abfrageparameter InitialGroupConfig einfügen, um den Gruppeninhaber zu initialisieren:

POST https://cloudidentity.googleapis.com/v1/groups&initialGroupConfig={initialGroupConfig}

Für das Konto, mit dem diese Anfrage gestellt wird, ist einer der folgenden Bereiche erforderlich:

  • https://www.googleapis.com/auth/cloud-identity.groups
  • https://www.googleapis.com/auth/cloud-identity
  • https://www.googleapis.com/auth/cloud-platform

Anfragetext

Der Anfragetext enthält Details zur zu erstellenden Gruppe. Die customerId muss mit „C“ beginnen, z. B. C046psxkn. Kundennummer ermitteln

{
   parent: "customers/<customer-id>",
   description: "This is the leadership group of school A.",
   displayName: "Leadership School A",
   groupKey: {
      id: "leadership_school_a@example.com"
   },
   labels: {
      "cloudidentity.googleapis.com/groups.security": "",
      "cloudidentity.googleapis.com/groups.discussion_forum": ""
   }
}

Antwort

Die Antwort enthält eine neue Instanz der Operation-Ressource.

{
   done: true,
   response: {
      @type: "type.googleapis.com/google.apps.cloudidentity.groups.v1.Group",
      name: "groups/<group-id>", // unique group ID
      groupKey: {
         id: "leadership_school_a@example.com" // group email address
      },
      parent: "customers/<customer-id>",
      displayName: "Leadership School A",
      description: "This is the leadership group of school A.",
      createTime: "<created time>",
      updateTime: "<updated time>",
      labels: {
         "cloudidentity.googleapis.com/groups.security": "",
         "cloudidentity.googleapis.com/groups.discussion_forum": ""
      }
   }
}

Gruppenmitglieder hinzufügen

Nachdem Sie die Gruppe erstellt haben, müssen Sie im nächsten Schritt Mitglieder hinzufügen. Ein Gruppenmitglied kann ein Nutzer oder eine andere Sicherheitsgruppe sein. Wenn Sie eine Gruppe als Mitglied einer anderen Gruppe hinzufügen, kann es bis zu 10 Minuten dauern, bis die Mitgliedschaft übernommen wird. Außerdem gibt die API einen Fehler für Zyklen in Gruppenmitgliedschaften zurück. Wenn group1 beispielsweise Mitglied von group2 ist, kann group2 nicht Mitglied von group1 sein.

Verwenden Sie die folgende POST-Anfrage, um einer Gruppe ein Mitglied hinzuzufügen.

Directory API members.insert:

POST https://admin.googleapis.com/admin/directory/v1/groups/{groupKey}/members

Der Pfadparameter groupKey ist die Gruppen-E-Mail-Adresse oder die eindeutige ID des neuen Mitglieds.

Für das Konto, mit dem die POST-Anfrage gesendet wird, ist einer der folgenden Bereiche erforderlich:

  • https://apps-apis.google.com/a/feeds/groups/
  • https://www.googleapis.com/auth/admin.directory.group
  • https://www.googleapis.com/auth/admin.directory.group.member

Anfragetext

Der Anfragetext enthält Details zum zu erstellenden member.

{
   email: "person_one@example.com",
   role: "MEMBER", // can be `MEMBER`, `OWNER`, `MANAGER`
}

Antwort

Die Antwort enthält die neue Instanz des Mitglieds.

{
   kind: "admin#directory#member",
   etag: "<etag-value>", // role's unique ETag
   id: "4567", // group member's unique ID
   email: "person_one@example.com",
   role: "MEMBER",
   type: "GROUP",
   status: "ACTIVE"
}

Diese Anfrage muss für jeden Nutzer gestellt werden, den Sie als Mitglied hinzufügen möchten. Sie können diese Anfragen in einem Batch zusammenfassen, um die Anzahl der HTTP-Verbindungen zu reduzieren, die Ihr Client herstellen muss.

Benutzerdefinierte Administratorrolle mit Berechtigungen erstellen

Mit der Directory API können Sie die rollenbasierte Zugriffssteuerung (Role-Based Access Control, RBAC) verwenden, um den Zugriff auf Funktionen in Ihrer Google Workspace-Domain zu verwalten. Sie können benutzerdefinierte Rollen mit Berechtigungen erstellen, um den Administratorzugriff genauer einzuschränken als mit den vordefinierten Rollen, die in Google Workspace enthalten sind. Sie können Nutzern oder Sicherheitsgruppen Rollen zuweisen. Weitere Informationen zu den Einschränkungen beim Erstellen von Rollen finden Sie unter Einschränkungen für benutzerdefinierte Rollen und Rollenzuweisungen.

Verwenden Sie die folgende POST-Anfrage, um eine neue Rolle zu erstellen.

Directory API roles.insert:

POST https://admin.googleapis.com/admin/directory/v1/customer/{customer}/roles

Der customerId ist derselbe wie in Schritt 1 dieser Anleitung.

Für das Konto, mit dem die POST-Anfrage gesendet wird, ist der folgende Bereich erforderlich:

  • https://www.googleapis.com/auth/admin.directory.rolemanagement

Anfragetext

Der Anfragetext enthält Details zum zu erstellenden role. Fügen Sie für jede Berechtigung, die mit dieser Rolle gewährt werden soll, ein privilegeName und ein serviceId hinzu.

Analysen in Classroom

Die Berechtigung EDU_ANALYTICS_DATA_ACCESS ist erforderlich, um eine benutzerdefinierte Rolle zu erstellen, die auf Analysedaten zugreifen kann. Außerdem muss serviceId auf 019c6y1840fzfkt festgelegt sein.

{
   roleName: "Education Admin", // customize as needed
   roleDescription: "Access to view analytics data", // customize as needed
   rolePrivileges: [
      {
         privilegeName: "EDU_ANALYTICS_DATA_ACCESS",
         serviceId: "019c6y1840fzfkt"
      }
   ]
}

Vorübergehender Zugriff auf Kurse

Die Berechtigung ADMIN_OVERSIGHT_MANAGE_CLASSES ist erforderlich, um eine benutzerdefinierte Rolle zu erstellen, die vorübergehend auf Kurse zugreifen kann. Außerdem muss serviceId auf 019c6y1840fzfkt festgelegt sein.

{
   roleName: "Education Admin", // customize as needed
   roleDescription: "Access to manage classes privilege", // customize as needed
   rolePrivileges: [
      {
         privilegeName: "ADMIN_OVERSIGHT_MANAGE_CLASSES",
         serviceId: "019c6y1840fzfkt"
      }
   ]
}

Rufen Sie die Methode privileges.list auf, um eine Liste von privilegeIds und serviceIds abzurufen.

Antwort

Die Antwort enthält die neue Instanz der Rolle.

Analysen in Classroom

{
   kind: "admin#directory#role",
   etag: "<etag-value>",  // role's unique ETag
   roleId: "<role-id>",   // role's unique ID
   roleName: "Education Admin",
   roleDescription: "Access to view analytics data",
   rolePrivileges: [
      {
         privilegeName: "EDU_ANALYTICS_DATA_ACCESS",
         serviceId: "019c6y1840fzfkt"
      }
   ],
   isSystemRole: false,
   isSuperAdminRole: false
}

Vorübergehender Zugriff auf Kurse

{
   kind: "admin#directory#role",
   etag: "<etag-value>",  // role's unique ETag
   roleId: "<role-id>",   // role's unique ID
   roleName: "Education Admin",
   roleDescription: "Access to manage classes privilege",
   rolePrivileges: [
      {
         privilegeName: "ADMIN_OVERSIGHT_MANAGE_CLASSES",
         serviceId: "019c6y1840fzfkt"
      }
   ],
   isSystemRole: false,
   isSuperAdminRole: false
}

IDs von Organisationseinheiten abrufen

Sie können den Zugriff der benutzerdefinierten Administratorrolle mithilfe der Organisations-ID auf eine oder mehrere Organisationseinheiten beschränken. Verwenden Sie die OrgUnit API, um die orgUnitId abzurufen.

Analysen in Classroom

Es wird empfohlen, beim Zuweisen der benutzerdefinierten Administratorrolle zu einem bestimmten Nutzer oder einer bestimmten Gruppe eine Organisationseinheit für Schüler/Studenten und eine Organisationseinheit für Lehrkräfte auszuwählen. Dadurch erhalten Nutzer mit der benutzerdefinierten Administratorberechtigung Zugriff auf Daten auf Schüler-/Studenten- und Kursebene für die Organisationseinheiten. Wenn die Organisationseinheit für Schüler und Studenten ausgelassen wird, haben die entsprechenden Nutzer keinen Zugriff auf Schüler- und Studentendaten. Wenn die Organisationseinheit für Lehrkräfte weggelassen wird, haben die betreffenden Nutzer keinen Zugriff auf Daten auf Kursebene.

Vorübergehender Zugriff auf Kurse

Sie können die Berechtigungen für den vorübergehenden Kurszugriff einschränken, indem Sie Nutzern mit der benutzerdefinierten Administratorrolle Zugriff auf Kurse in bestimmten Organisationseinheiten gewähren. Wenn Sie den Zugriff auf eine Organisationseinheit einschränken, kann die Gruppe, der die benutzerdefinierte Administratorrolle zugewiesen ist, nur auf Kurse zugreifen, deren primäre Lehrkraft zu dieser Organisationseinheit gehört.

Benutzerdefinierte Administratorrolle zuweisen

Verwenden Sie die folgende POST-Anfrage, um die benutzerdefinierte Administratorrolle einer Gruppe zuzuweisen. Informationen zu Rollenzuweisungslimits finden Sie in den Einschränkungen für benutzerdefinierte Rollen und Rollenzuweisungen.

Directory API roleAssignments.insert:

POST https://admin.googleapis.com/admin/directory/v1/customer/{customer}/roleassignments

Einer Gruppe oder einem einzelnen Nutzer zuweisen

Wenn Sie die Berechtigung einer Gruppe zuweisen, geben Sie groupId im Feld assignedTo im Anfragetext an. Die groupId wurde im Schritt Sicherheitsgruppen erstellen abgerufen. Wenn Sie das Recht einem einzelnen Nutzer zuweisen, fügen Sie die ID des Nutzers im Anfragetext in das Feld assignedTo ein. Die ID des Nutzers kann abgerufen werden, indem Sie users.get aufrufen und die E-Mail-Adresse des Nutzers als userKey-Parameter angeben oder indem Sie users.list aufrufen.

Für das Konto, mit dem die POST-Anfrage gesendet wird, ist der folgende Bereich erforderlich:

  • https://www.googleapis.com/auth/admin.directory.rolemanagement

Anfragetext

Der Anfragetext enthält Details zum zu erstellenden RoleAssignment. Sie müssen für jede Organisationseinheit, die Sie mit dieser Gruppe verknüpfen möchten, eine Anfrage stellen.

{
   roleId: "<role-id>",        // role's unique ID obtained from Step 3
   assignedTo: "<id>",         // group ID or user ID
   scopeType: "ORG_UNIT",      // can be `ORG_UNIT` or `CUSTOMER`
   orgUnitId: "<org-unit-id>"  // organizational unit ID referenced in Step 4
}

Antwort

Die Antwort enthält die neue Instanz von RoleAssignment.

{
   kind: "admin#directory#roleAssignment",
   etag: "<etag-value>",
   roleAssignmentId: "<role-assignment-id>",
   roleId: "<role-id>",
   assignedTo: "<group-id or user-id>",
   assigneeType: "GROUP",
   scopeType: "ORG_UNIT",
   orgUnitId: "<org-unit-id>"
}

Ressourcen

Weitere Informationen finden Sie unter: