Google 그룹스 멤버십 관리
그룹이 존재하면 그룹의 멤버십을 만들 수 있습니다. 이 페이지에서는 Cloud Identity Groups API를 사용하여 기본적인 멤버십 작업을 수행하는 방법을 설명합니다. Google 그룹을 만드는 방법은 Google 그룹스 만들기 및 검색하기를 참조하세요.
시작하기 전에
Enable the Cloud Identity API.
인증을 설정하고 클라이언트 라이브러리를 설치합니다. 자세한 내용은 Cloud Identity Groups API 설정을 참조하세요.
Google 그룹에 멤버십 추가
REST
memberships.create
메서드를 사용하여 그룹에 멤버를 추가합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
-
GROUP_ID
: 멤버를 추가할 그룹의 숫자 ID입니다. 단일 그룹의 ID를 찾으려면groups.lookup
메서드를 사용합니다. 고객 또는 네임스페이스 아래의 모든 그룹 ID를 보려면groups.list
메서드를 사용합니다. -
MEMBER_ID
: 멤버의 ID입니다. Google 관리 항목의 경우 멤버의 이메일 주소를 사용합니다. 외부 ID 매핑 항목의 경우 ID 소스 요구사항을 충족하는 문자열을 사용합니다. -
ROLE_NAME
: 멤버에게 부여할 역할의 이름입니다.OWNER
,MANAGER
,MEMBER
을 사용합니다. -
PROJECT_ID
: 요청을 실행하는 데 사용할 Google Cloud 프로젝트의 영숫자 ID입니다.
HTTP 메서드 및 URL:
POST https://cloudidentity.googleapis.com/v1/groups/GROUP_ID/memberships
JSON 요청 본문:
{ "preferredMemberKey": { "id": "MEMBER_ID" }, "roles": [ { "name": "MEMBER" } ] }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
응답에는 요청의 상태를 나타내는 Operation
이 포함됩니다.
완료된 작업에는 추가된 멤버십이 포함됩니다. 예를 들면 다음과 같습니다.
{ "done": true, "response": { "@type": "type.googleapis.com/google.apps.cloudidentity.groups.v1.Membership", "name": "groups/GROUP_ID/memberships/123456789012345678901", "preferredMemberKey": { "id": "MEMBER_ID" }, "roles": [ { "name": "MEMBER" } ] } }
memberships.create
메서드를 사용하여 멤버를 그룹의 관리자 또는 소유자로 추가할 수도 있습니다.
누군가를 그룹의 관리자로 지정하려면 절차에 따라 그룹에 멤버를 추가하되 다음 요청 본문을 사용합니다.
{ "preferredMemberKey": { "id": "MEMBER_ID" }, "roles": [ { "name": "MEMBER" } { "name": "MANAGER" } ] }
누군가를 그룹 소유자로 지정하려면 절차에 따라 그룹에 멤버를 추가하되 다음 요청 본문을 사용합니다.
{ "preferredMemberKey": { "id": "MEMBER_ID" }, "roles": [ { "name": "MEMBER" } { "name": "OWNER" } ] }
Python
다음 코드는 그룹에 멤버십을 추가하는 방법을 보여줍니다.
expiryDetail
은 멤버십 만료를 설정하기 위해 추가할 수 있는 필드(선택사항)입니다. preferredMemberKey
값은 멤버의 이메일 주소입니다.
def create_google_group_membership(service, identity_source_id, group_id, member_key):
param = "&groupKey.id=" + group_id + "&groupKey.namespace=identitysources/" + identity_source_id
try:
lookupGroupNameRequest = service.groups().lookup()
lookupGroupNameRequest.uri += param
# Given a group ID and namespace, retrieve the ID for parent group
lookupGroupNameResponse = lookupGroupNameRequest.execute()
groupName = lookupGroupNameResponse.get("name")
# Create a membership object with a memberKey and a single role of type MEMBER
membership = {
"preferredMemberKey": {"id": member_key},
"roles" : {
"name" : "MEMBER",
"expiryDetail": {
"expireTime": "2021-10-02T15:01:23Z"
}
}
}
# Create a membership using the ID for the parent group and a membership object
response = service.groups().memberships().create(parent=groupName, body=membership).execute()
print(response)
except Exception as e:
print(e)
Google 그룹의 멤버십 나열
REST
memberships.list
메서드를 사용하여 그룹 멤버를 나열합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
-
GROUP_ID
: 멤버를 나열할 그룹의 숫자 ID입니다. 단일 그룹의 ID를 찾으려면groups.lookup
메서드를 사용합니다. 고객 또는 네임스페이스 아래의 모든 그룹 ID를 보려면groups.list
메서드를 사용합니다. -
PROJECT_ID
: 요청을 실행하는 데 사용할 Google Cloud 프로젝트의 영숫자 ID입니다.
HTTP 메서드 및 URL:
GET https://cloudidentity.googleapis.com/v1/groups/GROUP_ID/memberships
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
응답에는 그룹 내 모든 멤버의 배열과 해당 역할이 포함됩니다.
Python
다음 코드는 그룹의 멤버십을 나열합니다.
def list_google_group_memberships(service, group_id):
param = "&groupKey.id=" + group_id
try:
lookup_group_name_request = service.groups().lookup()
lookup_group_name_request.uri += param
lookup_group_name_response = lookup_group_name_request.execute()
group_name = lookup_group_name_response.get("name")
# List memberships
response = service.groups().memberships().list(parent=group_name).execute()
print(response)
except Exception as e:
print(e)