Domainadministratoren haben mehrere Steuerelemente, mit denen sie Funktionen und Anwendungen verwalten können, auf die Nutzer in ihrer Domain zugreifen können. Auf dieser Seite werden diese Funktionen beschrieben, wie sie sich auf eine externe Integration auswirken oder für diese nützlich sein können, sowie relevante API-Anfragen.
Zugriff auf Drittanbieter-Apps für Nutzer unter 18 Jahren verwalten
Administratoren müssen Drittanbieter-Apps in der Admin-Konsole für Nutzer unter 18 Jahren konfigurieren. Wenn ein Administrator eine Anwendung nicht konfiguriert hat, können Nutzer unter 18 Jahren mit ihrem Google Workspace for Education-Konto nicht auf diese Anwendung zugreifen.
Entwickler, die Anwendungen für Google Workspace for Education-Nutzer unter 18 Jahren entwickeln, müssen nichts weiter unternehmen. Die Konfiguration von Drittanbieter-Apps kann nur von Administratoren über die Admin-Konsole erfolgen und nicht programmatisch.
Benutzerdefinierte Administratorrollen für Classroom-Funktionen festlegen
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 Classroom-Analysen an, um Daten wie den Fortschritt bei Aufgaben, Notentrends und die Akzeptanz von Classroom zu erhalten.
Sie können vorübergehend auf Kurse in Classroom zugreifen, ohne eine dauerhafte zusätzliche Lehrkraft zuzuweisen.
In diesem Leitfaden erfahren Sie, wie Sie diese Funktionen in Ihrer Domain mithilfe von Google APIs einrichten.
Zuweisung von benutzerdefinierten Rollen automatisieren
In dieser Anleitung erfahren Sie, wie Sie die folgenden Schritte ausführen, um die Zuweisung benutzerdefinierter Rollen zu automatisieren:
- Erstellen Sie Sicherheitsgruppen, um Nutzer zu organisieren, die auf diese Funktionen zugreifen können.
- Fügen Sie den Gruppen Mitglieder hinzu.
- Wählen Sie die richtige Berechtigung aus, um eine benutzerdefinierte Administratorrolle zu erstellen.
- IDs der Organisationseinheiten abrufen
- Wenden Sie die benutzerdefinierte Administratorrolle auf die neu erstellten Gruppen an.
Vorbereitung
- In den Kurzanleitungen erfahren Sie, wie Sie eine Anwendung mit Google APIs in Sprachen wie JavaScript, Python und Java einrichten und ausführen.
- Bevor Sie eine der in diesem Leitfaden beschriebenen Cloud Identity APIs verwenden können, müssen Sie Cloud Identity einrichten. Mit diesen APIs werden Gruppen erstellt, um Administratorberechtigungen zuzuweisen.
- Lesen Sie den Hilfeartikel Übersicht über die Groups API und richten Sie die Groups API ein, wenn Sie einer Gruppe von Nutzern statt einem einzelnen Nutzer Zugriff auf benutzerdefinierte Rollen gewähren möchten.
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 zum Erstellen von Sicherheitsgruppen finden Sie im Leitfaden Sicherheitsgruppen erstellen.
POST https://cloudidentity.googleapis.com/v1/groups
Optional können Sie den Abfrageparameter InitialGroupConfig
einschließen, um den Gruppeninhaber zu initialisieren:
POST https://cloudidentity.googleapis.com/v1/groups&initialGroupConfig={initialGroupConfig}
Für das Konto, das diese Anfrage stellt, 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, fügen Sie im nächsten Schritt Mitglieder hinzu. 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
kein Mitglied von group1
sein.
Wenn Sie einer Gruppe ein Mitglied hinzufügen möchten, verwenden Sie die folgende POST-Anfrage an die Methode members.insert
der Directory API:
POST https://admin.googleapis.com/admin/directory/v1/groups/{groupKey}/members
Der Pfadparameter groupKey
ist die E-Mail-Adresse der Gruppe des neuen Mitglieds oder die eindeutige ID der Gruppe.
Für das Konto, das die POST-Anfrage sendet, 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 zur 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. Du kannst diese Anfragen in einem Batch senden, um die Anzahl der HTTP-Verbindungen zu reduzieren, die dein 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 spezifischer einzuschränken als mit den vordefinierten Rollen in Google Workspace. 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 an die Methode roles.insert
der Directory API, um eine neue Rolle zu erstellen:
POST https://admin.googleapis.com/admin/directory/v1/customer/{customer}/roles
customerId
ist mit dem Wert identisch, der in Schritt 1 dieser Anleitung verwendet wurde.
Für das Konto, das die POST-Anfrage sendet, ist der folgende Umfang erforderlich:
https://www.googleapis.com/auth/admin.directory.rolemanagement
Anfragetext
Der Anfragetext enthält Details zur zu erstellenden role
. Fügen Sie für jedes Berechtigung, das mit dieser Rolle gewährt werden soll, eine privilegeName
und eine serviceId
hinzu.
Analysen in Classroom
Das Berechtigungslevel 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"
}
]
}
Temporärer Zugriff auf Kurse
Das Berechtigungslevel 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
}
Temporärer 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 Organisationseinheits-ID auf eine oder mehrere Organisationseinheiten beschränken. Verwenden Sie die OrgUnit API, um die orgUnitId
abzurufen.
Analysen in Classroom
Es wird empfohlen, eine Organisationseinheit für Schüler/Studenten und eine Organisationseinheit für Lehrkräfte auszuwählen, wenn Sie einer bestimmten Person oder Gruppe die benutzerdefinierte Administratorrolle zuweisen. So erhalten Nutzer mit dem benutzerdefinierten Administratorprivileg Zugriff auf Daten auf Schüler-/Studenten- und Kursebene für die Organisationseinheiten. Wenn die Organisationseinheit für Schüler/Studenten weggelassen wird, haben die benannten Nutzer keinen Zugriff auf die Daten der Schüler/Studenten. Wenn die Organisationseinheit des Lehrers weggelassen wird, haben die benannten Nutzer keinen Zugriff auf Daten auf Kursebene.
Temporärer 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 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 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 das Berechtigung einer Gruppe zuweisen, geben Sie im Anfragetext das groupId
in das Feld assignedTo
ein. Die groupId
wurde im Schritt Sicherheitsgruppen erstellen ermittelt. Wenn Sie das Berechtigung einem einzelnen Nutzer zuweisen, geben Sie die ID des Nutzers im Feld assignedTo
im Anfragetext an. Die ID des Nutzers kann abgerufen werden, indem du users.get
aufrufst und die E-Mail-Adresse des Nutzers als userKey
-Parameter angibst oder users.list
aufrufst.
Für das Konto, das die POST-Anfrage sendet, ist der folgende Umfang erforderlich:
https://www.googleapis.com/auth/admin.directory.rolemanagement
Anfragetext
Der Anfragetext enthält Details zur zu erstellenden RoleAssignment
. 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 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 hier:
- Directory API – Übersicht
- Directory API-spezifische Authentifizierung und Autorisierung
- REST-Dokumentation der Directory API
- Entwicklersupport für die Admin SDK API