Administratoren können in der Admin-Konsole benutzerdefinierte Administratorrollen erstellen, um bestimmten Personen oder Gruppen mit einer Education Plus-Lizenz Folgendes zu ermöglichen:
Sehen Sie sich Analysen in Classroom an, um Daten wie den Abschluss von Aufgaben, Notentrends und die Akzeptanz von Classroom besser zu verstehen.
Sie können vorübergehend auf Kurse in Classroom zugreifen, um Lehrkräfte zu unterstützen, Ankündigungen zu posten und vieles mehr, ohne als zusätzliche Lehrkraft zugewiesen zu werden.
In diesem Leitfaden wird erläutert, wie Sie diese Funktionen mithilfe von Google APIs in Ihrer Domain einrichten.
Zuweisung von benutzerdefinierten Rollen automatisieren
So automatisieren Sie die Zuweisung benutzerdefinierter Rollen:
- Erstellen Sie Sicherheitsgruppen, um Nutzer zu organisieren, die auf diese Features zugreifen können.
- Fügen Sie den Gruppen Mitglieder hinzu.
- Erstellen Sie eine benutzerdefinierte Administratorrolle, indem Sie die richtige Berechtigung auswählen.
- IDs der Organisationseinheiten abrufen
- Wenden Sie die benutzerdefinierte Administratorrolle auf die neu erstellten Gruppen an.
Voraussetzungen
- In den Kurzanleitungen erfahren Sie, wie Sie eine Anwendung mit Google APIs in Sprachen wie JavaScript, Python und Java einrichten und ausführen.
- Weitere Informationen finden Sie im Überblick über die Groups API.
- Bevor Sie eine der in diesem Leitfaden beschriebenen Cloud Identity APIs verwenden können, müssen Sie Cloud Identity einrichten. Diese APIs werden zum Erstellen von Gruppen verwendet, um Administratorberechtigungen zuzuweisen.
- Richten Sie die Google Groups API ein.
Sicherheitsgruppen erstellen
Erstellen Sie mit der Methode groups.create
eine Sicherheitsgruppe. 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 Sicherheitsgruppen erstellen.
POST https://cloudidentity.googleapis.com/v1/groups
Optional können Sie den Abfrageparameter InitialGroupConfig
angeben, um den Gruppeninhaber zu initialisieren:
POST https://cloudidentity.googleapis.com/v1/groups&initialGroupConfig={initialGroupConfig}
Für das Konto, von dem diese Anfrage stammt, 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. 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 Ressource Operation
.
{
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, können 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. Darüber hinaus 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 des neuen Mitglieds oder die eindeutige ID der Gruppe.
Das Konto, das die POST-Anfrage ausführt, benötigt einen der folgenden Bereiche:
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 member
, der erstellt werden soll.
{
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 als Batch zusammenfassen, um die Anzahl der HTTP-Verbindungen zu reduzieren, die der Client herstellen muss.
Privilegierte benutzerdefinierte Administratorrolle erstellen
Mit der Directory API können Sie die rollenbasierte Zugriffssteuerung (Role-Based Access Control, RBAC) verwenden, um den Zugriff auf Features in Ihrer Google Workspace-Domain zu verwalten. Sie können benutzerdefinierte Rollen mit Berechtigungen erstellen, um den Administratorzugriff spezifischer als die vordefinierten Rollen in Google Workspace einzuschränken. 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
Die customerId
ist mit der in Schritt 1 dieser Anleitung identisch.
Das Konto, über das die POST-Anfrage erstellt wird, benötigt folgenden Bereich:
https://www.googleapis.com/auth/admin.directory.rolemanagement
Anfragetext
Der Anfragetext enthält Details zum role
, der erstellt werden soll. Fügen Sie privilegeName
und serviceId
für jede Berechtigung hinzu, die mit dieser Rolle gewährt werden soll.
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
gesetzt 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 Kurs
Die Berechtigung ADMIN_OVERSIGHT_MANAGE_CLASSES
ist erforderlich, um eine benutzerdefinierte Rolle zu erstellen, die vorübergehend auf Klassen zugreifen kann. Dabei ist serviceId
auf 019c6y1840fzfkt
festgelegt.
{
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 Kurs
{
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
Es empfiehlt sich, eine Organisationseinheit für Schüler und eine Organisationseinheit für Lehrkräfte auszuwählen, wenn Sie einem bestimmten Nutzer oder einer Gruppe die benutzerdefinierte Administratorrolle zuweisen. Dadurch können Nutzer mit der benutzerdefinierten Administratorberechtigung auf Daten auf Schüler- und Kursebene für die Organisationseinheiten zugreifen. Wird die Organisationseinheit der Schüler/Studenten weggelassen, haben die ausgewählten Nutzer keinen Zugriff auf die Daten der Schüler. Wird die Organisationseinheit der Lehrkraft weggelassen, haben bestimmte Nutzer keinen Zugriff auf Daten auf Kursebene.
Vorübergehender Zugriff auf Kurs
Sie können temporäre Berechtigungen für den Zugriff auf Klassen beschrä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, bei denen sich die primäre Lehrkraft der Klasse in dieser Organisationseinheit befindet.
Benutzerdefinierte Administratorrolle zuweisen
Verwenden Sie die folgende POST-Anfrage, um einer Gruppe die benutzerdefinierte Administratorrolle zuzuweisen. Informationen zu den Limits für die Rollenzuweisung finden Sie in der Anleitung zu Einschränkungen für benutzerdefinierte Rollen und Rollen.
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 im Anfragetext das groupId
in das Feld assignedTo
ein. Die groupId
wurde im Schritt Sicherheitsgruppen erstellen abgerufen. Wenn Sie die Berechtigung einem einzelnen Nutzer zuweisen möchten, geben Sie die ID des Nutzers im Anfragetext in das Feld assignedTo
ein. Die Nutzer-ID kann durch Aufrufen von users.get
und Angabe der E-Mail-Adresse des Nutzers als userKey
-Parameter abgerufen werden oder durch Aufrufen von users.list
.
Das Konto, über das die POST-Anfrage erstellt wird, benötigt folgenden Bereich:
https://www.googleapis.com/auth/admin.directory.rolemanagement
Anfragetext
Der Anfragetext enthält Details zum RoleAssignment
, der erstellt werden soll. 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 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:
- Directory API: Übersicht
- Directory API-spezifische Authentifizierung und Autorisierung
- REST-Dokumentation zur Directory API
- Support für Admin SDK API-Entwickler