관리자는 관리 콘솔에서 맞춤 관리자 역할을 만들어 Education Plus 라이선스가 있는 특정 개인 또는 그룹이 다음 작업을 할 수 있도록 허용할 수 있습니다.
클래스룸 분석을 확인하여 과제 완료, 성적 추세, 클래스룸 채택률과 같은 데이터를 파악합니다.
클래스룸의 수업에 일시적으로 액세스하여 교육자를 지원하고, 공지사항을 게시하는 등 작업을 할 수 있습니다. 이때 영구 공동 교사로 할당되지 않아도 됩니다.
이 가이드에서는 Google API를 사용하여 도메인에서 이러한 기능을 설정하는 방법을 설명합니다.
맞춤 역할 할당 프로세스 자동화
맞춤 역할 할당 프로세스를 자동화하려면 다음 단계를 따르세요.
- 보안 그룹을 만들어 이러한 기능에 액세스할 수 있는 사용자를 구성합니다.
- 그룹에 회원을 추가합니다.
- 올바른 권한을 선택하여 맞춤 관리자 역할을 만듭니다.
- 조직 단위 ID를 가져옵니다.
- 새로 만든 그룹에 맞춤 관리자 역할을 적용합니다.
기본 요건
- 빠른 시작 가이드에서 JavaScript, Python, Java와 같은 언어로 Google API를 사용하여 애플리케이션을 설정하고 실행하는 방법을 알아보세요.
- Groups API 개요를 읽어보세요.
- 이 가이드에 설명된 Cloud ID API를 사용하려면 먼저 Cloud ID를 설정해야 합니다. 이러한 API는 관리자 권한을 할당할 그룹을 만드는 데 사용됩니다.
- 그룹스 API 설정
보안 그룹 만들기
groups.create
메서드로 보안 그룹을 만듭니다. 보안 라벨이 요청의 labels
필드에 포함된 경우 그룹을 보안 그룹으로 설정할 수 있습니다. 보안 그룹 만들기에 관한 자세한 내용과 제한사항은 보안 그룹 만들기 가이드를 참고하세요.
POST https://cloudidentity.googleapis.com/v1/groups
원하는 경우 InitialGroupConfig
쿼리 매개변수를 포함하여 그룹 소유자를 초기화할 수 있습니다.
POST https://cloudidentity.googleapis.com/v1/groups&initialGroupConfig={initialGroupConfig}
이 요청을 실행하는 계정에는 다음 범위 중 하나가 필요합니다.
https://www.googleapis.com/auth/cloud-identity.groups
https://www.googleapis.com/auth/cloud-identity
https://www.googleapis.com/auth/cloud-platform
요청 본문
요청 본문에는 생성할 그룹의 세부정보가 포함됩니다. customerId
는 'C'로 시작해야 합니다(예: C046psxkn
). 고객 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": ""
}
}
응답
응답에는 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": ""
}
}
}
그룹 구성원 추가
그룹을 만든 후에는 다음 단계로 회원을 추가합니다. 그룹 구성원은 사용자 또는 다른 보안 그룹일 수 있습니다. 그룹을 다른 그룹의 구성원으로 추가하면 멤버십이 적용되는 데 최대 10분이 걸릴 수 있습니다. 또한 API는 그룹 멤버십의 순환에 관한 오류를 반환합니다. 예를 들어 group1
가 group2
의 구성원인 경우 group2
는 group1
의 구성원이 될 수 없습니다.
그룹에 멤버를 추가하려면 다음 POST 요청을 사용합니다.
Directory API members.insert
:
POST https://admin.googleapis.com/admin/directory/v1/groups/{groupKey}/members
groupKey
경로 매개변수는 새 회원의 그룹 이메일 주소 또는 그룹의 고유 ID입니다.
POST 요청을 실행하는 계정에는 다음 범위 중 하나가 필요합니다.
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
요청 본문
요청 본문에는 생성할 member
의 세부정보가 포함됩니다.
{
email: "person_one@example.com",
role: "MEMBER", // can be `MEMBER`, `OWNER`, `MANAGER`
}
응답
응답에는 새 구성원 인스턴스가 포함됩니다.
{
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"
}
구성원으로 추가하려는 모든 사용자에 대해 이 요청을 해야 합니다. 이러한 요청을 일괄 처리하여 클라이언트에서 설정해야 할 HTTP 연결 수를 줄일 수 있습니다.
권한이 있는 맞춤 관리자 역할 만들기
Directory API를 사용하면 역할 기반 액세스 제어 (RBAC)를 통해 Google Workspace 도메인의 기능에 대한 액세스를 관리할 수 있습니다. 권한이 있는 맞춤 역할을 만들어 Google Workspace에 제공된 사전 빌드된 역할보다 더 구체적으로 관리자 액세스를 제한할 수 있습니다. 사용자 또는 보안 그룹에 역할을 할당할 수 있습니다. 역할 생성의 제한사항에 관한 자세한 내용은 커스텀 역할 및 역할 할당 제한사항을 참고하세요.
새 역할을 만들려면 다음 POST 요청을 사용하세요.
Directory API roles.insert
:
POST https://admin.googleapis.com/admin/directory/v1/customer/{customer}/roles
customerId
는 이 가이드의 1단계에서 사용된 것과 동일합니다.
POST 요청을 실행하는 계정에는 다음 범위가 필요합니다.
https://www.googleapis.com/auth/admin.directory.rolemanagement
요청 본문
요청 본문에는 생성할 role
의 세부정보가 포함됩니다. 이 역할로 부여해야 하는 각 권한에 privilegeName
및 serviceId
를 추가합니다.
클래스룸 분석
애널리틱스 데이터에 액세스할 수 있는 맞춤 역할을 만들려면 EDU_ANALYTICS_DATA_ACCESS
권한과 함께 serviceId
(019c6y1840fzfkt
로 설정)가 필요합니다.
{
roleName: "Education Admin", // customize as needed
roleDescription: "Access to view analytics data", // customize as needed
rolePrivileges: [
{
privilegeName: "EDU_ANALYTICS_DATA_ACCESS",
serviceId: "019c6y1840fzfkt"
}
]
}
임시 수업 액세스
클래스에 일시적으로 액세스할 수 있는 커스텀 역할을 만들려면 ADMIN_OVERSIGHT_MANAGE_CLASSES
권한과 함께 serviceId
를 019c6y1840fzfkt
로 설정해야 합니다.
{
roleName: "Education Admin", // customize as needed
roleDescription: "Access to manage classes privilege", // customize as needed
rolePrivileges: [
{
privilegeName: "ADMIN_OVERSIGHT_MANAGE_CLASSES",
serviceId: "019c6y1840fzfkt"
}
]
}
privileges.list
메서드를 호출하여 privilegeIds
및 serviceIds
목록을 검색합니다.
응답
응답에 역할의 새 인스턴스가 포함됩니다.
클래스룸 분석
{
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
}
임시 수업 액세스
{
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
}
조직 단위 ID 검색
조직 단위 ID를 사용하여 하나 이상의 조직 단위에 대한 맞춤 관리자 역할의 액세스를 제한할 수 있습니다. OrgUnit API를 사용하여 orgUnitId
를 가져옵니다.
클래스룸 분석
특정 사용자 또는 그룹에 맞춤 관리자 역할을 할당할 때는 학생 조직 단위 및 교사 조직 단위를 선택하는 것이 좋습니다. 이렇게 하면 맞춤 관리자 권한으로 지정된 사용자가 조직 단위의 학생 및 수업 수준 데이터에 액세스할 수 있습니다. 학생 조직 단위를 생략하면 지정된 사용자가 학생 데이터에 액세스할 수 없습니다. 교사 조직 단위를 생략하면 지정된 사용자가 수업 수준 데이터에 액세스할 수 없습니다.
임시 수업 액세스
맞춤 관리자 역할이 있는 사용자가 특정 조직 단위의 수업에 액세스하도록 허용하여 일시적인 수업 액세스 권한을 제한할 수 있습니다. 조직 단위에 대한 액세스를 제한하는 경우 맞춤 관리자 역할이 할당된 그룹은 수업의 담당 교사가 해당 조직 단위에 있는 수업에만 액세스할 수 있습니다.
맞춤 관리자 역할 할당하기
그룹에 맞춤 관리자 역할을 할당하려면 다음 POST 요청을 사용하세요. 역할 할당 한도에 관한 안내는 커스텀 역할 및 역할 할당 제한사항을 참고하세요.
Directory API roleAssignments.insert
:
POST https://admin.googleapis.com/admin/directory/v1/customer/{customer}/roleassignments
그룹 또는 개별 사용자에게 할당
그룹에 권한을 할당하는 경우 요청 본문의 assignedTo
필드에 groupId
를 포함합니다. groupId
는 보안 그룹 만들기 단계에서 가져왔습니다. 개별 사용자에게 권한을 할당하는 경우 요청 본문의 assignedTo
필드에 사용자의 ID를 포함합니다. 사용자의 ID는 users.get
를 호출하고 사용자의 이메일 주소를 userKey
매개변수로 지정하거나 users.list
를 호출하여 가져올 수 있습니다.
POST 요청을 실행하는 계정에는 다음 범위가 필요합니다.
https://www.googleapis.com/auth/admin.directory.rolemanagement
요청 본문
요청 본문에는 생성할 RoleAssignment
의 세부정보가 포함되어 있습니다. 이 그룹과 연결할 조직 단위별로 요청을 한 번씩 해야 합니다.
{
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
}
응답
응답에는 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>"
}
리소스
추가 정보는 다음을 참고하세요.