Administratorzy domeny mają kilka opcji zarządzania funkcjami i aplikacjami, do których użytkownicy w ich domenie mają dostęp. Na tej stronie opisujemy te funkcje, ich wpływ na integrację zewnętrzną i przydatność w jej przypadku oraz odpowiednie żądania interfejsu API.
Zarządzanie dostępem do aplikacji innych firm dla użytkowników poniżej 18 roku życia
Administratorzy muszą skonfigurować aplikacje innych firm w konsoli administracyjnej Google dla użytkowników poniżej 18 roku życia. Jeśli administrator nie skonfiguruje aplikacji, użytkownicy poniżej 18 roku życia nie będą mogli korzystać z niej na swoich kontach Google Workspace for Education.
Deweloperzy tworzący aplikacje dla użytkowników Google Workspace for Education poniżej 18 roku życia nie muszą nic robić. Konfigurowanie aplikacji innych firm jest możliwe tylko w interfejsie konsoli administracyjnej i nie można tego zrobić programowo.
Wyznaczanie niestandardowych ról administratora dla funkcji Classroom
Administratorzy mogą tworzyć niestandardowe role administratora w konsoli administracyjnej, aby umożliwić określonym osobom lub grupom z licencją Education Plus:
Wyświetlaj funkcje analityczne Classroom, aby poznać dane takie jak wskaźniki ukończenia projektów, trendy w ocenach i wykorzystanie Classroom.
Tymczasowy dostęp do zajęć w Classroom bez przypisywania stałego nauczyciela współprowadzącego.
Z tego przewodnika dowiesz się, jak skonfigurować te funkcje w domenie za pomocą interfejsów API Google.
Automatyzowanie procesu przypisywania ról niestandardowych
Z tego przewodnika dowiesz się, jak wykonać te czynności, aby zautomatyzować proces przypisywania ról niestandardowych:
- Utwórz grupy zabezpieczeń, aby uporządkować użytkowników, którzy mogą korzystać z tych funkcji.
- Dodaj członków do grup.
- Utwórz niestandardową rolę administratora, wybierając odpowiednie uprawnienia.
- pobieranie identyfikatorów jednostek organizacyjnych,
- Zastosuj niestandardową rolę administratora do nowo utworzonych grup.
Wymagania wstępne
- Zapoznaj się z przewodnikami dla początkujących, aby dowiedzieć się, jak skonfigurować i uruchomić aplikację korzystającą z interfejsów API Google w językach takich jak JavaScript, Python i Java.
- Zanim zaczniesz korzystać z interfejsów Cloud Identity API opisanych w tym przewodniku, musisz skonfigurować Cloud Identity. Te interfejsy API służą do tworzenia grup w celu przypisywania uprawnień administratora.
- Jeśli chcesz przyznać dostęp do roli niestandardowej grupie użytkowników zamiast pojedynczemu użytkownikowi, zapoznaj się z omówieniem interfejsu Groups API i skonfiguruj interfejs Groups API.
Tworzenie grup zabezpieczeń
Utwórz grupę zabezpieczeń za pomocą metody groups.create
. Grupę można ustawić jako grupę zabezpieczeń, gdy etykieta zabezpieczeń jest uwzględniona w polu labels
żądania. Więcej informacji o tworzeniu grup zabezpieczeń i ograniczeniach z tym związanych znajdziesz w przewodniku Tworzenie grup zabezpieczeń.
POST https://cloudidentity.googleapis.com/v1/groups
Opcjonalnie możesz dodać parametr zapytania InitialGroupConfig
, aby zainicjować właściciela grupy:
POST https://cloudidentity.googleapis.com/v1/groups&initialGroupConfig={initialGroupConfig}
Konto, z którego wysyłana jest ta prośba, musi mieć jeden z tych zakresów:
https://www.googleapis.com/auth/cloud-identity.groups
https://www.googleapis.com/auth/cloud-identity
https://www.googleapis.com/auth/cloud-platform
Treść żądania
Treść żądania zawiera szczegóły grupy, która ma zostać utworzona. customerId
Musi zaczynać się od litery „C” (np. C046psxkn
). Znajdź identyfikator klienta
{
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": ""
}
}
Odpowiedź
Odpowiedź zawiera nową instancję zasobu 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": ""
}
}
}
Dodaj członków grupy
Po utworzeniu grupy kolejnym krokiem jest dodanie członków. Członkiem grupy może być użytkownik lub inna grupa zabezpieczeń. Jeśli dodasz grupę jako członka innej grupy, propagacja członkostwa może potrwać do 10 minut. Dodatkowo interfejs API zwraca błąd w przypadku cykli w członkostwie w grupach. Jeśli np. group1
jest członkiem grupy group2
, group2
nie może być członkiem grupy group1
.
Aby dodać członka do grupy, użyj poniższego żądania POST w metodzie members.insert
interfejsu Directory API:
POST https://admin.googleapis.com/admin/directory/v1/groups/{groupKey}/members
Parametr ścieżki groupKey
to adres e-mail grupy nowego członka lub unikalny identyfikator grupy.
Konto, które wysyła żądanie POST, musi mieć jeden z tych zakresów:
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
Treść żądania
Treść żądania zawiera szczegóły member
, który ma zostać utworzony.
{
email: "person_one@example.com",
role: "MEMBER", // can be `MEMBER`, `OWNER`, `MANAGER`
}
Odpowiedź
Odpowiedź zawiera nową instancję członka.
{
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"
}
Tę prośbę należy wysłać w przypadku każdego użytkownika, którego chcesz dodać jako członka. Możesz grupować te żądania, aby zmniejszyć liczbę połączeń HTTP, które musi nawiązać klient.
Tworzenie niestandardowej roli administratora z uprawnieniami
Interfejs Directory API umożliwia zarządzanie dostępem do funkcji w domenie Google Workspace za pomocą kontroli dostępu opartej na rolach (RBAC). Możesz tworzyć role niestandardowe z uprawnieniami, aby bardziej szczegółowo ograniczać dostęp administratora niż w przypadku gotowych ról dostępnych w Google Workspace. Role możesz przypisywać użytkownikom lub grupom zabezpieczeń. Szczegółowe informacje o ograniczeniach dotyczących tworzenia ról znajdziesz w artykule Ograniczenia dotyczące ról niestandardowych i przypisywania ról.
Aby utworzyć nową rolę, użyj tego żądania POST w metodzie roles.insert
interfejsu Directory API:
POST https://admin.googleapis.com/admin/directory/v1/customer/{customer}/roles
Symbol customerId
jest taki sam jak w kroku 1 tego przewodnika.
Konto, z którego wysłano żądanie POST, musi mieć ten zakres:
https://www.googleapis.com/auth/admin.directory.rolemanagement
Treść żądania
Treść żądania zawiera szczegóły role
, który ma zostać utworzony. Dodaj właściwości privilegeName
i serviceId
dla każdego uprawnienia, które powinno być przyznane w ramach tej roli.
Funkcje analityczne Classroom
Uprawnienie EDU_ANALYTICS_DATA_ACCESS
jest wymagane do utworzenia roli niestandardowej, która może uzyskiwać dostęp do danych analitycznych, a uprawnienie serviceId
musi mieć wartość 019c6y1840fzfkt
.
{
roleName: "Education Admin", // customize as needed
roleDescription: "Access to view analytics data", // customize as needed
rolePrivileges: [
{
privilegeName: "EDU_ANALYTICS_DATA_ACCESS",
serviceId: "019c6y1840fzfkt"
}
]
}
Tymczasowy dostęp do zajęć
Uprawnienie ADMIN_OVERSIGHT_MANAGE_CLASSES
jest wymagane do utworzenia roli niestandardowej, która może tymczasowo uzyskiwać dostęp do zajęć, a także do ustawienia serviceId
na 019c6y1840fzfkt
.
{
roleName: "Education Admin", // customize as needed
roleDescription: "Access to manage classes privilege", // customize as needed
rolePrivileges: [
{
privilegeName: "ADMIN_OVERSIGHT_MANAGE_CLASSES",
serviceId: "019c6y1840fzfkt"
}
]
}
Aby pobrać listę privilegeIds
i serviceIds
, wywołaj metodę privileges.list
.
Odpowiedź
Odpowiedź zawiera nową instancję roli.
Funkcje analityczne 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
}
Tymczasowy dostęp do zajęć
{
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
}
Pobieranie identyfikatorów jednostek organizacyjnych
Możesz ograniczyć dostęp niestandardowej roli administratora do co najmniej 1 jednostki organizacyjnej, używając identyfikatora jednostki organizacyjnej. Użyj interfejsu OrgUnit API, aby pobrać orgUnitId
.
Funkcje analityczne Classroom
Zalecamy wybranie jednostki organizacyjnej uczniów i jednostki organizacyjnej nauczycieli podczas przypisywania niestandardowej roli administratora do konkretnego użytkownika lub grupy. Dzięki temu użytkownicy z niestandardowymi uprawnieniami administratora będą mieli dostęp do danych na poziomie uczniów i zajęć w jednostkach organizacyjnych. Jeśli jednostka organizacyjna ucznia zostanie pominięta, wyznaczeni użytkownicy nie będą mieć dostępu do danych uczniów. Jeśli jednostka organizacyjna nauczyciela zostanie pominięta, wyznaczeni użytkownicy nie będą mieli dostępu do danych na poziomie klasy.
Tymczasowy dostęp do zajęć
Możesz ograniczyć uprawnienia do tymczasowego dostępu do zajęć, przyznając użytkownikom z niestandardową rolą administratora dostęp do zajęć w określonych jednostkach organizacyjnych. Jeśli ograniczysz dostęp do jednostki organizacyjnej, grupa, której przypisano rolę administratora niestandardowego, będzie mieć dostęp tylko do zajęć, w przypadku których nauczyciel główny jest w tej jednostce organizacyjnej.
Przypisywanie niestandardowej roli administratora
Aby przypisać niestandardową rolę administratora do grupy, użyj tego żądania POST. Limity przypisywania ról znajdziesz w wytycznych dotyczących ograniczeń ról niestandardowych i przypisywania ról.
Directory API roleAssignments.insert
:
POST https://admin.googleapis.com/admin/directory/v1/customer/{customer}/roleassignments
Przypisywanie do grupy lub poszczególnego użytkownika
Jeśli chcesz przypisać uprawnienie do grupy, w treści żądania w polu assignedTo
umieść groupId
. Wartość groupId
została uzyskana w kroku Tworzenie grup zabezpieczeń. Jeśli chcesz przypisać uprawnienia konkretnemu użytkownikowi, w treści żądania w polu assignedTo
podaj jego identyfikator. Identyfikator użytkownika można uzyskać, wywołując funkcję users.get
i podając adres e-mail użytkownika jako parametr userKey
lub wywołując funkcję users.list
.
Konto, z którego wysłano żądanie POST, musi mieć ten zakres:
https://www.googleapis.com/auth/admin.directory.rolemanagement
Treść żądania
Treść żądania zawiera szczegóły RoleAssignment
, który ma zostać utworzony. Musisz przesłać 1 prośbę na każdą jednostkę organizacyjną, którą chcesz powiązać z tą grupą.
{
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
}
Odpowiedź
Odpowiedź zawiera nową instancję 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>"
}
Zasoby
Więcej informacji znajdziesz na tych stronach:
- Omówienie interfejsu Directory API
- Uwierzytelnianie i autoryzacja w interfejsie Directory API
- Dokumentacja interfejsu Directory API REST
- Pomoc dla programistów w zakresie interfejsu API pakietu Admin SDK