Administratoren können in der Admin-Konsole benutzerdefinierte Administratorrollen erstellen, um bestimmten Personen oder Gruppen mit einer Education Plus-Lizenz Folgendes zu ermöglichen:
Analysen in Classroom ansehen um Daten wie die Aufgabenerledigung, Notentrends und die Akzeptanz von Classroom zu verstehen.
Vorübergehend auf Kurse in Classroom zugreifen um Lehrkräfte zu unterstützen, Ankündigungen zu posten und mehr, ohne als zusätzliche Lehrkraft zugewiesen zu werden.
In dieser Anleitung wird beschrieben, wie Sie diese Funktionen in Ihrer Domain mit Google APIs einrichten.
Prozess der Zuweisung benutzerdefinierter Rollen automatisieren
So automatisieren Sie den Prozess der Zuweisung benutzerdefinierter Rollen:
- Erstellen Sie Sicherheitsgruppen, um Nutzer zu organisieren, die auf diese Funktionen zugreifen können.
- Fügen Sie den Gruppen Mitglieder hinzu.
- Erstellen Sie eine benutzerdefinierte Administratorrolle, indem Sie die richtige Berechtigung auswählen.
- Rufen Sie die IDs der Organisationseinheiten ab.
- Wenden Sie die benutzerdefinierte Administratorrolle auf die neu erstellten Gruppen an.
Vorbereitung
- Lesen Sie die Kurzanleitungen, um zu erfahren, wie Sie eine Anwendung mit Google APIs in Sprachen wie JavaScript, Python und Java einrichten und ausführen.
- Lesen Sie die Übersicht zur Groups API.
- Bevor Sie eine der in dieser Anleitung beschriebenen Cloud Identity APIs verwenden können, müssen Sie Cloud Identity einrichten. Diese APIs werden verwendet, um Gruppen zu erstellen und Administratorberechtigungen zuzuweisen.
- Richten Sie die Groups API ein.
Sicherheitsgruppen erstellen
Erstellen Sie eine Sicherheitsgruppe mit der groups.create
Methode. Eine Gruppe kann als Sicherheitsgruppe festgelegt werden, wenn das Sicherheitslabel im Feld labels der Anfrage enthalten ist. Weitere Informationen und
Einschränkungen zum Erstellen von Sicherheitsgruppen finden Sie in der Anleitung
Sicherheitsgruppen erstellen.
POST https://cloudidentity.googleapis.com/v1/groups
Optional können Sie den InitialGroupConfig
Abfrageparameter 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.groupshttps://www.googleapis.com/auth/cloud-identityhttps://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).
Informationen zum Abrufen Ihrer Kunden-ID.
{
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 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 beispielsweise group1 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 groupKey Pfadparameter ist die E-Mail-Adresse der Gruppe des neuen Mitglieds
oder die eindeutige ID der Gruppe.
Für das Konto, mit dem die POST-Anfrage gestellt wird, ist einer der folgenden Bereiche erforderlich:
https://apps-apis.google.com/a/feeds/groups/https://www.googleapis.com/auth/admin.directory.grouphttps://www.googleapis.com/auth/admin.directory.group.member
Anfragetext
Der Anfragetext enthält Details zum member
zu erstellenden.
{
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 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 bei der Rollen erstellung finden Sie unter den Einschränkungen bei benutzerdefinierten Rollen und der Rollenzuweisung.
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
Die customerId ist dieselbe wie in
Schritt 1 dieser Anleitung.
Für das Konto, mit dem die POST-Anfrage gestellt wird, ist der folgende Bereich erforderlich:
https://www.googleapis.com/auth/admin.directory.rolemanagement
Anfragetext
Der Anfragetext enthält Details zur role
zu erstellenden. Fügen Sie für jede Berechtigung, die mit dieser Rolle gewährt werden soll, eine privilegeName und eine 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 mit der privileges.list-Methode eine
Liste von privilegeIds und serviceIds ab.
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 der Organisationseinheiten abrufen
Sie können den Zugriff der benutzerdefinierten Administratorrolle mithilfe der ID der Organisationseinheit auf eine oder mehrere Organisationseinheiten beschränken. Verwenden Sie die
OrgUnit API, um die orgUnitId abzurufen.
Analysen in Classroom
Wir empfehlen, beim Zuweisen der benutzerdefinierten Administratorrolle zu einem bestimmten Nutzer oder einer bestimmten Gruppe eine Organisationseinheit für Schüler und eine Organisationseinheit für Lehrkräfte auszuwählen. So können Nutzer mit der benutzerdefinierten Administratorberechtigung auf Daten auf Schüler- und Kursebene für die Organisationseinheiten zugreifen. Wenn die Organisationseinheit für Schüler nicht angegeben wird, haben die zugewiesenen Nutzer keinen Zugriff auf Schülerdaten. Wenn die Organisationseinheit für Lehrkräfte nicht angegeben wird, haben die zugewiesenen Nutzer keinen Zugriff auf Daten auf Kursebene.
Vorübergehender Zugriff auf Kurse
Sie können die Berechtigungen für den vorübergehenden Zugriff auf Kurse 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 den Beschränkungen bei der Rollenzuweisung finden Sie unter Einschränkungen bei benutzerdefinierten Rollen und der Rollenzuweisung.
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, fügen Sie die groupId im Anfragetext in das Feld assignedTo ein. Das groupId wurde im
Schritt Sicherheitsgruppen erstellen abgerufen. Wenn Sie die Berechtigung 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 Parameter userKey angeben oder indem Sie
users.list aufrufen.
Für das Konto, mit dem die POST-Anfrage gestellt wird, ist der folgende Bereich erforderlich:
https://www.googleapis.com/auth/admin.directory.rolemanagement
Anfragetext
Der Anfragetext enthält Details zur
RoleAssignment zu erstellenden. Sie müssen eine Anfrage pro Organisationseinheit stellen, die Sie mit dieser Gruppe verknüpfen möchten.
{
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 der
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:
- Übersicht über die Directory API
- Authentifizierung und Autorisierung für die Directory API
- Directory API REST-Dokumentation
- Admin SDK API-Entwicklersupport